[FFmpeg-trac] #6042(avformat:new): "-c:v copy" loses "color_transfer" and "color_primaries" metadata on Matroska files

FFmpeg trac at avcodec.org
Sat Dec 24 02:44:13 EET 2016


#6042: "-c:v copy" loses "color_transfer" and "color_primaries" metadata on
Matroska files
----------------------------------+--------------------------------------
             Reporter:  kagami    |                     Type:  defect
               Status:  new       |                 Priority:  normal
            Component:  avformat  |                  Version:  git-master
             Keywords:            |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+--------------------------------------
 {{{
 $ youtube-dl -f 337 -o hdr.webm tO01J-M3g0U

 $ ffprobe -show_streams hdr.webm | grep color
 ffprobe version N-82915-g03ce71e Copyright (c) 2007-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (Gentoo 5.4.0 p1.0, pie-0.6.5)
   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
 --docdir=/usr/share/doc/ffmpeg-9999/html --mandir=/usr/share/man --enable-
 shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++
 --ar=x86_64-pc-linux-gnu-ar --optflags='-march=corei7-avx -O2 -pipe
 -I/opt/cuda/include -I/opt/cuda/include -I/opt/cuda/include
 -I/opt/cuda/include' --disable-static --enable-avfilter --enable-
 avresample --disable-stripping --enable-cuda --enable-cuvid --enable-
 nonfree --enable-nonfree --disable-indev=v4l2 --disable-outdev=v4l2
 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-
 bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt
 --disable-gnutls --disable-gmp --enable-gpl --enable-hardcoded-tables
 --enable-iconv --disable-lzma --enable-network --enable-openssl --enable-
 postproc --disable-libsmbclient --enable-ffplay --enable-sdl2 --disable-
 vaapi --enable-vdpau --enable-xlib --enable-libxcb --enable-libxcb-shm
 --enable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-
 libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal
 --enable-opengl --disable-libv4l2 --disable-libpulse --disable-
 libopencore-amrwb --disable-libopencore-amrnb --disable-libfdk-aac
 --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-
 libgme --disable-libgsm --disable-mmal --disable-libmodplug --enable-
 libopus --disable-libilbc --disable-librtmp --disable-libssh --disable-
 libschroedinger --disable-libspeex --enable-libvorbis --enable-libvpx
 --disable-libzvbi --disable-libbs2b --disable-chromaprint --disable-
 libflite --disable-frei0r --disable-libfribidi --enable-fontconfig
 --disable-ladspa --enable-libass --enable-libfreetype --disable-
 librubberband --disable-libzimg --disable-libsoxr --enable-pthreads
 --disable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar
 --enable-nvenc --disable-libopenh264 --disable-libsnappy --disable-
 libtheora --disable-libtwolame --disable-libwavpack --disable-libwebp
 --enable-libx264 --enable-libx265 --disable-libxvid --disable-amd3dnow
 --disable-amd3dnowext --disable-avx2 --disable-fma3 --disable-fma4
 --disable-xop --cpu=corei7-avx --disable-doc --disable-htmlpages --enable-
 manpages
   libavutil      55. 43.100 / 55. 43.100
   libavcodec     57. 70.100 / 57. 70.100
   libavformat    57. 61.100 / 57. 61.100
   libavdevice    57.  2.100 / 57.  2.100
   libavfilter     6. 68.100 /  6. 68.100
   libavresample   3.  2.  0 /  3.  2.  0
   libswscale      4.  3.101 /  4.  3.101
   libswresample   2.  4.100 /  2.  4.100
   libpostproc    54.  2.100 / 54.  2.100
 Input #0, matroska,webm, from 'hdr.webm':
   Metadata:
     encoder         : google
   Duration: 00:02:34.54, start: 0.000000, bitrate: 18404 kb/s
     Stream #0:0(eng): Video: vp9 (Profile 2), yuv420p10le(tv,
 bt2020nc/bt2020/smpte2084), 3840x2160, SAR 1:1 DAR 16:9, 59.94 fps, 59.94
 tbr, 1k tbn, 1k tbc (default)
     Side data:
       Mastering Display Metadata, has_primaries:1 has_luminance:1
 r(0.6800,0.3200) g(0.2649,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290)
 min_luminance=0.001000, max_luminance=1000.000000
 color_range=tv
 color_space=unknown
 color_transfer=smpte2084
 color_primaries=bt2020

 $ ffmpeg -i hdr.webm -c:v copy remux.webm
 ffmpeg version N-82915-g03ce71e Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (Gentoo 5.4.0 p1.0, pie-0.6.5)
   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
 --docdir=/usr/share/doc/ffmpeg-9999/html --mandir=/usr/share/man --enable-
 shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++
 --ar=x86_64-pc-linux-gnu-ar --optflags='-march=corei7-avx -O2 -pipe
 -I/opt/cuda/include -I/opt/cuda/include -I/opt/cuda/include
 -I/opt/cuda/include' --disable-static --enable-avfilter --enable-
 avresample --disable-stripping --enable-cuda --enable-cuvid --enable-
 nonfree --enable-nonfree --disable-indev=v4l2 --disable-outdev=v4l2
 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-
 bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt
 --disable-gnutls --disable-gmp --enable-gpl --enable-hardcoded-tables
 --enable-iconv --disable-lzma --enable-network --enable-openssl --enable-
 postproc --disable-libsmbclient --enable-ffplay --enable-sdl2 --disable-
 vaapi --enable-vdpau --enable-xlib --enable-libxcb --enable-libxcb-shm
 --enable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-
 libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal
 --enable-opengl --disable-libv4l2 --disable-libpulse --disable-
 libopencore-amrwb --disable-libopencore-amrnb --disable-libfdk-aac
 --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-
 libgme --disable-libgsm --disable-mmal --disable-libmodplug --enable-
 libopus --disable-libilbc --disable-librtmp --disable-libssh --disable-
 libschroedinger --disable-libspeex --enable-libvorbis --enable-libvpx
 --disable-libzvbi --disable-libbs2b --disable-chromaprint --disable-
 libflite --disable-frei0r --disable-libfribidi --enable-fontconfig
 --disable-ladspa --enable-libass --enable-libfreetype --disable-
 librubberband --disable-libzimg --disable-libsoxr --enable-pthreads
 --disable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar
 --enable-nvenc --disable-libopenh264 --disable-libsnappy --disable-
 libtheora --disable-libtwolame --disable-libwavpack --disable-libwebp
 --enable-libx264 --enable-libx265 --disable-libxvid --disable-amd3dnow
 --disable-amd3dnowext --disable-avx2 --disable-fma3 --disable-fma4
 --disable-xop --cpu=corei7-avx --disable-doc --disable-htmlpages --enable-
 manpages
   libavutil      55. 43.100 / 55. 43.100
   libavcodec     57. 70.100 / 57. 70.100
   libavformat    57. 61.100 / 57. 61.100
   libavdevice    57.  2.100 / 57.  2.100
   libavfilter     6. 68.100 /  6. 68.100
   libavresample   3.  2.  0 /  3.  2.  0
   libswscale      4.  3.101 /  4.  3.101
   libswresample   2.  4.100 /  2.  4.100
   libpostproc    54.  2.100 / 54.  2.100
 Input #0, matroska,webm, from 'hdr.webm':
   Metadata:
     encoder         : google
   Duration: 00:02:34.54, start: 0.000000, bitrate: 18404 kb/s
     Stream #0:0(eng): Video: vp9 (Profile 2), yuv420p10le(tv,
 bt2020nc/bt2020/smpte2084), 3840x2160, SAR 1:1 DAR 16:9, 59.94 fps, 59.94
 tbr, 1k tbn, 1k tbc (default)
     Side data:
       Mastering Display Metadata, has_primaries:1 has_luminance:1
 r(0.6800,0.3200) g(0.2649,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290)
 min_luminance=0.001000, max_luminance=1000.000000
 Output #0, webm, to 'remux.webm':
   Metadata:
     encoder         : Lavf57.61.100
     Stream #0:0(eng): Video: vp9 (Profile 2), yuv420p10le(tv,
 bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 59.94
 fps, 59.94 tbr, 1k tbn, 1k tbc (default)
     Side data:
       Mastering Display Metadata, has_primaries:1 has_luminance:1
 r(0.6800,0.3200) g(0.2649,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290)
 min_luminance=0.001000, max_luminance=1000.000000
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
 Press [q] to stop, [?] for help
 frame= 9977 fps=0.0 q=-1.0 Lsize=  347200kB time=00:02:34.53
 bitrate=18404.8kbits/s speed= 285x
 video:347123kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.021956%

 $ ffprobe -show_streams remux.webm | grep color
 ffprobe version N-82915-g03ce71e Copyright (c) 2007-2016 the FFmpeg
 developers
   built with gcc 5.4.0 (Gentoo 5.4.0 p1.0, pie-0.6.5)
   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
 --docdir=/usr/share/doc/ffmpeg-9999/html --mandir=/usr/share/man --enable-
 shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++
 --ar=x86_64-pc-linux-gnu-ar --optflags='-march=corei7-avx -O2 -pipe
 -I/opt/cuda/include -I/opt/cuda/include -I/opt/cuda/include
 -I/opt/cuda/include' --disable-static --enable-avfilter --enable-
 avresample --disable-stripping --enable-cuda --enable-cuvid --enable-
 nonfree --enable-nonfree --disable-indev=v4l2 --disable-outdev=v4l2
 --disable-indev=oss --disable-indev=jack --disable-outdev=oss --enable-
 bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt
 --disable-gnutls --disable-gmp --enable-gpl --enable-hardcoded-tables
 --enable-iconv --disable-lzma --enable-network --enable-openssl --enable-
 postproc --disable-libsmbclient --enable-ffplay --enable-sdl2 --disable-
 vaapi --enable-vdpau --enable-xlib --enable-libxcb --enable-libxcb-shm
 --enable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-
 libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal
 --enable-opengl --disable-libv4l2 --disable-libpulse --disable-
 libopencore-amrwb --disable-libopencore-amrnb --disable-libfdk-aac
 --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-
 libgme --disable-libgsm --disable-mmal --disable-libmodplug --enable-
 libopus --disable-libilbc --disable-librtmp --disable-libssh --disable-
 libschroedinger --disable-libspeex --enable-libvorbis --enable-libvpx
 --disable-libzvbi --disable-libbs2b --disable-chromaprint --disable-
 libflite --disable-frei0r --disable-libfribidi --enable-fontconfig
 --disable-ladspa --enable-libass --enable-libfreetype --disable-
 librubberband --disable-libzimg --disable-libsoxr --enable-pthreads
 --disable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar
 --enable-nvenc --disable-libopenh264 --disable-libsnappy --disable-
 libtheora --disable-libtwolame --disable-libwavpack --disable-libwebp
 --enable-libx264 --enable-libx265 --disable-libxvid --disable-amd3dnow
 --disable-amd3dnowext --disable-avx2 --disable-fma3 --disable-fma4
 --disable-xop --cpu=corei7-avx --disable-doc --disable-htmlpages --enable-
 manpages
   libavutil      55. 43.100 / 55. 43.100
   libavcodec     57. 70.100 / 57. 70.100
   libavformat    57. 61.100 / 57. 61.100
   libavdevice    57.  2.100 / 57.  2.100
   libavfilter     6. 68.100 /  6. 68.100
   libavresample   3.  2.  0 /  3.  2.  0
   libswscale      4.  3.101 /  4.  3.101
   libswresample   2.  4.100 /  2.  4.100
   libpostproc    54.  2.100 / 54.  2.100
 Input #0, matroska,webm, from 'remux.webm':
   Metadata:
     encoder         : Lavf57.61.100
   Duration: 00:02:34.55, start: 0.000000, bitrate: 18403 kb/s
     Stream #0:0(eng): Video: vp9 (Profile 2), yuv420p10le(tv,
 bt2020nc/unknown/unknown), 3840x2160, SAR 1:1 DAR 16:9, 59.94 fps, 59.94
 tbr, 1k tbn, 1k tbc (default)
 color_range=tv
 color_space=unknown
 color_transfer=unknown
 color_primaries=unknown

 $ dd if=hdr.webm bs=1M count=10 of=sample.webm
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6042>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list