在macOs中使用ffmpeg清洗颜色

时间:2018-05-07 18:41:49

标签: colors ffmpeg

我在mac上由ffmpeg生成的屏幕录制视频的颜色有问题。

Left i the original and Right i the ffmpeg generated video image

我使用以下命令生成视频:

ffmpeg -f avfoundation -video_size 1980x1140 -framerate 30 -capture_cursor 1 -capture_mouse_clicks 1 -i '1' -preset ultrafast -an -qp 0 -crf 22 -pix_fmt yuv420p  -y -c:v libx264 -c:a libfaac -vf eq=brightness=0.00:contrast=1:saturation=1 video_test.mkv

我尝试将qp更改为1和2,将crf更改为0和2(让它高于和低于qp),尝试使用pix_fmt yuv444p和bgr0和0rgb,尝试将c:v更改为libx64rgb,尝试不使用vf,但结果是相同的。

我注意到的唯一真正的区别是当我放置一个非常高的crf,使图像非常像素化...

我尝试了不同的亮度,对比度和饱和度数字,但我找不到一个好的组合。

知道如何让视频看起来更像原作吗?

完整日志:

I've joined all the log printed by ffmpeg

关于图像中间的红色信息,即使我使用yuv444p也会打印(红色信息打印yuv420p)

1 个答案:

答案 0 :(得分:0)

没有任何关于avfoundation的经验,但是我在视频转换方面也遇到了类似的问题。问题是由HDR输入引起的。尝试如下添加pix_fmt和x265-params:

ffmpeg -y -i input.mp4 -pix_fmt yuv420p10le -vf scale=out_color_matrix=bt2020,format=yuv420p10 -x265-params :colorprim=9:transfer=16:colormatrix=9 -c:v libx265 -crf 26 -preset medium -acodec copy output.mp4