# 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`