FFMS2 官方說明譯文 [原創]


原文:https://github.com/FFMS/ffms2
譯文:http://www.cnblogs.com/popapa/p/ffms2.html
采集日期:2018-3-18

FFmpegSource 常被稱為 FFMSFFMS2,是一種跨平台的 FFmpeg 封裝庫。有了它,你就可以簡單地實現:“打開並解壓多媒體文件就是了,實現細節不用我操心”。大多數情況下,你還能用它精確訪問到每一幀數據,再也不必經常受困於蒼白無力的 FFmpeg API 文檔了。

雖然 FFMS2 庫是用 C++ 編寫的,但暴露出來的 API 卻是純 C 格式的。這樣你只要能鏈接 C 庫,就能使用 FFMS2 了。其源代碼的版權遵守 MIT 協議,但二進制庫的版權得根據 FFmpeg 部分的編譯方式而定。你可以選用 FFmpeg 部分是遵守 GPL 協議的庫,這樣 FFMS2 就同樣得遵守 GPL 協議了。正是由此,官方的 Windows 版本才須遵守 GPLv3 協議。

關於如何使用 FFMS2 庫的詳細信息,請參閱 API 文檔我的譯文) 和 更新日志

Avisynth 和 VapourSynth 插件

對於最終的使用者而言,FFMS 的最常見用途是作為 AvisynthVapourSynth 的多媒體源插件(plugin ),用來打開多媒體文件。本 FFMS2 項目包含了插件功能,可以直接下載,相關文檔請參閱 Avisynth 用戶手冊

功能特性

除了能打開幾乎所有常見的視頻、音頻格式外,在所有 Avisynth 多媒體源濾鏡(filter)中,本插件的以下特性也算得上是獨一無二了:

  • 唯一支持 Unicode 文件名,即便系統的地區代碼頁(codepage)沒能標明;
  • 唯一支持可變幀率(VFR);
  • 唯一可在 Wine 下穩定運行的 Avisynth 通用源濾鏡(不局限於某些格式);
  • 唯一不依賴其他外部解碼器的通用源濾鏡;
  • 或許是唯一支持播放過程中(mid-stream)切換視頻分辨率的源濾鏡。

版本代號

為了避免您對多種版本代號感到困惑,以下稍作解釋:

  • Vanilla(不帶后綴):標准的 32 位版。如果你不知道該怎么選,那就用這個版本。
  • -x64:64位版;最適用於 64 位版的 Avisynth。
  • -avs-cplugin:用 C 寫的 Avisynth 插件。主要是為了能讀取 Avisynth 2.6 新定義的色彩空間數據。
  • SDK:開發包,用於開發 Windows 程序,適用於 Visual Studio 2008 以上版本。

標有 rXXX 的版本是在正式發布版之間的測試版本。如果需要用到最新的特性,或者只是想嘗嘗鮮,那你盡可以下載試用。請注意測試版本的穩定性,可能不如官方發布版本。

取名 FFmpegSource 其實沒什么理由

FFMS 最初是作為 Avisynth 讀取文件的插件存在的,一度被稱為 FooSource,這里的 Foo 通常表示是用於打開文件的功能。由於歷史原因,整個項目仍被稱為 FFmpegSource。當然最近幾年,FFmpegSource 確實會讓人產生誤會,可能會被認為是 FFmpeg 的源代碼之類的。為了避免混淆,最好還是用 FFMS2 來表示(因為第 1 版還只是 Avisynth 的插件),就讓 FFmpegSource 專用於表示 Avisynth 插件吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM