ffmpeg让普通h265视频实现免二次编码SDR to HDR
参考了这个文章https://cnlang.org/thread-36995-1-1.html
工具:ffmpeg/小丸工具箱/安卓ffmpeg以及基于ffmpeg的软件(比如quickcut)
使用条件:懂得基本的ffmpeg命令/小丸工具箱的使用
不多说,直接上命令
ffmpeg -i input.mkv -c:v copy -c:a copy -bsf:v hevc_metadata=colour_primaries=8:transfer_characteristics=18:matrix_coefficients=9 output.mkv
解析命令:
1.-c:v copy和-c:a copy
就是不进行二次压缩,直接把视频数据复制一遍(这就是免压缩的原因),如果不是H265的视频,请自行压制成H265. -c:v libx265 -b:v 20M -profile:v main10 -preset slow -c:a copy
2.colour_primaries
即色域,为了达到色彩提升而又不过饱和的效果,采用8号色域即Film色域(P3),1号色域是BT.709,9号色域是BT.2020.
3.
transfer_characteristics
即转换函数,为了避免大量过曝和过饱和,采用18号转换函数即HLG函数。其中1号是bt709(sdr),16号是PQ(smpte2084)
4.
matrix_coefficients
不清楚,但是一般是9,对画面没有大影响(转换成smpte2084也是9)
画大饼时间到
以下是对比,由于截屏会涉及到色彩转换,所以画面仅供参考
![](http://i0.hdslb.com/bfs/article/11ab65bc2b7f96d8f5080924a09fea3ef92446aa.jpg@942w_414h_progressive.webp)
![](http://i0.hdslb.com/bfs/article/4afa033cf9ee27bc3472a3c396cf9ff4bbe419f7.jpg@942w_414h_progressive.webp)
![](http://i0.hdslb.com/bfs/article/27ffbe87d3719ed1e63a025e3f569079a25b8a6a.jpg@942w_414h_progressive.webp)
![](http://i0.hdslb.com/bfs/article/af81524b2f31baa5f499e2633b9c227f76b38615.jpg@942w_414h_progressive.webp)
![](http://i0.hdslb.com/bfs/article/2de5ae21809c62d133af1c205db3f0f8f1567021.jpg@942w_414h_progressive.webp)
![](http://i0.hdslb.com/bfs/article/adffa8c1bd6e40dbbebbb11083edd3558b34140b.jpg@942w_414h_progressive.webp)
可以看到,色彩更加鲜艳了