我在mac上由ffmpeg生成的屏幕录制视频的颜色有问题。
我使用以下命令生成视频:
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,使图像非常像素化...
我尝试了不同的亮度,对比度和饱和度数字,但我找不到一个好的组合。
知道如何让视频看起来更像原作吗?
完整日志:
关于图像中间的红色信息,即使我使用yuv444p也会打印(红色信息打印yuv420p)
答案 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