(转)几个开源的视频编解码器介绍
?? ?排名分先后。
一、ffmpeg
??? ffmpeg屬于GPL或者LGPL,確切屬于哪一種,要根據(jù)編譯選項(xiàng),因?yàn)樗锩娴膸煊行儆贕PL的有些屬于LGPL的,你編譯的時(shí)候打開或者關(guān)閉這些庫的選項(xiàng),就決定了它屬于哪一種。
http://www.ffmpeg.org/legal.html
ffmpeg項(xiàng)目由以下幾部分組成:
ffmpeg 視頻文件轉(zhuǎn)換命令行工具,也支持經(jīng)過實(shí)時(shí)電視卡抓取和編碼成視頻文件.
ffserver 基于HTTP(RTSP正在開發(fā)中)用于實(shí)時(shí)廣播的多媒體服務(wù)器.也支持時(shí)間平移
ffplay 用 SDL和FFmpeg庫開發(fā)的一個(gè)簡單的媒體播放器
libavcodec 一個(gè)包含了所有FFmpeg音視頻編解碼器的庫.為了保證最優(yōu)性能和高可復(fù)用性,大多數(shù)編解碼器從頭開發(fā)的.
libavformat 一個(gè)包含了所有的普通音視格式的解析器和產(chǎn)生器的庫.
?
二、Xvid
?????Xvid(舊稱為XviD)是一個(gè)開放源代碼的MPEG-4視頻編解碼器,它是基于OpenDivX而編寫的。官方網(wǎng)站:www.xvid.org
?
三、X264
??? X264是一種免費(fèi)的、具有更優(yōu)秀算法的符合H.264/MPEG-4 AVC視頻壓縮編碼標(biāo)準(zhǔn)格式的編碼庫。x264壓縮出的視頻文件在相同質(zhì)量下要比xvid壓縮出的文件要小,或者也可以說,在相同體積下比xvid壓縮出的文件質(zhì)量要好。它符合GPL(General Public License,是一份GNU通用公共授權(quán))許可證。X264屬于videolan開源工程的一部分。http://www.videolan.org/developers/x264.html
采用CAVLC/CABAC多種算法編碼
內(nèi)置所有macroblock格式(16x16, 8x8, and 4x4 )
Inter P:所有的分割塊(從16x16到4x4 )
Inter B:分割塊從16x16到8x8
碼率控制:恒定的分層編制,單次或多次的ABR壓制,可選的VBV壓制
場景剪切偵測
支持B-frame
能夠任意編制B-frame命令行
無損模式
8x8和4x4的格式能夠進(jìn)行翻轉(zhuǎn)或旋轉(zhuǎn)
自定義精確的矩陣模板
可在多個(gè)CPU平行編碼
隔行掃描
?
????X264只提供編碼,不提供解碼。?解碼部分需要FFMPEG完成;XVID有編解碼部分,其中解碼亦可以利用FFMPEG中的MPEG4完成解碼。
?
四、ffdshow
??? ffdshow是對(duì)一些codec(ffmpeg, xvid, and other)的封裝,封裝成了DirectShow和VFW的標(biāo)準(zhǔn)組件。該庫(軟件)只能在windows平臺(tái)運(yùn)行,是屬于GPL
比如對(duì)于xvid來講,ffdshow是可以選擇具體使用那個(gè)codec的,ffmpeg(libavcodec) or xvid。那么封裝有沒有額外的成本哪?有,但對(duì)大部分應(yīng)用來講,可以忽略不計(jì)。就如c++和c。
vfw和dshow里的CODEC分別是通過fourcc碼和guid機(jī)制尋找的,可以在系統(tǒng)注冊(cè)codec后調(diào)用,比自帶編解碼庫形式更加統(tǒng)一,便于使用。此外,vfw和dshow是代表了兩個(gè)微軟不同時(shí)期的音視頻處理封裝庫,里面包含了音視頻驅(qū)動(dòng),音視頻處理的一整套方案。
??? DirectShow是微軟公司在ActiveMovie和Video for Windows的基礎(chǔ)上推出的新一代基于COM的流媒體處理的開發(fā)包,與DirectX開發(fā)包一起發(fā)布。目前,DirectX最新版本為9.0。 DirectShow為多媒體流的捕捉和回放提供了強(qiáng)有力的支持。運(yùn)用DirectShow,我們可以很方便地從支持WDM驅(qū)動(dòng)模型的采集卡上捕獲數(shù)據(jù), 并且進(jìn)行相應(yīng)的后期處理乃至存儲(chǔ)到文件中。這樣使在多媒體數(shù)據(jù)庫管理系統(tǒng)(MDBMS)中多媒體數(shù)據(jù)的存取變得更加方便。DirectShow是微軟公司 提供的一套在Windows平臺(tái)上進(jìn)行流媒體處理的開發(fā)包,與DirectX開發(fā)包一起發(fā)布。運(yùn)用DirectShow,我們可以很方便地從支持WDM驅(qū)動(dòng)模型的采集卡上捕獲數(shù)據(jù),并且進(jìn)行相應(yīng)的后期處理乃至存儲(chǔ)到文件中。它廣泛地支持各種媒體格 式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒體數(shù)據(jù)的回放變得輕而易舉。另外,DirectShow還集成了DirectX 其它部分(比如DirectDraw、DirectSound)的技術(shù),直接支持DVD的播放,視頻的非線性編輯,以及與數(shù)字?jǐn)z像機(jī)的數(shù)據(jù)交換。
??? vfw(Video For Windows)
?
五、CoreAVC
??? ?CoreCodec的CoreAVC高清H.264視頻解碼器是基于已經(jīng)被用于AVCHD、藍(lán)光光盤和HD-DVD中的MPEG-4 Part 10標(biāo)準(zhǔn)構(gòu)建的。H.264是下一代的視頻編碼標(biāo)準(zhǔn),而CoreAVC?是目前公認(rèn)世界上最快的H.264軟解碼器。
轉(zhuǎn)載于:https://www.cnblogs.com/lihaiping/p/media.html
總結(jié)
以上是生活随笔為你收集整理的(转)几个开源的视频编解码器介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vb 获取系统声音的电平_质量好的背景音
- 下一篇: 如何快速清空Linux中的大文件?