如何编译mlt以使用ffmpeg?

时间:2016-09-27 20:19:16

标签: mlt

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

融化效果很好:颜色:绿色等,但无法打开。以及视频文件,但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来阅读这些文件的话,我将非常感激!

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

非常感谢,

杰西

1 个答案:

答案 0 :(得分:0)

嗯,我开始工作......我想。 当然,有一个实例,我甚至无法构建ffmpeg(它说的是需要用-fPIC编译的东西)然后我卸载(make uninstall)mlt,然后在ffmpeg上进行make clean并重新配置它又来了。

尽我所知,这里是获取ffmpeg和mlt从slackware 14.2 64bit with 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目录中,而另一些组件在另一个目录中,所以我还必须设置$ 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 && make -j8 && make install

3:如果顺利,那么cd到mlt的源目录。

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

一些要点:

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

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

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

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