为低性能硬件准备视频

时间:2014-10-22 13:48:34

标签: performance html5-video avconv

我正在尝试在一些非常低性能的硬件上播放一些视频(主要是webm)。硬件几乎无法处理FullHD输出。

由于有问题的设备仅通过3G调制解调器在线,因此视频尺寸也有一些重要性。但是现在,比赛的表现肯定是更重要的部分。

所以,问题是:avconv是否有提高播放性能的选项?或者我应该只使用另一个编解码器吗?

现在,使用的命令如下所示:

avconv \
    -i $input_file \
    -y \
    -vf scale=$scale \
    -an \
    $output_file

2 个答案:

答案 0 :(得分:0)

你会想要使用ffmpeg而不是avconv(ffmpeg更活跃可靠 - 我的意见):

  • 使用libvpx支持(WebM)编译ffmpeg:guide
  • 我建议您使用CBR encoding
  • 将--profile设置为3:guide,如果需要,请阅读更多选项
  • 通常,您希望尽可能降低帧分辨率和每秒帧数,以满足您的项目要求,并为其投入适当的比特率。

答案 1 :(得分:0)

您可以尝试一种方法,即将视频缩小两次,同时保留宽度:

$ avconv -i 01.webm -vf 'scale=w=iw:h=ih/2' -c:v libtheora -c:a copy 01.ogv

对我来说已经生成了84%的文件

$ avconv -i 01.webm -c:v libtheora -c:a copy 01.ogv

这种方式比宽度上的scalink好得多,因为它不会对屏幕上可能出现的文本造成太大损害(人脑可以出于任何原因处理垂直失真比使用水平方法更容易)。

您还可以应用降噪过滤器hqdn3d,这会使文件大小化,但不会损害视频质量。

当从视频到视频时,播放机处理器上的负载有时可能更难以预测;但编解码器有所不同。我没有比较多,所以无法提供真正的帮助。