Log in

View Full Version : FFMPEG transfer from "MKV" (ProRes/DNxHD) to "MOV" container.


Helg1980
1st September 2020, 20:16
Hi!

I encountered the following problem:

I need to transfer video files encoded by ProRes and DNxHD from the "MKV" container to the native "MOV" container.

When I copy a video from the "MKV" container to the "MOV" container, the following metadata is NOT saved:

Color range (Limited)
Color primaries (bt2020)
Transfer characteristics (PQ)
Matrix coefficients (bt2020nc)

This as I noticed happens for codecs DNxHD and ProRes, but for example for codec H265 this error is not present.

Please tell me how to save this metadata for the "MOV" container with the ProRes and DNxHD codecs.

ffmpeg 4.3 (on Manjaro Linux)
How to reproduce:

$ ffmpeg -i "temp_prores_file.mkv" \
-map 0:0 -c:v copy -c:a copy \
-y "output_prores_file.mov"

excellentswordfight
2nd September 2020, 08:13
Hi!

I encountered the following problem:

I need to transfer video files encoded by ProRes and DNxHD from the "MKV" container to the native "MOV" container.

When I copy a video from the "MKV" container to the "MOV" container, the following metadata is NOT saved:

Color range (Limited)
Color primaries (bt2020)
Transfer characteristics (PQ)
Matrix coefficients (bt2020nc)

This as I noticed happens for codecs DNxHD and ProRes, but for example for codec H265 this error is not present.

Please tell me how to save this metadata for the "MOV" container with the ProRes and DNxHD codecs.

ffmpeg 4.3 (on Manjaro Linux)
How to reproduce:

$ ffmpeg -i "temp_prores_file.mkv" \
-map 0:0 -c:v copy -c:a copy \
-y "output_prores_file.mov"
Not sure for DNxHD or HDR, but I've had issues with gettings the correct flags for Prores and mov using ffmpeg in the past and had to set them manually.

E.g. 709
-movflags +write_colr -color_primaries bt709 -color_trc bt709 -colorspace bt709

Helg1980
3rd September 2020, 15:36
Thanks!

For me working command:

ffmpeg -hide_banner -i "{temp_file}" -map 0:0 -movflags +write_colr -c:v copy -map 0:a -c:a copy -y "{output_file}"