diff --git a/FFMPEG_NOTES.md b/FFMPEG_NOTES.md new file mode 100644 index 0000000..da70ae1 --- /dev/null +++ b/FFMPEG_NOTES.md @@ -0,0 +1,36 @@ +# FFmpeg Configuration Notes for Video Converter Project + +This document details the `ffmpeg` settings and considerations used within the Video Converter project, especially concerning DaVinci Resolve compatibility. + +## Current Default Conversion Settings (as of 2025-10-31) + +The project currently uses the following `ffmpeg` settings for converting video files to DaVinci Resolve compatible formats (Free Linux version, targeting 1080p60 and 1440p60): + +* **Video Codec:** `dnxhd` (DNxHD/HR) + * **Profile for 1080p (<=1080 height):** `dnxhr_hq` (DNxHR High Quality) + * **Profile for 1440p (>1080 height):** `dnxhr_hqx` (DNxHR High Quality X) + * **Pixel Format:** `yuv422p` (4:2:2 chroma subsampling, 8-bit) - *Note: The `dnxhr_hq` and `dnxhr_hqx` profiles inherently imply 10-bit where applicable, but `yuv422p` is a common base.* +* **Audio Codec:** `pcm_s16le` (Linear PCM, 16-bit signed little-endian) +* **Container:** `.mov` (QuickTime) + +### Example `ffmpeg` Command Structure (simplified): + +```bash +ffmpeg -i input.mp4 -c:v dnxhd -profile:v dnxhr_hqx -pix_fmt yuv422p -c:a pcm_s16le output.mov +``` + +## Rationale for Choices: + +* **`dnxhd` codec:** Chosen for its excellent compatibility and performance as an intermediate editing codec in DaVinci Resolve, especially on Linux. It provides high quality and is an intraframe codec. +* **`dnxhr_hq` / `dnxhr_hqx` profiles:** Selected to ensure high-quality output suitable for professional editing, balancing file size and visual fidelity. `dnxhr_hqx` offers even higher quality for higher resolutions. +* **`pcm_s16le` audio:** Used to avoid known compatibility issues with AAC audio in DaVinci Resolve on Linux, ensuring reliable audio playback. PCM is uncompressed and lossless. +* **`.mov` container:** Recommended for its robustness and better metadata handling with DaVinci Resolve for intermediate files. + +## Alternative Approaches / Future Considerations: + +* **ProRes:** While `ffmpeg` can encode ProRes, its use on Linux with DaVinci Resolve Free might be limited or require specific `ffmpeg` builds/licenses. It could be an alternative if `dnxhd` proves problematic or if a user specifically requests it. +* **High-Quality H.264/H.265:** For scenarios where file size is a primary concern and editing performance is secondary (e.g., proxy generation or final delivery), high-bitrate H.264/H.265 could be considered. However, these are interframe codecs and generally less ideal for direct editing. +* **Pixel Format:** Further investigation into `yuv422p10le` (10-bit 4:2:2) might be warranted if the source is 10-bit and the target Davinci Resolve version fully supports it for `dnxhd` in the free version. + +--- +*Document generated by Gemini CLI Agent.* \ No newline at end of file