Linu下安装ffmpeg

首先要安装各种解码器。

注意事项:

①下面所有./configure操作,如果报错,加上自己的机型,例如我的机器是Arm的,命令就为 ./configure --enable-shared   --build=arm-linux

②其中–enable-shared表示生成动态链接库,可以供以后编程使用,同时生成的可执行程序也依赖这些动态库。如果不加上–enable-shared选项则使用静态链接的方式编译,此时不会生成动态库,同时生成的ffmpeg等的可执行文件也比较大,但他们不需要动态库就可以直接运行。

③权限不够则加上sudo,例如最后make里面有用到unzip的,没有权限会则报错

④ffmprg每年接口都变动,所以参考以前代码的时候,注意接口的变化,附上官网接口变化说明:FFmpeg: Deprecated List

1、lame
lame-3.99.5.tar.gz
Url:LAME (Lame Aint an MP3 Encoder) - Browse /lame at SourceForge.net
安装方法如下:

tar -zxvf lame-3.99.5.tar.gz  
cd lame-3.99.5  
./configure --enable-shared    
make  
sudo make install  

2、libogg
libogg-1.3.1.tar.gz
Url:https://ftp.osuosl.org/pub/xiph/releases/ogg/
安装方法如下:

./configure 
make 
sudo make install  

3、libvorbis
libvorbis-1.3.3.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz

(libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)
安装方法如下:

./configure
make  
sudo make install  

4、xvid
xvidcore-1.3.2.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
安装方法如下:

tar zvxf xvidcore-1.3.2.tar.gz  
cd xvidcore-1.3.2/build/generic  
./configure
make  
make install 

5、x264
latest_x264.tar.bz2 (其中包含的目录是 x264-snapshot-20131023-2245)
Url:x264, the best H.264/AVC encoder - VideoLAN
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安装方法如下:

tar -jxvf latest_x264.tar.bz2
./configure 
make 
make install 

6、libdts
libdca-0.0.5.tar.bz2
Url: libdca - VideoLAN
安装方法:

tar -jxvf libdca-0.0.5.tar.bz2 
cd libdca-0.0.5  
./configure
make  
sudo make install  

7、a52
a52dec-0.7.4.tar.gz   
liba52 - downloads      
安装方法:

./configure 
make  
sudo make install  

8、faad2
faad2-2.7.tar.gz
https://www.linuxfromscratch.org/blfs/view/svn/multimedia/faad2.html
安装方法

autoreconf -vif  
./configure  --with-mp4v2 --enable-shared  
make  
sudo make install  

9、faac
faac-1.28.tar.gz
Freeware Advanced Audio Codec download | SourceForge.net
安装方法:

tar zxvf faac-1.28.tar.gz  
cd faac-1.28  
./bootstrap  
./configure 
make   
sudo make install  

10、amr-nb
amrnb-10.0.0.0.tar.bz2
Index of /pub/users/utx/amr
安装方法:

sudo ./configure 
sudo make  
sudo make install  

11、amr-wb
amrwb-7.0.0.1.tar.bz2
Index of /pub/users/utx/amr
安装方法:

./configure 
sudo make  
sudo make install  

12、安装ffmpeg

从ffmpeg官网:Download FFmpeg下载tar.bz2格式包

打开ffmpeg源码,把FFmpeg/libswscale/yuv2rgb.c中的下面的代码注释掉,大概在690行,否则会一直告警No accelerated colorspace conversion found from yuv420p to bgr24

av_log(c, AV_LOG_WARNING,
           "No accelerated colorspace conversion found from %s to %s.\n",
           av_get_pix_fmt_name(c->srcFormat), av_get_pix_fmt_name(c->dstFormat));

编译安装:(我这里安装目录为 /usr/local/ffmpeg )

./configure --prefix=/usr/local/ffmpeg --enable-shared
make 
sudo make install 

如果使用fmpeg源码实现H264推流时,出现配置编码器失败的错误

[vp8_v4l2m2m @ 0x56195db9f9f0] Could not find a valid device
[vp8_v4l2m2m @ 0x56195db9f9f0] can't configure encoder

则configure修改如下:

./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-libx264  --enable-gpl

如果需要使用avio_open(),且返回负值时,则许加入所需要 启用指定的分析器 的类型:./configure --enable-protocol=NAME,NAME如下:

async			  ftp			    mmsh		      srtp
cache			  gopher		    mmst		      subfile
concat			  hls			    pipe		      tcp
crypto			  http			    prompeg		      tee
data			  httpproxy		    rtmp		      udp
ffrtmphttp		  icecast		    rtmpt		      udplite
file			  md5			    rtp			      unix

为了以后方便编程,我们把/usr/local/ffmpeg/lib中的库都复制到/usr/lib下。把/usr/local/ffmpeg/include目录下的所有文件复制到/usr/include下

参考博文:

Linux下ffmpeg的完整安装 - wanghetao - 博客园

ffmpeg安装配置以及库调用 - 穷酸秀才大艹包 - 博客园

Linux下ffmpeg的依赖库安装_水月醉清寒-CSDN博客_ffmpeg依赖库

can not configure encoder

FFmepeg: avio_open()返回负值时的解决方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值