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