基于DirectShow的高清視頻播放實現(xiàn)方法
【專利摘要】本發(fā)明涉及一種基于DirectShow的高清視頻播放方法,包括以下步驟:將高清視頻數(shù)據(jù)通過編碼形成H.264/AVC流格式的視頻文件;利用DirectShow構(gòu)建流媒體播放鏈路;通過源過濾器獲取所述視頻文件,并調(diào)用音視頻分離器將所述視頻文件分離出視頻流和音頻流;通過視頻解碼器將所述視頻流解碼形成非壓縮格式的視頻數(shù)據(jù)傳輸至視頻渲染器,通過音頻解碼器將所述音頻流解碼出音頻數(shù)據(jù)傳輸至音頻渲染器;視頻渲染器將非壓縮格式的視頻數(shù)據(jù)提交至顯卡進行顯示處理,音頻渲染器將音頻數(shù)據(jù)提交至聲卡進行處理。本發(fā)明可以實現(xiàn)4K等高清視頻進行流暢的播放,解決了個人電腦等設(shè)備不能播放4K等高清視頻的問題。
【專利說明】基于Di rectShow的高清視頻播放實現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻處理【技術(shù)領(lǐng)域】,特別涉及一種基于DirectShow的高清視頻播放 方法。
【背景技術(shù)】
[0002] 高清視頻已走進千家萬戶,并向著4K超清、8K超高清發(fā)展,雖然4K電視機已經(jīng)問 世,但是4K電視節(jié)目卻因為線路等硬件問題沒有普及。
[0003] 視頻的容量也會越來越大。在保證清晰度、流暢度的情況下,盡量縮小視頻文件的 體積為目標,高分辨率大容量視頻的編解碼上就不斷提出了新的挑戰(zhàn)。因此涌現(xiàn)出國際上 壓縮技術(shù)組織發(fā)布的一系列編碼建議書MPEG-4、VC-1、H. 264、H. 265等,其中H. 264/AVC編 碼格式是目前非常成熟的高清壓縮格式。
[0004] 市面上的播放器種類繁多,功能也是多種多樣,但他們架構(gòu)基本都來自這三大經(jīng) 典架構(gòu)MPlayer、MPC和VLC的其中之一。其中Microsoft的DirectShow針對MPC架構(gòu)給 程序員提供了一套開發(fā)多媒體標準的、統(tǒng)一的、高效的API接口,這些接口使得多媒體數(shù)據(jù) 的回放變得簡單,剝離了應(yīng)用程序和硬件底層的差異性。DirectShow使用智能連接開發(fā)多 媒體應(yīng)用程序,大大簡化了開發(fā)人員工作量,該技術(shù)得到廣闊的應(yīng)用。
[0005] 目前,市面上比較流行1080P的高清視頻,也就是1920x1080分辨率的視頻,并且 還有少量3840x2160的4K視頻。視頻的壓縮格式是多種多樣的,4096x4096分辨率、24幀 每秒的非壓縮格式RGB24原始視頻,若能流暢播放,每秒鐘就有1G左右的數(shù)據(jù)流量,而當前 個人電腦的固態(tài)硬盤讀取速度最快只有500M每秒,該流格式通過電腦是不可能播放的,也 就是說,4K非壓縮格式的原始視頻目前在個人電腦上都不能流暢播放的,而壓縮格式的4K 視頻,即便能夠流暢播放的,由于壓縮方面的原因使得視頻都不清晰。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的主要目的在于,針對上述現(xiàn)有技術(shù)中的不足,提供一種基于DirectShow 的高清視頻播放實現(xiàn)方法。
[0007] 本發(fā)明解決現(xiàn)有技術(shù)問題所采用的技術(shù)方案是:一種基于DirectShow的高清視 頻播放方法,包括以下步驟:
[0008] 將高清視頻數(shù)據(jù)通過編碼形成H. 264/AVC流格式的視頻文件;
[0009] 利用DirectShow構(gòu)建流媒體播放鏈路;
[0010] 通過源過濾器獲取所述視頻文件,并調(diào)用音視頻分離器將所述視頻文件分離出視 頻流和音頻流;
[0011] 通過視頻解碼器將所述視頻流解碼形成非壓縮格式的視頻數(shù)據(jù)傳輸至視頻渲染 器,通過音頻解碼器將所述音頻流解碼出音頻數(shù)據(jù)傳輸至音頻渲染器;
[0012] 視頻渲染器將非壓縮格式的視頻數(shù)據(jù)提交至顯卡進行顯示處理,音頻渲染器將音 頻數(shù)據(jù)提交至聲卡進行處理。
[0013] 優(yōu)選地,所述視頻解碼器、音頻解碼器為K-Lite解碼器。
[0014] 優(yōu)選地,將高清視頻數(shù)據(jù)通過編碼形成H. 264/AVC流格式的視頻文件的步驟中, 采用MeGUI視頻轉(zhuǎn)換工具進行視頻編碼。
[0015] 優(yōu)選地,所述高清視頻數(shù)據(jù)為4K或8K視頻數(shù)據(jù)。
[0016] 本發(fā)明的有益效果是:本發(fā)明首先通過H.264/AVC標準將高清視頻數(shù)據(jù)編碼壓 縮形成數(shù)據(jù)量較小的視頻文件,再利用DirectShow流媒體播放鏈路對視頻進行播放,具體 的,先將視頻文件分離出視頻流和音頻流,再將視頻流通過解碼形成非壓縮格式的視頻,然 后對視頻及音頻進行播放,如此,可以實現(xiàn)4K等高清視頻進行流暢的播放,解決了個人電 腦不能播放4K等高清視頻的問題。
【專利附圖】
【附圖說明】
[0017] 圖1是本發(fā)明實施例中DirectShow構(gòu)建的流媒體播放鏈路的整體結(jié)構(gòu)示意圖;
[0018] 圖2是本發(fā)明實施例基于DirectShow的高清視頻播放實現(xiàn)方法的流程圖;
[0019] 本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
【具體實施方式】
[0020] 以下將結(jié)合附圖及具體實施例詳細說明本發(fā)明的技術(shù)方案,以便更清楚、直觀地 理解本發(fā)明的發(fā)明實質(zhì)。
[0021] DirectShow是一種由微軟公司開發(fā)的能夠讓軟件開發(fā)者對媒體文件執(zhí)行各種不 同處理的應(yīng)用程序設(shè)計接口。它是微軟公司對早先Windows視頻科技的一次更新。基于微 軟公司W(wǎng)indows組件對象模型(COM)框架,DirectShow為大部份微軟公司程序設(shè)計語言提 供了一個媒體的普遍接口,而且是一個可擴展的,能在用戶或開發(fā)者的命令下播放或記錄 媒體文件的,以Filter為基礎(chǔ)的框架。Windows Media Player等播放器運用DirectShow 或者它的各種派生來播放來自文件或是互聯(lián)網(wǎng)上的內(nèi)容。
[0022] 參照圖1所示,圖1示出了 DirectShow構(gòu)建的流媒體播放鏈路。具體包括源過 濾器(Source Filters)、變換過濾器(Transform Filters)及提交過濾器(Rendering Filters),其中,源過濾器用來從數(shù)據(jù)源獲取數(shù)據(jù),并將數(shù)據(jù)傳送到過濾器圖表中,上述 數(shù)據(jù)源可以是互聯(lián)網(wǎng)資源、磁盤文件等,變換過濾器用來獲取、處理和傳送媒體數(shù)據(jù),該 交換過濾器具體包括分離視頻和音頻的音視頻分離器(Splittertransform filter)、解 壓視頻數(shù)據(jù)的視頻解碼器(Video transformfilter)、解壓音頻數(shù)據(jù)的音頻解碼器(Audio transformfilter),提交過濾器用來在硬件上表現(xiàn)媒體數(shù)據(jù),如顯卡和聲卡,或者是任何 可以接受媒體數(shù)據(jù)的地方,如磁盤文件。該提交過濾器具體包括用來顯示圖像的視頻渲 染器(Videorenderer filter)、將音頻數(shù)據(jù)送到聲卡上去的音頻渲染器(Audiorenderer filter) 〇
[0023] 本發(fā)明針對現(xiàn)有技術(shù)中4Κ等高清視頻不能再個人電腦等設(shè)備上流程播放的問 題,利用DirectShow技術(shù)提出了一種高清視頻播放實現(xiàn)方法。
[0024] 參照圖2所示,圖示出了一種基于DirectShow的高清視頻播放方法的流程圖,具 體包括以下步驟:
[0025] S101、將高清視頻數(shù)據(jù)通過編碼形成H. 264/AVC流格式的視頻文件。
[0026] 視頻的壓縮格式是多種多樣的,4096x4096分辨率、24幀每秒的非壓縮格式RGB24 原始視頻,若能流暢播放,每秒鐘就有1G左右的數(shù)據(jù)流量,而當前個人電腦的固態(tài)硬盤讀 取速度最快只有500M每秒,該流格式通過電腦是不可能播放的。而H. 264/AVC編碼具有低 碼率、高質(zhì)量圖像等特點,在和MPEG2和MPEG4 ASP等壓縮技術(shù)相比,在同等圖像質(zhì)量下,采 用H. 264技術(shù)壓縮后的數(shù)據(jù)量只有MPEG2的1/8, MPEG4的1/3 ;H. 264能提供連續(xù)、流暢的 高質(zhì)量圖像(DVD質(zhì)量),因此,本方法采用H. 264/AVC編碼可在保證視頻圖像質(zhì)量的情況下 將高清視頻壓縮為數(shù)據(jù)量較小的視頻文件。
[0027] 可以理解的是,采用MeGn視頻轉(zhuǎn)換工具進行視頻編碼。MeGn可以簡化壓制新型 DVDRIP (多為H264編碼,MKV封裝)及MP4的過程。
[0028] 上述高清視頻數(shù)據(jù)可以是4K或8K視頻數(shù)據(jù)。
[0029] S102、利用DirectShow構(gòu)建流媒體播放鏈路。本發(fā)明中的流媒體播放鏈路為 DirectShow構(gòu)架下的基本播放鏈路,具體如圖1所示及上述所述。
[0030] S103、通過源過濾器獲取所述視頻文件,并調(diào)用音視頻分離器將所述視頻文件分 離出視頻流和音頻流。
[0031] S104、通過視頻解碼器將所述視頻流解碼形成非壓縮格式的視頻數(shù)據(jù)傳輸至視頻 渲染器,通過音頻解碼器將所述音頻流解碼出音頻數(shù)據(jù)傳輸至音頻渲染器。
[0032] 該步驟中的視頻解碼器、音頻解碼器采用K-Lite解碼器,K-Lite解碼一方面作為 一種萬能解碼器,可適應(yīng)多種格式,另一方面,其兼容性好,解碼播放更流暢。
[0033] S105、視頻渲染器將非壓縮格式的視頻數(shù)據(jù)提交至顯卡進行顯示處理,音頻渲染 器將音頻數(shù)據(jù)提交至聲卡進行處理。
[0034] 也就是說,本發(fā)明提供的方法,首先通過H. 264/AVC標準將高清視頻數(shù)據(jù)編碼壓 縮形成數(shù)據(jù)量較小的視頻文件,再利用DirectShow流媒體播放鏈路對視頻進行播放,具體 的,先將視頻文件分離出視頻流和音頻流,再將視頻流通過解碼形成非壓縮格式的視頻,然 后對視頻及音頻進行播放,如此,可以實現(xiàn)4K等高清視頻進行流暢的播放,解決了個人電 腦不能播放4K等高清視頻的問題。
[0035] 以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制其專利范圍,凡是利用本發(fā)明 說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運用在其他相關(guān)的技術(shù)領(lǐng) 域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【權(quán)利要求】
1. 一種基于DirectShow的高清視頻播放方法,其特征在于,包括以下步驟: 將高清視頻數(shù)據(jù)通過編碼形成H. 264/AVC流格式的視頻文件; 利用DirectShow構(gòu)建流媒體播放鏈路; 通過源過濾器獲取所述視頻文件,并調(diào)用音視頻分離器將所述視頻文件分離出視頻流 和音頻流; 通過視頻解碼器將所述視頻流解碼形成非壓縮格式的視頻數(shù)據(jù)傳輸至視頻渲染器,通 過音頻解碼器將所述音頻流解碼出音頻數(shù)據(jù)傳輸至音頻渲染器; 視頻渲染器將非壓縮格式的視頻數(shù)據(jù)提交至顯卡進行顯示處理,音頻渲染器將音頻數(shù) 據(jù)提交至聲卡進行處理。
2. 根據(jù)權(quán)利要求1所述的基于DirectShow的高清視頻播放方法,其特征在于,所述視 頻解碼器、音頻解碼器為K-Lite解碼器。
3. 根據(jù)權(quán)利要求1所述的基于DirectShow的高清視頻播放方法,其特征在于,將高清 視頻數(shù)據(jù)通過編碼形成H. 264/AVC流格式的視頻文件的步驟中,采用MeGn視頻轉(zhuǎn)換工具 進行視頻編碼。
4. 根據(jù)權(quán)利要求1所述的基于DirectShow的高清視頻播放方法,其特征在于,所述高 清視頻數(shù)據(jù)為4K或8K視頻數(shù)據(jù)。
【文檔編號】H04N21/4402GK104159144SQ201410416020
【公開日】2014年11月19日 申請日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
【發(fā)明者】楊兵, 白薇薇 申請人:楊兵