Linux下安装ffmpeg音频、视频记录转换工具(centos 7)

由于近期项目中需要将WAV格式的音频文件转为MP3 格式的音频文件,所以接触了ffmpeg这个强大的数字音频记录、转换工具。前期安装遇到了很多的坑,对于踩过的坑想写一篇文章记录一下,也算是近期学习部署的记录吧,有什么不对的地方,还请大神们轻喷、告知!

ffmpeg支持很多第三方的库,按照需求我只安装了libmp3lame这个支持MP3格式的库,其实ffmpeg自带的库mp2也可将wav格式转成MP3,但是压缩率低一点,转化后的文件过大,还有可能会有其他播放问题。若想做更多的音频格式 、或者视频的处理可以自行安装其他的支持库,安装方法大同小异。

具体的安装步骤:

1,安装lame库(本文档安装版本为3.100)

下载:点击打开链接 (可直接在Linux下使用  wget 下载)

解压:tar -zxvf lame-3.100.tar.gz

切换到目录:cd lame-3.100

配置环境:./configure  --enable-shared  --prefix=/usr/local    #此处的shared选项为将lame库配置成动态链接库,--prefix 为安装的路径(此处有问题,在后面说明)

编译:make

安装:make install

Linux下安装ffmpeg音频、视频记录转换工具(centos 7)Linux下安装ffmpeg音频、视频记录转换工具(centos 7)

2 ,安装yasm (必须安装)

下载:点击打开链接  (可直接在Linux下使用  wget 下载)

解压: tar -zxvf  yasm-1.3.0.tar.gz

切换到目录:cd yasm-1.3.0

配置环境:./configure  

编译:make

安装:make install

Linux下安装ffmpeg音频、视频记录转换工具(centos 7)


3 ,安装ffmpeg

安装ffmpeg时,可以配置成动态链接库,也可配置动态链接库,分别是--enable-shared、--enable-static 这两个选项,若是配置成了动态链接库需要修改系统的 /etc/ld.so.conf 这个文件,把动态链接库的地址放在这个文件中,静态链接库则不需要要因为相关的库都将会被放在ffmpeg的安装目录的lib下,具体操作如下
下载:点击打开链接 (可直接在Linux下使用  wget 下载)
解压:tar -jxvf ffmpeg-3.4.tar.bz2
切换目录: cd ffmpeg-3.4/
配置环境:./confgure  --enable-shared  --prefix=/usr/local/ffmpeg  --enable-libmp3lame   #这边把库配置成动态的库,这边注意一定要把需要的库启用(--enable-库名),不然安装完成后,在使用相关库进行转化时会报错提示   “无法自动选择相关解码器,相关的库可能被停用了”(这边的坑是,出现这个问题时一直以为是没有安装相关的库,在度娘上很多的答案都是说要安装相关的库,其实是安装了相关的库但是没有启用。需要重新编译ffmpeg)
编译:make     #这个过程比较漫长,可能持续十几分钟
安装:make  install

配置时出现的错误:

Linux下安装ffmpeg音频、视频记录转换工具(centos 7)


这个错误提示没有找到 libmp3lame 这个库,进入刚才安装的路径发现没有找到lame ,lame需要重新安装编译

重新编译后目录下有出现了相关文件,重新配置ffmpeg

./confgure  --enable-shared  --prefix=/usr/local/ffmpeg  --enable-libmp3lame

Linux下安装ffmpeg音频、视频记录转换工具(centos 7)

4,配置相关的文件

配置环境变量:

vi  /etc/profile

添加如下内容:

export FFMPEG_HOME=/usr/local/ffmpeg

export PATH=${FFMPEG_HOME}/bin:${PATH}

刷新:

source /etc/profile


配置动态链接库:

vi   /etc/ld.so.conf

添加动态库路径

/usr/local/ffmpeg/lib     #我这边配置成ffmpeg安装路径下的lib,

刷新

ldconfig


5,测试

ffmpeg  -version

测试出现的错误:

Linux下安装ffmpeg音频、视频记录转换工具(centos 7)

这边提示:加载动态库时出错,说lame这个库没有加载进来,这时候需要把lame的库的编译的路径改成ffmpeg的安装路径(./configure    --prefix=/usr/local/ffmpeg),这里是上文说到lame编译路径有问题的原因,这里其实可以直接在一开始就把lame的路径配置成你安装ffmpegde的路径,但是这样有可能会出现上文中编译时出现的错误找不到libmp3lame,总的来说可能是会冲突吧,楼主没有找到好的方法,朋友们有更好的办法的欢迎分享、讨论,只能反复的编译lame,好在这个编译还算是很快,重新编译问题就解决啦!

Linux下安装ffmpeg音频、视频记录转换工具(centos 7)

上传test.wav格式录音文件测试如下:

ffmpeg  -i  test.wav  -f mp3  out.mp3

Linux下安装ffmpeg音频、视频记录转换工具(centos 7)


6,总结

总的来说ffmpeg不算是很难安装(只能说比较麻烦!),需要弄清楚它与其他第三方库之间的关联关系就OK啦!

相关的文章的参考引用:https://www.cnblogs.com/wanghetao/p/3386311.html