首先要安装各种解码器。
注意事项:
①下面所有./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安装配置以及库调用 - 穷酸秀才大艹包 - 博客园