首页 > 解决方案 > FFMPEG 将 HEVC 转换为 VP9 大文件大小

问题描述

我正在尝试将 HEVC 视频转换为 VP9,以便它们可以在网络浏览器中播放,同时保持文件大小大致相同。

我正在努力创建具有相似质量/文件大小的视频。

这是视频为 22:49 和 168.7mb 的 HEVC 视频之一的流信息:

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 转换?

标签: ffmpegvp9vaapi

解决方案


推荐阅读