我正在尝试将HEVC视频转换为VP9,以便可以在网络浏览器中播放它们,同时保持文件大小大致相同。
我正在努力创建质量/文件大小相似的视频。
以下是其中一部HEVC视频的流信息,该视频是22:49和168.7mb:
Stream #0:0(und): Video: hevc (Main) (hev1 / 0x31766568), yuv420p(tv, bt709), 1920x1080, 900 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc (default)
比特率为900K,因此我以为以下命令将使用相同的比特率并提供大致相似的图像质量:
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -vaapi_device /dev/dri/renderD128 -i "$infile" -vf 'format=nv12,hwupload' -c:v vp9_vaapi -b:v 900K -bf 2 -bsf:v vp9_raw_reorder,vp9_superframe -c:a libvorbis "$outfile"
使用这种方法,尽管文件大小大致与HEVC来源相当,但质量明显差很多,而且忙碌的场景看起来令人难以置信。
如果我忽略比特率,让VP9算出来
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -vaapi_device /dev/dri/renderD128 -i "$infile" -vf 'format=nv12,hwupload' -c:v vp9_vaapi -b:v 0 -bf 2 -bsf:v vp9_raw_reorder,vp9_superframe -c:a libvorbis "$outfile"
质量在视觉上无法区分,但是VP9转换后的视频的文件大小达到了401mb(高于HEVC文件的168mb),并且在编码过程中,大多数视频的比特率均超过3m。
我尝试提高到120万(比源视频高33%),而VP9仍然提供了非常醒目的视频。
VP9真的比HEVC差很多吗?或者我缺少选择吗?还是因为我要从HEVC转换?