1

I'm trying to convert H.264 footage from a Panasonic EVA1 camera to Apple ProRes with ffmpeg. However no matter which setting I use, the output file has slightly more contrast than the original input file.

Some of the commands I've tried are:

ffmpeg -i /Users/roy/Desktop/devnull/ffmpeg\ test/ffmpeg.MOV -vcodec prores -acodec copy /Users/roy/Desktop/devnull/ffmpeg\ test/prores_auto.mov

ffmpeg -i /Users/roy/Desktop/devnull/ffmpeg\ test/ffmpeg.MOV -c:v prores_ks -profile:v 2 -c:a copy /Users/roy/Desktop/devnull/ffmpeg\ test/prores_ks_standard.mov

When I convert the input footage with the Quicktime Animation codec first ffmpeg does not introduce extra contrast in the output footage.

Is there an extra flag that I'm supposed to be using? Does is it have something to do with a wrongly interpreted colourspace in ffmpeg?

The log for the first command:

> Roy-iMac:~ roy$ ffmpeg -i /Users/roy/Desktop/devnull/ffmpeg\
> test/ffmpeg.MOV -vcodec prores -acodec copy
> /Users/roy/Desktop/devnull/ffmpeg\ test/prores_auto.mov ffmpeg version
> 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers   built with Apple LLVM version 9.1.0 (clang-902.0.39.2)   configuration:
> --prefix=/usr/local/Cellar/ffmpeg/4.0.2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma   libavutil      56. 14.100 / 56. 14.100   libavcodec     58. 18.100 / 58. 18.100   libavformat    58. 12.100 / 58. 12.100   libavdevice    58.  3.100 /
> 58.  3.100   libavfilter     7. 16.100 /  7. 16.100   libavresample   4.  0.  0 /  4.  0.  0   libswscale      5.  1.100 /  5.  1.100   libswresample   3.  1.100 /  3.  1.100   libpostproc    55.  1.100 /
> 55.  1.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd96c800000] decoding for stream 0 failed Guessed Channel Layout for Input Stream #0.1 : stereo
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
> '/Users/roy/Desktop/devnull/ffmpeg test/ffmpeg.MOV':   Metadata:
>     major_brand     : qt  
>     minor_version   : 537986816
>     compatible_brands: qt  pana
>     creation_time   : 2018-10-12T13:49:01.000000Z
>     com.panasonic.Semi-Pro.metadata.xml: <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
>                     : <ClipMain xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="urn:schemas-Professional-Plug-in:Semi-Pro:ClipMetadata:v1.0">
>                     :   <ClipContent>
>                     :     <GlobalClipID>060A2B340101010501010D431300000060F44F8E038405C6008045821D6BD519</GlobalClipID>
>                     :     <Duration>420</Duration>
>                     :     <EditUnit>1/25</EditUnit>
>                     :     <EssenceList>
>                     :       <Video>
>                     :         <Codec BitRate="150">H264_422_LongGOP</Codec>
>                     :         <ActiveLine>2160</ActiveLine>
>                     :         <ActivePixel>3840</ActivePixel>
>                     :         <BitDepth>10</BitDepth>
>                     :         <FrameRate>25p</FrameRate>
>                     :         <TimecodeType>NonDrop</TimecodeType>
>                     :         <StartTimecode>03:19:16:01</StartTimecode>
>                     :         <StartBinaryGroup>00000000</StartBinaryGroup>
>                     :       </Video>
>                     :       <Audio>
>                     :         <Channel>2</Channel>
>                     :         <SamplingRate>48000</SamplingRate>
>                     :         <BitsPerSample>24</BitsPerSample>
>                     :       </Audio>
>                     :     </EssenceList>
>                     :     <ClipMetadata>
>                     :       <UserClipName>A014C005_181012_K7B3</UserClipName>
>                     :       <Access>
>                     :         <CreationDate>2018-10-12T14:49:01+01:00</CreationDate>
>                     :       </Access>
>                     :       <Device>
>                     :         <Manufacturer>Panasonic</Manufacturer>
>                     :         <SerialNo.>K7TAA0323</SerialNo.>
>                     :         <ModelName>AU-EVA1</ModelName>
>                     :       </Device>
>                     :       <Shoot>
>                     :         <StartDate>2018-10-12T14:49:01+01:00</StartDate>
>                     :       </Shoot>
>                     :     </ClipMetadata>
>                     :   </ClipContent>
>                     :   <UserArea>
>                     :     <AcquisitionMetadata xmlns="urn:schemas-Professional-Plug-in:P2:CameraMetadata:v1.2">
>                     :       <CameraUnitMetadata>
>                     :         <ISOSensitivity>2500</ISOSensitivity>
>                     :         <WhiteBalanceColorTemperature>4500K</WhiteBalanceColorTemperature>
>                     :         <Gamma>
>                     :           <CaptureGamma>V-Log</CaptureGamma>
>                     :         </Gamma>
>                     :         <Gamut>
>                     :           <CaptureGamut>V-Gamut</CaptureGamut>
>                     :         </Gamut>
>                     :       </CameraUnitMetadata>
>                     :     </AcquisitionMetadata>
>                     :   </UserArea>
>                     : </ClipMain>
>                     :    Duration: 00:00:16.80, start: 0.000000, bitrate: 150123 kb/s
>     Stream #0:0(eng): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 147693 kb/s, 25
> fps, 25 tbr, 90k tbn, 50 tbc (default)
>     Metadata:
>       creation_time   : 2018-10-12T13:49:01.000000Z
>       timecode        : 03:19:16:01
>     Stream #0:1(eng): Audio: pcm_s24be (lpcm / 0x6D63706C), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
>     Metadata:
>       creation_time   : 2018-10-12T13:49:01.000000Z
>       timecode        : 03:19:16:01
>     Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
>     Metadata:
>       creation_time   : 2018-10-12T13:49:01.000000Z
>       reel_name       : A014
>       timecode        : 03:19:16:01 File '/Users/roy/Desktop/devnull/ffmpeg test/prores_auto.mov' already
> exists. Overwrite ? [y/N] y Stream mapping:   Stream #0:0 -> #0:0
> (h264 (native) -> prores (native))   Stream #0:1 -> #0:1 (copy) Press
> [q] to stop, [?] for help [prores @ 0x7fd96e003a00] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd96e006200] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd96e008a00] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd970066400] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd9700cf800] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd96e00b200] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd96e00da00] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd96e806200] encoding with
> ProRes standard (apcn) profile [prores @ 0x7fd96c80a400] encoding with
> ProRes standard (apcn) profile Output #0, mov, to
> '/Users/roy/Desktop/devnull/ffmpeg test/prores_auto.mov':   Metadata:
>     major_brand     : qt  
>     minor_version   : 537986816
>     compatible_brands: qt  pana
>     com.panasonic.Semi-Pro.metadata.xml: <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
>                     : <ClipMain xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns="urn:schemas-Professional-Plug-in:Semi-Pro:ClipMetadata:v1.0">
>                     :   <ClipContent>
>                     :     <GlobalClipID>060A2B340101010501010D431300000060F44F8E038405C6008045821D6BD519</GlobalClipID>
>                     :     <Duration>420</Duration>
>                     :     <EditUnit>1/25</EditUnit>
>                     :     <EssenceList>
>                     :       <Video>
>                     :         <Codec BitRate="150">H264_422_LongGOP</Codec>
>                     :         <ActiveLine>2160</ActiveLine>
>                     :         <ActivePixel>3840</ActivePixel>
>                     :         <BitDepth>10</BitDepth>
>                     :         <FrameRate>25p</FrameRate>
>                     :         <TimecodeType>NonDrop</TimecodeType>
>                     :         <StartTimecode>03:19:16:01</StartTimecode>
>                     :         <StartBinaryGroup>00000000</StartBinaryGroup>
>                     :       </Video>
>                     :       <Audio>
>                     :         <Channel>2</Channel>
>                     :         <SamplingRate>48000</SamplingRate>
>                     :         <BitsPerSample>24</BitsPerSample>
>                     :       </Audio>
>                     :     </EssenceList>
>                     :     <ClipMetadata>
>                     :       <UserClipName>A014C005_181012_K7B3</UserClipName>
>                     :       <Access>
>                     :         <CreationDate>2018-10-12T14:49:01+01:00</CreationDate>
>                     :       </Access>
>                     :       <Device>
>                     :         <Manufacturer>Panasonic</Manufacturer>
>                     :         <SerialNo.>K7TAA0323</SerialNo.>
>                     :         <ModelName>AU-EVA1</ModelName>
>                     :       </Device>
>                     :       <Shoot>
>                     :         <StartDate>2018-10-12T14:49:01+01:00</StartDate>
>                     :       </Shoot>
>                     :     </ClipMetadata>
>                     :   </ClipContent>
>                     :   <UserArea>
>                     :     <AcquisitionMetadata xmlns="urn:schemas-Professional-Plug-in:P2:CameraMetadata:v1.2">
>                     :       <CameraUnitMetadata>
>                     :         <ISOSensitivity>2500</ISOSensitivity>
>                     :         <WhiteBalanceColorTemperature>4500K</WhiteBalanceColorTemperature>
>                     :         <Gamma>
>                     :           <CaptureGamma>V-Log</CaptureGamma>
>                     :         </Gamma>
>                     :         <Gamut>
>                     :           <CaptureGamut>V-Gamut</CaptureGamut>
>                     :         </Gamut>
>                     :       </CameraUnitMetadata>
>                     :     </AcquisitionMetadata>
>                     :   </UserArea>
>                     : </ClipMain>
>                     : 
>     encoder         : Lavf58.12.100
>     Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 0.04 fps, 12800 tbn,
> 25 tbc (default)
>     Metadata:
>       creation_time   : 2018-10-12T13:49:01.000000Z
>       timecode        : 03:19:16:01
>       encoder         : Lavc58.18.100 prores
>     Stream #0:1(eng): Audio: pcm_s24be (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s (default)
>     Metadata:
>       creation_time   : 2018-10-12T13:49:01.000000Z
>       timecode        : 03:19:16:01 frame=  420 fps= 20 q=-0.0 Lsize= 1036081kB time=00:00:16.78 bitrate=505533.8kbits/s speed=0.797x    
> video:1031347kB audio:4725kB subtitle:0kB other streams:0kB global
> headers:0kB muxing overhead: 0.000812%
  • Share the full log of the first command. How are you checking the output file? – Gyan Oct 17 '18 at 5:09
  • I've added the log for the first command. I checked the files in Adobe Premiere Pro, but the increased contrast can also be seen in other video players – sirbaxx Oct 17 '18 at 16:39
1

Ok, so your input is full-range (pc, bt709) which is unusual, so let's try to correct that.

ffmpeg -i ffmpeg.MOV -vf scale=in_range=pc:out_range=tv -c:v prores -c:a copy prores_auto.mov
  • This seems to work for the contrast (still a tiny bit more contrast thought. But with this command the colour in the output has changed every so slightly. – sirbaxx Oct 18 '18 at 13:09
  • screenshot of Lumetri Scopes of original footage: dropbox.com/s/twk01qcojhsvoa1/original%20footage.png?dl=0 screenshot of Lumetri Scopes of transcoded footage: dropbox.com/s/ul9t7rg798x70gt/ProRes%20footage.png?dl=0 – sirbaxx Oct 18 '18 at 13:15
  • Change to scale=in_range=pc:out_range=tv:out_color_matrix=bt709 – Gyan Oct 18 '18 at 13:37
  • The output is still the same with that command (colour shift). The footage is recorded in LOG in 10bit by the way. Not in Rec.709. Don't know if that helps? – sirbaxx Oct 18 '18 at 15:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.