先发个中高码率1920x1080的测试结果,使用BBC的Africa作为源
jp2对比图下载
0为源,1为x264-8bit,2为x264-10bit,3为SL HEVC。
源方面使用了我压这片用的AVS处理。
SL HEVC的设置为8线程关WPP,Ultra Slow,最大IDR间距750,rc方面为ABR设置11650kbps。压出成品平均码率10782.71kbps。
x264-8bit命令行如下。压出成品平均码率10883.41kbps。
► 显示剧情透露 x264-8bit
avs4x264mod.exe --x264-binary "x264_64_tMod-8bit-420.exe" --input-depth 8 --input-range tv --range tv --colormatrix bt709 --crf 20.3 --preset placebo --ssim --threads 8 --deblock -2:-2 --ref 8 --scenecut 55 --min-keyint 1 --keyint 750 --b-adapt 2 --bframes 9 --weightp 3 --qcomp 0.75 --rc-lookahead 75 --fade-compensate 0.00 --partitions all --no-dct-decimate --direct auto --trellis 2 --me tesa --merange 24 --subme 10 --psy-rd 0.80:0.10 --fgo 1 --aq-mode 3 --aq-strength 0.70 --log-file-level debug --log-file "Africa.1.x264-8bit.log" --output "Africa.1.x264-8bit.mkv" "Africa.avs"
x264-10bit命令行如下。压出成品平均码率10875.05kbps。
► 显示剧情透露 x264-10bit
avs4x264mod.exe --x264-binary "x264_64_tMod-10bit-420.exe" --input-depth 10 --input-range tv --range tv --colormatrix bt709 --crf 19.9 --preset placebo --ssim --threads 8 --deblock -2:-2 --ref 8 --scenecut 55 --min-keyint 1 --keyint 750 --b-adapt 2 --bframes 9 --weightp 3 --qcomp 0.75 --rc-lookahead 75 --fade-compensate 0.00 --partitions all --no-dct-decimate --direct auto --trellis 2 --me tesa --merange 24 --subme 10 --psy-rd 0.80:0.10 --fgo 1 --aq-mode 3 --aq-strength 0.70 --log-file-level debug --log-file "Africa.1.x264-10bit.log" --output "Africa.1.x264-10bit.mkv" "Africa.avs"
三者平均码率相差在1%以内所以可以直接对比。
一些问题:
1.我通过SL HEVC Encoder用CQP=10压一个由各种颜色BlankClip生成的视频来扫logo,然后通过EraseLOGO在送入编码器前去除logo,但由于0-255的量化范围上下限使其不能通过预处理来完全去除干净,还会有明显残留。
2.只能封装flv我倒是不觉得算是太大的问题。
3.使用视骏提供的这一套DirectShow编码、DirectShow封装、DirectShow分离、DirectShow解码方案后,我这个618帧的视频压出来后在AVS中用DSS2载入得到的视频总帧数为617,经观察发现视频的第0帧和第1帧相同,也就是原本的第0帧没了,同时最后一帧也没了。听说其他人压更多帧的总帧数会少不止一帧。我还不清楚这到底是编码、封装、分离还是解码部分的问题……
4.听别人说编码HEVC的速度只有x264的1/8,但我这个貌似三个编码器都是1.0-1.2fps,不知道是不是因为AVS瓶颈……CPU是E3-1230 V2。
5.测试了HEVC Encoder的CQP和ABR,结果基本和预想的一样,前者由于不同场景分配相同的QP导致复杂度相差大的地方码率相差也很大,后者由于是1 pass ABR所以结果倾向于对不同的场景分配相近的码率——高复杂度场景分配高QP低复杂度场景分配低QP,所以CQP相比ABR在高动态高复杂度场景(耗码)占优势而低动态低复杂度场景(不耗码)处于劣势。
测试结果我的总结:
在这种中高码率下一般的低动态场景差距不大,而高动态场景由于ABR的原因HEVC明显处于劣势(如第二组)。
而像是第四组,可以较为明显地看出由于目前的HEVC编码器缺少psycho-visual相关的优化(如x264中的aq、psy-rd),平面区域的细节保留、噪点保留较差,可能由于in-loop deblock filter的作用也导致画面较为模糊,而x264方面有较好的噪点、细节保留,画面锐度较高,但也可能由于psy相关优化导致画面局部的变形。