日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【图像处理】H.264开源解码器评测

發布時間:2023/12/10 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【图像处理】H.264开源解码器评测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://wmnmtm.blog.163.com/blog/static/38245714201142883032575/

要播放HDTV,就首先要正確地解開封裝,然后進行視頻音頻解碼。所以我們需要分離器視頻解碼器音頻解碼器,俗稱hdtv的“三件套”,又統稱濾鏡。

H264的分離器:

常見的有Gabest MP4分離器,就是MP4splitter,也是Gabest編寫的,Halli的分離器和NDigital分離器等。

H264的視頻解碼器:

CoreAVC的H264視頻解碼器CoreAVC DirectShow Video Decoder。

月光的H264解碼器,全稱為Moonlight?H264 Video Decoder,ffdshow的解碼器,全稱為ffdshow MPEG-4 Video Decoder,能打開N卡顯卡硬件加速的CyberLink H.264/AVC Decoder(PDVD7)。

音頻解碼器:

ffdsshow,月光音頻解碼器、WinDVD的音頻解碼器、PowerDVD的音頻解碼器、AC3Filter音頻解碼器。

如果播放HDTV時碰到有聲無畫或者有畫無聲,就應該自己從解碼器著手,替換一個試試。

緣起:HDTV的減肥藥

其實HDTV個頭大的根本原因,并非是分辨率太高,而是采用的MPEG2視頻壓縮算法力道不夠,換成MPEG4就好得多,基本上可壓縮到幾G,但目前MPEG4編碼群雄并起,編解碼方案很不統一,有時拿著一部好片折騰半天卻放不出來,再好的脾氣也不免搓火。

現階段比較好的選擇是H.264/AVC。它是由ITU-T的VCEG(視頻編碼專家組)和ISO/IEC的MPEG(運動圖像專家組)共同開發的視頻處理標準,ITU-T稱為H.264,而ISO/IEC稱為AVC(高級視頻編碼),并將其作為MPEG-4 Part 10。可以說,H.264代表了當前業界最先進的視頻壓縮技術,具有壓縮比高、碼率低、圖像質量好、容錯能力強、網絡適應性廣等優點,在數字影像、網絡電話、多媒體、IPTV、通訊等領域得到越來越廣泛的應用。用H.264來處理HDTV,不僅能保留較高的視頻質量,而且可以將HDTV瘦身到令人驚訝的程度,實在是對了HDTV肥胖癥的減肥藥。

實戰:自己動手編碼H.264影片

現在H.264的編碼器已經很多,MainConcept H.264 Encoder和X264都很不錯。下面以MainConcept H.264 Encoder為例,介紹如何將Mpeg-HDTV轉換為H.264-HDTV。

啟動MainConcept H.264 Encoder,在Video編輯框中輸入待轉換視頻文件名,或點擊旁邊的Open按鈕選擇。MainConcept H.264 Encoder能識別絕大多數視頻格式,包括HDTV常使用的TS和M2V、MPG、AVI、WMV格式。由于許多HDTV節目視頻和音頻是分離的,因此 MainConcept H.264 Encoder單獨設置了Audio編輯框,可在其中輸入HDTV音頻文件,或用旁邊的Open按鈕選擇。如果音視頻是合成在一起的,那么選擇視頻文件后,Audio編輯框自動出現該視頻文件,勿需再選擇音頻文件了。Output編輯框設置目標文件名,一般為MPG文件。

下面Output format欄設置目標文件的格式。設置好后,點擊主界面下的Convert按鈕,即可開始轉換。由于H.264編碼需要大量計算,頗為耗時,所以用戶得有比較好的耐心。編碼完成后,大家可以拿目標文件同源文件對比一下,不難發現用H.264編碼的HDTV文件大小只有MPEG2編碼的三分之一左右。

小貼士:輸出文件格式的具體設置

MPEG項: 和H.264相關的有三項:H.264 Baseline、H.264 Main和H.264High,其編碼的畫面質量從低到高,通常選擇H.264 Main就可以了。

Video項:設置制式NTSC或PAL,最好選擇與源文件一致的制式,以保證轉換效果并減少轉換時間。

Stream項:設置流格式,主要有三種:Elementary、Program和Transport,HDTV通常使用最后一種格式,因此選擇Transport(Video+Audio)項較為合適。

Audio項:設置音頻格式,使用Layer2和AAC均可。點擊Details按鈕彈出輔助設置對話框,在此設置碼率(Bitrate)以及音頻格式等,還可以利用Muxer欄的選項分割HDTV文件。點擊Video欄中的Advanced按鈕,可更詳細地設置視頻參數。不建議普通用戶修改。

回放:幫暴風影音搞定H.264

H.264的解碼器現在太多了,不過Moonlight H.264 Video Decoder格外好一些。這款HDTV解碼器的品質得到了廣泛的認可,幾乎成了HDTV的標準解碼器。下面講講怎么把它和常用的暴風影音結合起來。

安裝Moonlight H.264 Video Decoder,完成后啟動暴風影音,選擇“查看→選項”菜單,彈出選項對話框。點擊“濾鏡”項下的“管理”子項,再在右邊的“管理”頁中點擊“添加濾鏡”按鈕。

彈出選擇濾鏡對話框,點擊“瀏覽”按鈕,到C:\Program Files\Common Files\Moonlight文件夾中找到h264dec.ax濾鏡,將其加入,這樣Moonlight H.264 Video Decoder解碼器就添加到暴風影音中。最后別忘了在“管理”頁中將Moonlight H.264 Video Decoder設為“首選”。

支招:回放吃力的問題

試著播放剛才壓縮的HDTV,暴風影音已能正常解碼,畫面也很精致,與源文件相比,畫質損失很小,可就是太卡了!H.264非常考驗CPU的運算能力。本來MPEG2格式的解碼,就讓許多CPU敗下陣來,若無支持HDTV硬解壓的顯卡幫忙,非得有頂級的配置才能使播放較為流暢。而H.264的算法比MPEG2更復雜,如果純軟件解碼,即使是目前頂級的配置,解碼高分辨率H.264-HDTV也比較吃力。

還好,ATI和Nvidia都有支持H.264硬解碼的GPU推出。ATI的R520即使在較低配置下,也可以流暢地解碼H.264-HDTV,只是價位不那么平易近人。而Nvidia方面,因為Geforce6/7系列GPU都內建PureVideo視頻引擎,只需升級PureVideo,即可使Geforce6/7系列支持H.264解碼,這一點比較實惠。至于解碼效率,雖不及采用純硬件解碼模式,但比純軟件解碼還是強些。Nvidia稱,在Forceware85的支持下,6600GT之后NvidiaGPU產品都可以全速解碼1080p高清晰H.264視頻。CES2006上曾有人用Geforce7800演示H.264解碼,效果還不錯。

H.264標準的由來

1998年,視頻編碼專家組(ITU-TVCEG)啟動了H.26L工程,旨在研制新的視頻編碼壓縮標準,要做到盡可能地簡單直觀,同時網絡適應性要足夠好,以適合廣播、存儲、流煤體等交互或非交互式應用。

2001年12月,VCEG和運動圖像專家組(ISO/IECMPEG)組成聯合視頻組(JVT),在H.26L基礎上研制出H.264/AVC編碼標準,于2003年3月正式獲得ISO/IEC批準。

在網絡時代,視頻往往要借助網絡進行傳播,這就要求一個好的視頻方案能適應各種網絡應用及網絡類型。H.264/AVC無疑做到了這點。它包含兩個層次:視頻編碼層(VCL)和網絡抽象層(NAL),前者主要致力于有效地表示視頻內容,后者則規范視頻數據的格式,主要是提供頭部信息,以適合各種媒體的傳輸和存儲。

H.264/AVC的高壓縮率及其優良的網絡特性,使它可能在網絡電話、視頻點播、IPTV、視頻會議、視頻聊天、遠程教學、廣播電視、HDTV、流媒體服務、3GPP多媒體信息服務、視頻郵件等方面得到廣泛的應用。

轉自:http://blog.csdn.net/sunshine1314/article/details/712401 H.264開源解碼器評測

Peter Lee 2006.05.07 videosky.9126.com

?

20035月,當H.264編碼標準草案發布時,很多人都覺得H.264太復雜,不宜實用。眨眼間3年過去了,以往的論斷、疑惑被如今的現實沖洗的干干凈凈。隨著硬件性能的提高和視頻編碼工作者對H.264的不斷優化,如今的H.264已完全實用,最新的達芬奇芯片上能實現D1分辨率(720*480)視頻的實時編碼,而對于解碼,普通的PC機就能實現x264編碼的DVDrip電影的流暢播放。縱觀過去的三年,有多少人對H.264傾注了熱情和汗水才換來今天的成績,而那些H.264的開源項目以及參與這些項目的開發者自然是功不可沒。

本文評測的是作者接觸過的H.264開源解碼器,包括:JM decoder, T264 decoder, x264 decoder, ffmpeg libavcodec, Intel IPP simple player。評測的內容有:對H.264特性的支持、解碼速度以及二次開發難易程度。

?

一、H.264開源解碼器介紹

1JM decoder

JM decoderH.264的官方源碼,通常也稱為校驗模型。其特點是支持特性好,實用性差。本文選用的程序是JM86,不支持high profile,因為本文不對high profile部分進行實驗比較。

NOTE: JM一直沒有做實用化方面的努力,所以其解碼速度代表的是2003年的水平。

?

2T264 decoder

T264是國內的開源項目,T264 decoder的程序做過匯編優化,速度還可以,但只能解T264本身的碼流。作者對T264 decoder version 0.142005-3-29)作了修改,支持baseline的解碼。

?

3x264 decoder

x264本沒有decoder,但其包含decoder的部分函數雛形,猜想作者在一開始時是準備實現decoder,后來可能是因為有了ffmpeg,就放棄了這個想法(純粹屬于猜測,呵呵)。

本文的x264 decoder是作者在x264 svn check out 2005.12.26的基礎上實現的,支持baseline的解碼。

?

4ffmpeg libavcodec

ffmpeg是一個大項目,它包含各種音視頻標準的codec,還支持各類file format.avi, .mp4, .mkv and etc)的parsing。所以,很多開源項目都有直接或間接地采用了ffmpeg,如mplayer播放器就是直接采用了ffmpeg,而mpc播放器則是先采用了ffdshow filter,而ffdshow又采用了ffmpegffmpeg是一個非常棒的音視頻編解碼庫,支持的標準非常全,而且編解碼速度也很快。

本文實驗采用的是cvs check out 2006.02.20的版本,作者對其中的apiexample demo進行了簡單的修改,用于解碼h.264碼流

?

5Intel IPP simple player

IntelIPP庫,全稱為Integrated Performance Primitives,在Intel的各種處理器平臺(IA-32, Itanium, xscale and etc)上實現了信號處理常用算法、常用數學運算及音視頻編解碼算法等等。IPP給我的第一感覺是,在Intel的處理器平臺上,它實現的各種算法應該是最快的,至于實際結果如何,待等到實驗比較后見分曉。

本文采用的IPP庫版本為IA32 5.1.017?評估版

Intel IPP simple player是用于播放各種音視頻文件的簡單播放器,用c++實用,具體算法調用IPP庫來實現。本文采用的simple player版本是5.0.017

?

二、對于H.264特性的支持

1JM86 decoder

support baseline, extended, main profile

?

2T264 decoder

baseline

?

3x264 decodeer

baseline

?

4ffmpeg libavcodec

support baseline, main profile, high profile except the feature: paff, mbaff…

?

5Intel IPP simple player

support baseline and main profile

?

【簡單結論】

解碼速度:ffmpeg > IPP simple player > x264 decoder > t264 decoder > jm86 decoder

ffmpeg的編碼速度為基準,假設為100fps,則:

IPP simple player90fps

x264 decoder50fps

t264 decoder30fps

jm86 decoder3fps

?

五、程序開發上的比較

我估計閱讀本文的大部分讀者都是搞開發的,因此,閱讀過程中自然會思考如何在程序開發上借鑒或者采用以上開源的H.264解碼器,下面就針對程序開發上的難易、適用場合等作個比較。

1JM86 decoder

適合寫paper群體

?

2T264 decoder

3x264 decodeer

兩者代碼非常相似,所以就合在一起講了。這兩個源碼的程序結構都比較清晰,支持vcgcc的編譯環境,但對H.264的特性支持不好,解碼速度和ffmpeg相比,還有差距。

?

4ffmpeg libavcodec

程序結構比較差,H.264解碼的代碼基本上在h264.c一個文件中,這個文件有8000多行,不利于閱讀。

編譯環境為gccMinGW,移植到vc下比較難(我嘗試過)。

解碼速度快(BTW:?通過doom9論壇了解到,目前最快的h.264解碼器是CoreAVC decoder,比ffmpeg50%左右)。

對于H.264特性的支持好。

?

5Intel IPP simple player

分兩個方面講:

aIPP

我覺得是非常棒的,但實現的是H.264解碼(IPP中也有H.264編碼)的一些關鍵函數,如deblockdct,插值補償等,不能直接拿來用。

其它的缺點:IPP庫是商業軟件,要money的,而且只支持Intel平臺

bsimple player

開源,用c++寫的,而且是directshow編程,也就是說只支持windows平臺。

其解碼速度比ffmpeg10%左右,我覺得原因不在于IPP庫,而是simple player的代碼不夠完善。

總結

以上是生活随笔為你收集整理的【图像处理】H.264开源解码器评测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。