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: