(轉)幾個開源的視頻編解碼器介紹


出處:http://blog.csdn.net/xy365/article/details/8424600
 

    排名分先后。

一、ffmpeg

    ffmpeg屬於GPL或者LGPL,確切屬於哪一種,要根據編譯選項,因為它里面的庫有些屬於GPL的有些屬於LGPL的,你編譯的時候打開或者關閉這些庫的選項,就決定了它屬於哪一種。
http://www.ffmpeg.org/legal.html
ffmpeg項目由以下幾部分組成:
ffmpeg 視頻文件轉換命令行工具,也支持經過實時電視卡抓取和編碼成視頻文件.
ffserver 基於HTTP(RTSP正在開發中)用於實時廣播的多媒體服務器.也支持時間平移
ffplay 用 SDL和FFmpeg庫開發的一個簡單的媒體播放器
libavcodec 一個包含了所有FFmpeg音視頻編解碼器的庫.為了保證最優性能和高可復用性,大多數編解碼器從頭開發的.
libavformat 一個包含了所有的普通音視格式的解析器和產生器的庫.
 

二、Xvid

     Xvid(舊稱為XviD)是一個開放源代碼的MPEG-4視頻編解碼器,它是基於OpenDivX而編寫的。官方網站:www.xvid.org

 

三、X264

    X264是一種免費的、具有更優秀算法的符合H.264/MPEG-4 AVC視頻壓縮編碼標准格式的編碼庫。x264壓縮出的視頻文件在相同質量下要比xvid壓縮出的文件要小,或者也可以說,在相同體積下比xvid壓縮出的文件質量要好。它符合GPL(General Public License,是一份GNU通用公共授權)許可證。X264屬於videolan開源工程的一部分。http://www.videolan.org/developers/x264.html

  采用CAVLC/CABAC多種算法編碼
  內置所有macroblock格式(16x16, 8x8, and 4x4 )
  Inter P:所有的分割塊(從16x16到4x4 )
  Inter B:分割塊從16x16到8x8
  碼率控制:恆定的分層編制,單次或多次的ABR壓制,可選的VBV壓制
  場景剪切偵測
  支持B-frame
  能夠任意編制B-frame命令行
  無損模式
  8x8和4x4的格式能夠進行翻轉或旋轉
  自定義精確的矩陣模板
  可在多個CPU平行編碼
  隔行掃描

 

    X264只提供編碼,不提供解碼。 解碼部分需要FFMPEG完成;XVID有編解碼部分,其中解碼亦可以利用FFMPEG中的MPEG4完成解碼。

 

四、ffdshow

    ffdshow是對一些codec(ffmpeg, xvid, and other)的封裝,封裝成了DirectShow和VFW的標准組件。該庫(軟件)只能在windows平台運行,是屬於GPL

比如對於xvid來講,ffdshow是可以選擇具體使用那個codec的,ffmpeg(libavcodec) or xvid。那么封裝有沒有額外的成本哪?有,但對大部分應用來講,可以忽略不計。就如c++和c。
vfw和dshow里的CODEC分別是通過fourcc碼和guid機制尋找的,可以在系統注冊codec后調用,比自帶編解碼庫形式更加統一,便於使用。此外,vfw和dshow是代表了兩個微軟不同時期的音視頻處理封裝庫,里面包含了音視頻驅動,音視頻處理的一整套方案。

    DirectShow是微軟公司在ActiveMovie和Video for Windows的基礎上推出的新一代基於COM的流媒體處理的開發包,與DirectX開發包一起發布。目前,DirectX最新版本為9.0。 DirectShow為多媒體流的捕捉和回放提供了強有力的支持。運用DirectShow,我們可以很方便地從支持WDM驅動模型的采集卡上捕獲數據, 並且進行相應的后期處理乃至存儲到文件中。這樣使在多媒體數據庫管理系統(MDBMS)中多媒體數據的存取變得更加方便。DirectShow是微軟公司 提供的一套在Windows平台上進行流媒體處理的開發包,與DirectX開發包一起發布。運用DirectShow,我們可以很方便地從支持WDM驅動模型的采集卡上捕獲數據,並且進行相應的后期處理乃至存儲到文件中。它廣泛地支持各種媒體格 式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒體數據的回放變得輕而易舉。另外,DirectShow還集成了DirectX 其它部分(比如DirectDraw、DirectSound)的技術,直接支持DVD的播放,視頻的非線性編輯,以及與數字攝像機的數據交換。

    vfw(Video For Windows)

 

五、CoreAVC

     CoreCodec的CoreAVC高清H.264視頻解碼器是基於已經被用於AVCHD、藍光光盤和HD-DVD中的MPEG-4 Part 10標准構建的。H.264是下一代的視頻編碼標准,而CoreAVC?是目前公認世界上最快的H.264軟解碼器。


免責聲明!

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



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