【问题标题】:Prepare a video for low-performance hardware为低性能硬件准备视频
【发布时间】:2014-10-22 13:48:34
【问题描述】:

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

由于相关设备仅通过 3G 调制解调器在线,因此视频大小也有一定影响。不过现在,演奏表现绝对是最重要的部分。

那么,问题来了:avconv 是否有任何选项可以提高播放性能?还是我应该简单地使用另一个编解码器?

现在,使用的命令如下:

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

【问题讨论】:

    标签: performance html5-video avconv


    【解决方案1】:

    您可能希望使用 ffmpeg 而不是 avconv(我认为 ffmpeg 更加活跃和可靠):

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

    【讨论】:

      【解决方案2】:

      您可以尝试一种方法,即在高度上将视频缩小两次,同时保持宽度不变:

      $ 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
      

      这种方式比宽度缩放要好得多,因为它不会对可能出现在屏幕上的文本造成太大的损害(无论出于何种原因,人脑处理垂直扭曲比处理水平扭曲更容易)。

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

      播放机处理器的负载有时更难预测何时从一个视频转到另一个视频;但是编解码器有所不同。我没有对它们进行太多比较,因此无法提供真正的帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-18
        • 1970-01-01
        • 2010-09-18
        • 2018-07-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多