解决视频转码后颜色有变化的问题

环境:
Ubuntu16.4 ffmpeg4.3.1 x264 1.60

视频转码时有时会遇到转码后视频的颜色与原始视频有些许差异的问题。问题的根源在于编码器的输出配置其实是有很多的,如果用户不手动配置,那就采用默认的配置。默认的配置虽然可以满足市面上绝大多数需求,但是一旦遇到比较偏的视频源时,往往会导致意想不到的问题
我们往往会忽视视频的色域编码。有关色域的知识,读者可以从下面这个连接做一个详细的了解

http://avisynth.nl/index.php/Convert

可以用ffmpeg查看视频的色域编码信息

ffmpeg -i xxx.mp4

在这里插入图片描述
也可以用potplay查看,播放视频–点击属性–文件信息
在这里插入图片描述
红色方框内的信息即为视频的色域编码信息(不同系统可能会有所不同)
其中smpte170m/bt470bg/smpte170m这三个参数的配置分别对应ffmpeg里面的

-colorspace、-color_primaries、-color_trc

在Linux系统中查看ffmpeg帮助文件

ffmpeg -h full >> ffmpeg_help.txt

找到上面三个参数所对应的位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
参数选择对应的名称和数字均可
设置参数转码,比如

ffmpeg -i xxx.mp4 -c:v libx264 -x264-params preset=veryslow:crf=18:tune=film:qcomp=0.6:profile=high:level=5:aq-mode=2:aq-strength=0.8 -c:a copy -color_primaries 5 -colorspace 6 -color_trc 6 xxx.mp4

经仔细对比播放可发现,颜色与原视频无差异

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值