使用ffmpeg直接压制HDR x265(HEVC)视频(保留HDR元数据)转码命令
ffmpeg -loglevel panic -i "输入文件名.mkv" -strict -1 -pix_fmt yuv420p10le -f yuv4mpegpipe - | x265.exe --preset faster --profile main10 --level-idc 5.1 --output-depth 10 --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(40000000,50)" --colorprim bt2020 --colormatrix bt2020nc --transfer smpte2084 --max-cll "****,****" --deblock -1:-1 --ctu 64 --bitrate=5000 --vbv-bufsize=5500 --pbratio 1.2 --cbqpoffs -2 --crqpoffs -2 --no-sao --me 3 --subme 3 --merange 57 --b-intra --no-rect --no-amp --ref 4 --weightb --keyint 300 --min-keyint 1 --bframes 4 --aq-mode 1 --aq-strength 0.9 --rd 4 --psy-rd 2.0 --psy-rdoq 3.0 --rdoq-level 2 --no-open-gop --rc-lookahead 80 --scenecut 40 --qcomp 0.60 --no-strong-intra-smoothing --fps 24000/1001 --hdr --hdr-opt --hrd --frames 2301 --y4m --output 输出文件名.hevc -
【参数设置说明】:
--qcomp 作用是处理所有帧的复杂度情况,如果视频高动态特别多的话,mbtree=0的情况下,提升qcomp的取值(高于0.60)是对整体都有好处的。如果视频静态特别多的话,mbtree=0的情况下,保持qcomp=0.60(或低于0.60)就可以了。因为一般视频动态也有,静态也有,保持默认的0.60似乎是最好的。
--mbtree 是处理单独的宏观的复杂度,默认状态下 mbtree=0
--deblock 图像去块,保留更多细节
--ctu 视频图像编码树单元CTU,尺寸越大,分割深度越大,编码效率越高
--pbratio 修改P帧与B帧平均量化值的比例。值越高,B帧的质量越低。
--rdoq-level 水平补偿
删除一下代码可以提高编码速度:
--pbratio 1.2 --cbqpoffs -2 --crqpoffs -2 --no-sao --me 3 --subme 3 --merange 57 --b-intra --no-rect --no-amp --ref 4 --weightb --keyint 300 --min-keyint 1 --bframes 4 --aq-mode 1 --aq-strength 0.9 --rd 4 --psy-rd 2.0 --psy-rdoq 3.0 --rdoq-level 2 --no-open-gop --rc-lookahead 80 --scenecut 40 --qcomp 0.60 --no-strong-intra-smoothing
G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450),等参数一般为固定值;
--max-cll "****,****" 中的 ****,**** 需根据实际改为原视频对应参数
“L”控制显示亮度参数设置案列如下(需根据实际改为原视频对应参数):
当其中命令参数为 L(10000000,50) 读取显示参数为 min: 0.0050 cd/m2, max: 1000.0000 cd/m2
当其中命令参数为 L(12000000,500) 读取显示参数为 min: 0.0500 cd/m2, max: 1200.0000 cd/m2
【ffmpeg程序安装方法】
1、解压在官方网站下载好的ffmpeg文件包(已编译版本,如需压制输出10bit视频,则需使用10bit版本的ffmpeg文件),将其中bin文件夹内的ffmpeg.exe、ffplay.exe、ffprobe.exe三个程序复制到电脑系统的Windows\System32文件夹中。
2、win+R键输入cmd打开命令提示符,然后在其中输入 ffmpeg –version 如果命令提示符中弹出FFmpeg的版本信息,表示程序安装成功并可正常使用。
3、将x265编码程序(如需压制输出10bit视频,则需使用10bit版本的x265编码程序)与原视频文件放在硬盘同一分区根目录中;
4、案列:比如需转码硬盘D:分区中的视频,则在命令提示符中输入 cd/ 确认后跳转到C:\>,再输入d: 确认后跳转到D:\> ,然后即可输入相关转码命令进行转码。