FFmpeg全名是Fast Forward MPEG(Moving Picture Experts Group),為開源的影音多媒體處理框架,可以進行影音的解碼、編碼、編碼轉換、混合、抽取、串流和濾鏡,無論影音格式是從哪個地方出來的,從過去到現在的影音格式它幾乎都能夠支援。FFmpeg也有很不錯的可攜性和可移植性,可以使用在Linux, macOS, Microsoft Windows, BSDs, Solaris等多種不同的作業系統和多種硬體架構上。
FFmpeg提供給開發者和使用者絕佳的技術解決方案。除了自帶的函式庫之外,它還能夠和許多其它免費的第三方函式庫結合使用。開發者和使用者能夠自己選擇要啟用哪些函式庫,來建立出最適合自己用途的FFmpeg。
FFmpeg並不是一支簡單的小程式,它是個龐大的框架,由許多工具和函式庫組成。
工具包含以下幾種:
- ffmpeg:用來轉換不同格式的多媒體檔案,為FFmpeg最主要的工具。
- ffplay:基於SDL(Simple DirectMedia Layer)和FFmpeg函式庫的簡易播放器。
- ffprobe:簡易的多媒體串流分析器。
函式庫則包含以下幾種:
- libavutil:一些程式上會用到的函式與資料結構。
- libavcodec:用來編碼與解碼不同的影音格式。
- libavformat:用來處理承載影音串流的多媒體容器。
- libavdevice:用來從不同的裝置輸入多媒體,或是將多媒體輸出至不同裝置。
- libavfilter:用來進行視訊和音訊的濾鏡處理。
- libswscale:用極佳的方式縮放影像,也可以用來轉換色彩空間。
- libswresample:用極佳的方式處理音訊取樣。
- libpostproc:用來對視訊做前處理。
- 其它第三方函式庫:可藉由編譯FFmpeg前的configure程式來決定要開關哪些函式庫。如lame、libx264、libx265、libaom、libfdk-aac等等。
取得FFmpeg
文章開頭便提到,FFmpeg是一款開源的影音多媒體處理框架,因此可以在FFmpeg的官方網站,取得FFmpeg的原始碼,網址如下:
取得原始碼之後,便可以在自己的環境上編譯FFmpeg了。如果您不知道該怎麼編譯FFmpeg,FFmpeg的官方網站也替不同的作業系統提供取得已編譯好的FFmpeg,按照官方網站的指示去下載使用即可。
如果您是使用Linux作業系統,可以參考以下方式來安裝或是編譯FFmpeg。
在Linux安裝FFmpeg
Debian或是其衍生的Linux發行版可以直接用以下指令來安裝FFmpeg和相關套件:
sudo apt install ffmpeg
Fedora則可以用以下指令來安裝FFmpeg和相關套件:
sudo dnf install ffmpeg
在Ubuntu上編譯FFmpeg
如果您是使用Ubuntu,可以參考以下連結的文章來自行編譯FFmpeg: