linux安装编译安装 ffmpeg,解决linux下ffmpeg压缩的mp4无法在网页播放问题

ffmpeg官网下载页面:http://www.ffmpeg.org/download.html 

github下载页面  https://github.com/FFmpeg/FFmpeg/releases

我下载的是当前最新稳定版4.2.3:http://www.ffmpeg.org/releases/ffmpeg-4.2.3.tar.gz

下载的ffmpeg-4.2.3.tar.gz文件13M ,安装后311M

在windows下目前最新版的ffmpeg自带了h264,所以在windows下压缩的mp4在网页播放是没有问题的。然而在linux下需要安装h264解压的mp4文件才能在网页上播放要增加参数指定: -vcodec libx264,命令如下:

ffmpeg -i  /home/www/source.mp4 -vf scale=1280:720  -b:v 800k -maxrate 900k -vcodec libx264 /home/www/output.mp4

注意事项:

1.如果执行上面命令会出错,说明你没有安装x264,请参考下面安装步骤二

2.如果已经安装了ffmpeg的,但是没有安装x264的,ffmpeg需要重新安装,可以 find / -name "libx264.so.160" 查找是否有安装

 

1.ffmpeg安装准备工作(安装nasm)

如果不安装会报错:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build.

yum  -y  install yasm      (Yasm是一个完全重写的NASM汇编。它支持x86和AMD64指令集。)

如果安装了版本太低,会报错nasm/yasm is too old 就安装最新版本的  https://www.nasm.us/

我这里安装的是目前nasm最新的版本:

wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.gz

tar -zxvf  nasm-2.14.02.tar.gz

cd nasm-2.14.02

./configure 

make &&make install 

echo $? 或者 whereis nasm 查看是否安装成功
成功输出:0 或者 nasm: /usr/local/bin/nasm

2.安装H264(必须的不然在linux下ffmpeg处理的mp4文件无法在网页播放)

git clone https://code.videolan.org/videolan/x264.git

cd  x64

./configure --prefix=/usr/local/x264 --enable-shared --enable-static --disable-asm

make  && make  install

echo $?  确认安装是否成功

3.安装ffmpeg,解压下载的ffmpeg文件,切换到刚下载的ffmpeg目录

 

如果已经安装过ffmpeg需要重新安装的情况,执行make clean

安装到/usr/local/ffmpeg目录

./configure --enable-gpl --enable-libx264 --prefix=/usr/local/ffmpeg  
make && make install     大约20分钟吧,我的云服务器(入门级)

编译完成后:cd  /usr/local/ffmpeg/bin/  

 

加两条软连接(然后重新连接下命令行窗口)

ln  -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg

ln  -s /usr/local/ffmpeg/bin/ffprobe /usr/bin/ffprobe

输入 ffmpeg --help

没出错就表示安装成功,如果出现错误:

ffmpeg: error while loading shared libraries: libx264.so.160: cannot open shared object file: No such file or directory

查找libx264.so.160在那个位置,如果没有的话说明刚才第二步的h264没有安装成功

 find / -name "libx264.so.160" 

  
/software/x264/libx264.so.160
/usr/local/lib/libx264.so.160

找到 libx264.so.160 , vim /etc/ld.so.conf文件把ffmpeg的lib目录加进去,我的ffmpeg安装在/usr/local/ffmpeg,所以就把目录/usr/local/ffmpeg/lib加进去

vim /etc/ld.so.conf


include ld.so.conf.d/*.conf
/lib
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/ffmpeg/lib #把你的fffmpeg安装目录下的lib目录加进去

让配置生效: ldconfig

[root@email bin]# ffmpeg -version 

这样就说明安装成功了

FFMPEG使用:https://blog.csdn.net/qq_27517377/article/details/106410995

 

参考文章:

动态库问题:https://blog.csdn.net/baidu_38172402/article/details/80875074

FFMPEG使用H264:http://trac.ffmpeg.org/wiki/Encode/H.264

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章