ffmpeg for linux是個支持錄音錄屏和編譯,以及配合部分軟件進行直播推送的多功能媒體處理工具,可以和大量你電腦里面的環境變量進行搭配,還能進行音頻的合并和轉碼,對于視頻制作者來說,真心超級有用,使用起來也快捷方便!
軟件簡介
FFmpeg 是用于處理音頻、視頻、字幕和相關元數據的多媒體內容的庫和工具的合集。
庫:
libavcodec 提供廣泛的編解碼器實現
libavformat 流協議、容器格式和基本 I / O 訪問實現
libavutil hashers、decompressors 和 miscellaneous utility functions 實現
libavfilter 解碼的音頻和視頻過濾修飾實現
libavdevice 訪問捕獲和播放設備抽象化實現
libswresample 音頻混合和程序重采樣實現
libswscale 光色轉換和程序縮放實現
工具:
ffmpeg 操縱、轉換和流傳輸多媒體內容的命令行工具箱
ffplay 簡約的多媒體播放器
ffprobe 檢查多媒體內容的簡單分析工具
ffserver 直播多媒體流服務器
附加的一些小工具,比如 aviocat、 ismindex 和 qt-faststart
相關庫功能
ffmpeg相關的庫主要是以下7個
libavutil:用于多媒體編程,主要包含安全合適的字符串操作函數、數學運算函數、隨機數字生產器、數據結構、多媒體處理的相關函數(如對像素和采樣格式的計數)等,但它不是libavcodec和libavformat所需的庫代碼;
libavcodec、libavformat:有些視頻文件格式(如AVI)沒有指出應該使用哪種編碼(如h.264)來解析音頻和視頻數據,它們只是按視頻格式封裝音視頻數據,所以經常碰到打開視頻文件只能聽到聲音而沒有畫面,則用libavformat來解析視頻文件并將編碼流分離出來,libavcodec對流進行解碼;
libavdevice:為一些常見的多媒體輸入或輸出設備提供了抓取和渲染的通用架構,并且很多輸入和輸出設備,如Video4Linux2, VfW, DShow, and ALSA;
libavfilter:提供了一個通用規定音視頻過濾架構,包括一些過濾器、源、匯(什么是源、匯,我也沒搞清楚,待研究)
libswscale:執行高度優化的圖像縮放、色彩、像素格式轉換操作
libswresample:執行高度優化的音頻重采樣、重換算、樣本格式轉換操作

linux下載及安裝ffmpeg
java項目在壓縮視頻的時候使用了ffmpeg.exe,在windows系統下可以使用,發布到linux后無法直接調用ffmpeg.exe文件,需要在linux系統下安裝ffmpeg。現總結如下:
1線上下載 及解壓
PowerShell
wget http://www.ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz
tar -zxvf ffmpeg-4.3.1.tar.gz
2、 進入解壓后目錄,輸入如下命令/usr/local/ffmpeg為自己指定的安裝目錄.然后安裝.如果出現錯誤,請看最后備注。
PowerShell
cd ffmpeg-4.3.1
./configure --prefix=/usr/local/ffmpeg
make && make install
注意:最后的安裝時候需要很長時間,以及出現多個警告warning。沒關系,等待即可。
3、配置環境變量(進入vi環境)
PowerShell
vi /etc/profile? ?然后一直按enter鍵往下走走到最后
在最后unset i后面添加環境變量(輸入:i然后回車進入編輯模式):
export PATH=$PATH:/usr/local/ffmpeg/bin? ? 回車
保存退出(:wq)
查看是否生效
source /ect/profile? 設置生效
效果如下:
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
unset i
export PATH=$PATH:/usr/local/ffmpeg/bin
"/etc/profile" 79L, 1876C written
[root@izm5e7giopzqoxm6ejeva8z ~]# source
-bash: source: filename argument required
source: usage: source filename [arguments]
[root@izm5e7giopzqoxm6ejeva8z ~]# source /etc/profile
[root@izm5e7giopzqoxm6ejeva8z ~]# ffmpeg
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
configuration: --prefix=/usr/local/ffmpeg
libavutil? ? ? 56. 51.100 / 56. 51.100
libavcodec? ? ?58. 91.100 / 58. 91.100
libavformat? ? 58. 45.100 / 58. 45.100
libavdevice? ? 58. 10.100 / 58. 10.100
libavfilter? ? ?7. 85.100 /? 7. 85.100
libswscale? ? ? 5.? 7.100 /? 5.? 7.100
libswresample? ?3.? 7.100 /? 3.? 7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
Use -h to get full help or, even better, run 'man ffmpeg'
[root@izm5e7giopzqoxm6ejeva8z ~]# ffmpeg -version
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
4、配置完環境變量后 查看版本
PowerShell
ffmpeg -version? ? 查看版本
環境變量配置完成前 查看版本
PowerShell
cd /usr/local/ffmpeg/bin 到ffmpeg的安裝路徑下
./ffmpeg -version? ? 查看版本
更新內容
MagicYUV 編解碼器(實驗性)
Bitstream 過濾器,用于在 H.264,HEVC 和 MPEG-2 流中編輯元數據
TiVo ty/ty demuxer
原生 aptX 和 aptX HD 編解碼器
英特爾 QSV 加速 MJPEG 編碼
英偉達 NVDEC 加速 H.264,HEVC,MJPEG,MPEG-1/2/4,VC1,VP8 / 9 hwaccel 解碼
英特爾 QSV 加速 overlay filter
mcompand audio filter
acontrast audio filter
OpenCL overlay filter
video mix filter
video normalize filter





