ffmpeg的安装(for X86 and ARM)

本以为ffmpeg在ARM下的安装挺简单的,想不到还是有点麻烦和复杂。


首先下载ffmpeg的安装包,官网上都有。

然后解压:

#tar -xvzf  ffmpeg*****

然后进入到解压目录中。


对于X86系统,比较简单,先在/usr/local/目录下创建ffmpeg文件夹:

#./configure   --prefix=/usr/local/ffmpeg   --enable-shared

#make

#make install



对于ARM系统,执行:

#./configure  --prefix=/usr/local/ffmpeg  --arch=arm --target-os=linux --enable-shared  --cross-prefix=arm-linux-

这里需要注意的是,编译工具需要针对具体的交叉编译工具而定,加入你的机器上的交叉编译工具是arm-linux-gcc则选择arm-linux-

我的PC上的是arm-none-linux-gnueabi-

树莓派上的是arm-linux-gnueabihf-


如果碰到这样的问题:

C compiler test failed.

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.

则是说明交叉编译工具没有选择对,需要仔细查看你得机器下的交叉编译工具


然后执行:

#make

#make install


如果在执行make时碰到这样的问题:

Relocation in generic ELF(EM:3)错误

则是上次编译的和这次编译冲突导致的。执行make  clean后继续make即可。


然后进入到/usr/local/ffmpeg。这里面有我们需要的库文件,把lib下的文件和include下的文件拷贝到/usr/lib/下和/usr/include/下:

#cp ./lib/*  /usr/lib/

#cp .include/* /usr/include/ -rf


如果是第二次拷贝,会让你一个个选择是否覆盖,非常麻烦,可以在cp前面加上/bin/,即/bin/cp,这样使用的就是原生态的cp命令,可以强制覆盖相同文件。


这里还需要注意一个问题,即使是从别的地方拷贝过来的ARM的库,在本机器上也未必能够运行。可能是交叉编译工具的问题吧。

所以要在那台机器上使用库,则在哪台机器上编译安装,一定不要直接拷贝库文件!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值