linux 设置ffmpeg权限,linux下ffmpeg安装

2.解压

1$ tar zvfj ffmpeg.tar.bz2

这里作者假设已经重命名为ffmpeg.tar.bz2

3.解压后进入ffmpeg的文件夹,查看readme, 可以看到和正常的编译安装步骤无异configure && make && make install

1$ cd folder_of_ffmpeg

1$ ./configure --enable-shared --prefix=/usr/local/ffmpeg

822154

编译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了

1$ sudo apt-get install yasm

1$ ./configure --enable-shared --prefix=/usr/local/ffmpeg

这一次,编译成功, 出现一大串字符, 大致如下:

822154

4.安装

1$ make

1$ make install

822154

可见直接make install会出现权限问题, 因为之前编译时指定的文件夹是/usr/local/ffmpeg, 所以需要sudo权限

1$ sudo make install

ok,安装成功, 在命令行下试一下命令使用

1$ /usr/local/ffmpeg/bin/ffmpeg

这时候出现ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory的错误.(部分高版本缺少的是libavdevice.so.54)

我们尝试在系统中找到这个库:

1$ sudo find / -name "libavdevice.so.56"

822154

由结果可见, 在我们编译后的/usr/local/ffmpeg/lib/中存在libavdevice.so.56,  我们需要将这个库链接写到/etc/ld.so.conf中然后执行sudo ldconfig, 操作如下:

1$ sudo echo '/usr/local/ffmpeg/lib/libavdevice.so.56' >> /etc/ld.so.conf

1$ sudo ldconfig

现在, 全部搞定啦~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值