0

ffmpeg 编译得很好,mlt 也是如此。

并且融化可以很好地处理 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 玩过。)

非常感谢,

杰西

4

1 回答 1

0

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

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

请注意,就我而言,我有一个 /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

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

ffmpeg 也是如此 -make uninstall如果您安装它的尝试不愉快。

1: cd 到 ffmpeg 的源目录。

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

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

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

一些重要的点:

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

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

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

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

于 2016-10-03T06:17:26.643 回答