linux下编译安装ffmpeg
来源:互联网 发布:守望先锋优化设置 编辑:程序博客网 时间:2024/06/08 01:15
1.ffmpeg下载地址: http://www.ffmpeg.org/download.html
2.解压
这里作者假设已经重命名为ffmpeg.tar.bz2
3.解压后进入ffmpeg的文件夹,查看readme, 可以看到和正常的编译安装步骤无异configure && make && make install
编译FFMPEG时,出现了 ffmpeg yasm not found, use –disable-yasm for a crippled build,是因为 FFMPEG为了提高编译速度,使用了汇编指令,如果系统中没有yasm指令的话,就会出现上述的问题。
解决办法是:
A 如果是Windows系统, 从网上下载一个 yasm.exe 并安装在mingw/bin下面,重新编译,就不会出现该错误了;
B 如果是Linux系统,则更简单,直接在终端输入 sudo apt-get install yasm (centos 输入sudo yum install yasm),安装好后,重新编译就 OK了,如果是在不行就--disable-yasm;
这一次,编译成功, 出现一大串字符, 大致如下:
4.安装
make的版本必须是3.80以上,都则会出现
出现common.mak:18: *** unterminated call to function `foreach': missing `)'. Stop.
可见直接make install会出现权限问题, 因为之前编译时指定的文件夹是/usr/local/ffmpeg, 所以需要sudo权限
ok,安装成功, 在命令行下试一下命令使用
这时候出现ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory的错误.(部分高版本缺少的是libavdevice.so.54)
我们尝试在系统中找到这个库:
由结果可见, 在我们编译后的/usr/local/ffmpeg/lib/中存在libavdevice.so.56, 我们需要将这个库链接写到/etc/ld.so.conf中然后执行sudo ldconfig, 操作如下:
问题1 ./configure --enable-memalign-hack --arch=x86 --enable-gpl --enable-libx264 --prefix=./ffmpeg/ --enable-ffplay --enable-ffserver --enable-network --enable-protocols --enable-muxers --enable-yasm --enable-static --enable-pthreads
后 make
出现common.mak:18: *** unterminated call to function `foreach': missing `)'. Stop.
更加网上的说法:make的版本低,下载新版本4.0 编译后。问题还是这样。make -v后其版本为3.8
新版本的 make -v 为4.0 。 which make 发现make是交叉编译链中的make 版本为3.8 。卧槽
改掉环境变量PATH,退出所有终端,重新进入终端。后正常。
问题2
更新源不仅和linux的发行版本有关还和版本的版本号有关。例如 ubuntu的源不能用字debian中,并且debian 6.0的源不能用在debian 7.0中。
问题3
想sdl x264库完全可以简洁的方式安装 apt-get install libsdl-dev-1.2等方式。
安装完库后 ffmpeg提示找不到 libx264 默认路径安装时,x264的库装在 /usr/local/lib下,在/etc/ld.so.conf.d/libc.conf 中有这个路径的记录
此时需要利用ldconfig命令 把/usr/local/lib下的libx264.so放入ld.so.cache中
- linux下编译安装ffmpeg
- Linux下编译安装ffmpeg
- linux下安装编译ffmpeg
- Linux下 FFmpeg 编译安装
- linux下编译安装ffmpeg
- ffmpeg-0.6 linux下编译安装
- FFmpeg在Linux下安装编译过程
- linux下编译安装ffmpeg和opencv
- FFmpeg在Linux下安装编译过程
- 【ffmpeg】linux下编译ffmpeg
- Linux下编译FFMpeg
- Linux下编译FFMpeg
- Linux下编译FFMpeg
- linux下编译ffmpeg
- linux下编译FFmpeg
- linux下编译ffmpeg
- linux下编译ffmpeg
- linux下编译ffmpeg
- 如何获取手机联系人 ContentResoverContacts
- 571A Lengthening Sticks
- SpringMVC整合Shiro
- 开篇之作
- 为开放ftp配置iptables
- linux下编译安装ffmpeg
- mysql报错Access denied for user ''@'localhost'”
- iOS中ARC内部原理
- 使用pytest
- 形参与实参的纠葛
- 闭包(closure)
- Maven项目部署到SAE & EL表达式不可用
- Android TextView 字体描边效果代码
- percona-toolkit工具包的使用教程