【问题标题】:Can't get MLT Framework to process audio in Docker container无法让 MLT 框架处理 Docker 容器中的音频
【发布时间】:2015-10-10 18:31:38
【问题描述】:

我正在使用 Docker 使用 melt 命令创建一个用于视频处理的容器。目前输出的所有视频都不包含任何音频。

这是 Dockerfile:

FROM ubuntu
RUN apt-get update
RUN apt-get install -y melt swh-plugins
WORKDIR /input
CMD [ "melt", "input.mp4", "-consumer", "avformat:/output/output.mp4" ]

当我运行容器时,出现以下错误:

consumer_avformat.c: Unable to encode audio - disabling audio output.

我怀疑这会告诉你很多。但是,我尝试将命令运行为:

melt input.mp4 -consumer avformat:/output/output.mp4 acodec=libmp3lame

...当我这样做时,我没有收到错误消息,但输出文件中仍然没有音频。

因为我不太了解音频处理,所以我不确定我是否缺少插件或以其他方式未指定要求。对于熟悉 Docker 和多媒体的人来说,这应该是一个相对容易的解决方法。

【问题讨论】:

    标签: docker mlt


    【解决方案1】:

    首先,音频输出可能默认为 aac,但在大多数版本的 libavcodec 中,aac 还要求您说“strict=experimental”。如果您明确设置 acodec=aac,那么 melt 会自动为您添加。很快,libavcodec aac 编码器将退出实验状态(如果最近几天还没有的话)。通常,您未充分指定编码参数。

    在第二种情况下,你怎么知道没有音频? Quicktime 不支持 MP4 中的 MP3,可能还有其他一些媒体播放器。

    【讨论】:

      【解决方案2】:

      事实证明,我需要将ubuntu-restricted-extras 包安装到我的 Dockerfile 中。一旦到位,一切都会按预期进行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多