[Open Source] Something about FFmpeg

FFmpeg 是一個很有名的開放原始碼專案,常被用於處理多媒體資料,包含多種多媒體檔案格式的錄影、播放、轉檔與串流等。FFmpeg 被廣泛運用的開放原始碼專案,它除了本身提供 ffmpeg、ffplay 及 ffserver 命令列工具之外,還包含 codec 函式庫,有許多開放原始碼軟體會基於 FFmpeg 函式庫來開發多媒體工具,其中包含了 MPlayerVideoLAN (VLC media player) 這樣有名的專案。

Wiki 內列出了相關以下幾項內含的工具與函式庫,

  • ffmpeg
  • ffserver
  • ffplay
  • libavcodecc
  • libavformat
  • libavutil
  • libavpostproc
  • libavswscale

一般較常使用 FFmpeg 的方式,就是 command line 了,對於熟習 command 操作的人,這樣的方式可以比使用 GUI 更快達到目的 (更易於程式化)。Linuxaria 網站的 7 Tricks with FFmpeg 解說了幾個實用的使用方法,很值得參考看看。

在 FFmpeg 的社群中,為了堅守開放原始碼的精神,他們採用了 LGPL license ,並對於一些使用 FFmpeg 卻沒有遵守 LGPL license 的軟體設置了「恥辱名單」,這點確實是很有趣的部份,這部份還牽涉到一些法律問題,有興趣的朋友可以搜尋 GPL ,可以找到更多資訊。

隨著 Google 完成 WebM 的開放授權,FFmpeg 也加入 WebM 及 VP8 codec engine

開放原始碼社群彼此協同合作,創造更加自由進步的開發環境,是我們這一代開發人員最幸福的一件事,然而,為了持續維護這樣的環境,也有賴人們對道德意識的重視與法規協議的完善,才能驅動更強大的進步動力。

發佈留言