【问题标题】:How do I compile mlt to use ffmpeg?如何编译 mlt 以使用 ffmpeg?
【发布时间】:2016-10-03 14:17:26
【问题描述】:

ffmpeg 编译良好,mlt 也是如此。

melt 可以很好地处理 color:green 等,但无法打开 .asf 视频文件,但是 ffplay 可以正常播放。

我尝试了以下方法,但 mlt 仍然无法播放 asf 文件:

./configure --enable-gpl3 --enable-gpl --avformat-shared=/big/src/ffmpeg/libavformat/

./configure --enable-gpl3 --enable-gpl 

./configure

当我尝试像这样播放 asf 文件时,我得到了这个:

bash-4.3$ melt /big/video-coon.asf 
Failed to load "/big/video-coon.asf"
Failed to load "/big/video-coon.asf"
Usage: melt [options] [producer [name=value]* ]+
Options:
  -attach filter[:arg] [name=value]*       Attach a filter to the output
[snip]
For more help: <http://www.mltframework.org/>

如果有人能提供有关如何让 mlt 读取这些文件的线索,我将不胜感激!

我尝试使用 ffmpeg 将 .asf 文件转换为 .dv 文件(这使它变得很大!)但这也不会在融化时播放。 (不过用 ffplay/mplayer 玩过。)

非常感谢,

杰西

【问题讨论】:

    标签: mlt


    【解决方案1】:

    嗯,我得到了它的工作.. 我想。 诚然,有一个实例我什至无法构建 ffmpeg(它说需要使用 -fPIC 编译某些东西),但后来我卸载了(make uninstall)mlt,然后在 ffmpeg 上进行了 make clean 和重新配置让它继续运行再次。

    据我所知,这里是使用 multilib 在 slackware 14.2 64bit 上从源代码构建 ffmpeg 和 mlt 的技巧:

    请注意,就我而言,我有一个 /usr/lib 和一个 /usr/lib64/ 以及每个库中的一些库。

    我的 PKG_CONFIG_PATH 不包括 /usr/lib/pkgconfig/ 这是 ffmpeg 的安装放置 libavformat.pc 的位置,所以 pkg-config 找不到它,所以 mlt 认为 ffmpeg 没有安装,所以要修复我有确保设置了环境变量:

    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig/

    此外,libavformat 的某些组件似乎位于一个 lib 目录中,而其他组件位于另一个 lib 目录中,因此我还必须设置 $LD_LIBRARY_PATH:

    export LD_LIBRARY_PATH=$D_LIBRARY_PATH:/usr/lib:/usr/lib64

    设置完成后,如果您之前尝试过安装,我建议您转到 mlt 源文件夹并输入 make uninstall,以防它干扰 ffmpeg 的编译。 (是的,我知道它不应该是必需的,但我今晚有点奇怪,所以我只是告诉你。)

    同样适用于 ffmpeg - make uninstall,如果您安装它的尝试不愉快的话。

    1: cd 到 ffmpeg 的源目录。

    2:运行./configure --enable-shared --enable-gpl --enable-version3 &amp;&amp; make -j8 &amp;&amp; make install

    3:如果一切顺利,则 cd 到 mlt 的源目录。

    4:运行make clean &amp;&amp; ./configure --enable-gpl --enable-gpl3 &amp;&amp; make -j8 &amp;&amp; make install

    一些要点:

    1: ffmpeg 必须使用 --enable-shared 构建,mlt 才能使用它。

    2:mlt 需要完全设置 $PKG_CONFIG_PATH 以在 ./configure 期间检测 ffmpeg。

    3:mlt 需要在运行时正确设置 $LD_LIBRARY_PATH。

    当然,所有这些都可能特定于 ffmpeg 和 mlt 的特定版本,这是撰写本文时的最新版本,但也许它会对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2015-06-17
      • 1970-01-01
      • 2014-10-26
      • 2022-01-07
      • 2013-04-14
      • 2020-04-12
      • 2013-02-26
      • 1970-01-01
      相关资源
      最近更新 更多