Files

2.0 KiB

Encoding Settings Changelog

This document tracks changes to the encoding settings used by videnc over time.

Version 1.0 - Initial Release (2025-10-04)

Universal Settings

These settings are applied to all videos regardless of source material:

  • Video Codec: libsvtav1 (AV1)
  • Pixel Format: yuv420p10le
  • Preset: 4 (universal setting)
  • enable-overlays: 1 (enabled for all encodings)
  • enable-qm: 1 (enabled for all encodings)
  • qm-min: 0
  • qm-max: 15
  • scd: 1 (scene change detection enabled)
  • film-grain-denoise: 1 (enabled for all encodings)
  • tune: 0 (default tuning)

Variable Settings

These settings vary based on video characteristics:

Resolution-Based Settings

  • CRF: 30 for videos < 1 MPixel, 28 for videos >= 1 MPixel
  • film-grain: 10 for videos < 1 MPixel, 5 for videos >= 1 MPixel

Source Material Dependent Settings

These settings are conditionally applied based on the characteristics of the source video:

  • Deinterlacing: Applied when isInterlaced is detected

    • Filter: bwdif=mode=0
  • Anamorphic Correction: Applied when isAnamorphic is detected

    • Filter chain: scale=iw*sar:ih:lanczos,setsar=1,scale=-2:ih:lanczos
  • Keyframe Interval: Dynamically calculated based on video FPS

    • Value: Math.round(videoInfo.fps * 5)

Audio Settings

  • Audio Codec: libopus for all audio streams
  • Channel Layout: Preserved from source (with special handling for sideloaded audio)
  • Language Metadata: Preserved for each stream
  • Disposition: English audio tracks set as default

Subtitle Settings

  • Subtitle Handling: Copy (no re-encoding)
  • Language Metadata: Preserved for each stream
  • Disposition: Finnish subtitle tracks set as default

Metadata Handling

  • Metadata Stripping: Original metadata is stripped (-map_metadata -1)
  • Custom Metadata: Added from OMDB API or user input
  • Encoding Version: Added as ENCODING_VERSION=1.0