[FFmpeg-user] ffmpeg makes some sources darker

Andy Furniss adf.lists at gmail.com
Mon Jan 4 23:29:24 CET 2016

Jim Worrall wrote:
>> On 2016 Jan 4, at 1:33 PM, Carl Eugen Hoyos <cehoyos at ag.or.at>
>> wrote:
>> How did you produce the screenshots?
> ffmpeg -i in.mkv -vf fps=1/6 %03din.png
>> I do see that one of the png files you uploaded is lighter but when
>> I look at the 91st frame of the file you uploaded, it is darker
>> here with MPlayer, vlc and FFplay (and when I transcode it).
>> Or to say it differently: How do you know it is supposed to be
>> lighter?
> Sorry, I don’t quite understand.  The screenshots from the source are
> brighter than those from the transcode. That’s why I think the
> transcode should be brighter.
> The video I uploaded is the source - the bright one - so if it looks
> darker to you than the bright png, maybe I’m doing something wrong.

I think it's because the master is flagged as rec709 but the yuv and I
guess hevc aren't.

Some players (not mplayer) would assume 709 for >= 720p so you wouldn't
notice with them.

It seems ffmpeg swscale/png honors the 709 for the master.

testing -

ffmpeg -i in.mkv -vframes 1  frame1-master.png

ffmpeg -i in.mkv -vframes 1  -vcodec rawvideo -f rawvideo frame1-master.yuv

ffmpeg -f rawvideo -pix_fmt yuv420p -s 1920x1080 -i frame1-master.yuv 

and frame1-yuv.png is darker than frame1-master.png


ffmpeg -f rawvideo -pix_fmt yuv420p -s 1920x1080 -i frame1-master.yuv 
-vf scale=in_color_matrix=bt709  frame1-yuv-709.png

and frame1-yuv-709.png visually (but not md5sum) matches frame1-master.png

so I guess you need to tell hevc that the video is rec709.

More information about the ffmpeg-user mailing list