999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

視音頻硬盤采集壓縮系統設計、應用及分析

2011-06-06 08:13:20周偉鋒熊金凱杜歆文
電視技術 2011年20期
關鍵詞:系統

周偉鋒,熊金凱,李 榕,杜歆文

(蘇州廣播電視總臺技術中心,江蘇 蘇州 215006)

0 引言

視音頻采集的方式有很多,從傳統的磁帶采集,到現在的藍光錄制、P2卡采集,還有硬盤錄像機的應用。基于硬盤的采集由于其低廉的成本、方便的文件傳輸方式有著不可替代的作用。但是,采集文件龐大的體積、文件格式的兼容性、較長的轉碼時間使人們對其望而卻步,制約了其發展。蘇州廣播電視總臺通過Decklink系列視頻采集卡以及MainConcept編解碼包的研究,基于DirectShow架構,開發了視音頻硬盤采集并實時壓縮系統,克服了硬盤錄制的種種缺點。

1 硬件結構

對于采集PC的配置無過高要求,可以使用SATA硬盤或者更高速度的SAS盤,SATA硬盤的傳輸速度能夠達到60 Mbyte/s,相對于50 Mbit/s的視頻讀寫速度,帶寬完全夠用,因此在此方面不需特別考慮。PC至少有一個PCIe擴展槽,用來插Decklink采集卡作為信號輸入和采集使用。Decklink采集卡為全數字接口,因此只能輸入數字SDI信號。

2 軟件結構

MainConcept公司是全球著名的視音頻編碼器解決方案,其視音頻編解碼器具有良好的兼容性和強勁的性能,更關鍵的是其支持視音頻的實時編解碼,本文主要采用了MainConcept編解碼器MPEG Video Encoder,Layer II Audio Encoder,MainConcept Multiplexer,DV Pro Video Encoder等。

軟件采用DirectShow架構,如圖1所示,該架構分為虛線下方Ring 0特權級別的硬件設備,以及虛線上Ring 3特權級別的應用層,應用層中的矩形框內代表DirectShow系統。該系統中,Filter作為一個個功能模塊參與數據處理,同時Filter Graph管理整個數據流的處理過程,各個Filter在Filter Graph中按一定的順序連接成一條流水線協同工作。按照功能來分,Filter大致分為3類:Source Filters,Transform Filters,Rendering Filters。Source Filters主要負責獲取數據,數據源可以是文件,也可以是采集卡、數字攝影機等,然后將數據傳輸給Transform Filters;Transform Filters主要負責數據的格式轉換,例如數據分離/合成、解碼/編碼等;Rendering Filters主要負責數據的最終去向,將數據送給顯卡、聲卡進行多媒體的演示,或者輸出到文件進行存儲。

圖1 DirectShow基本架構

如圖2和圖3所示,視音頻采集、壓縮、存儲的整個流程可以看做一個Filter Graph。Decklink視頻卡安裝完成后,會在系統中注冊一個視頻輸入設備Decklink Video Capture和一個音頻輸入設備Decklink Audio Capture,兩者為該Filter Graph的Source Filters,負責獲得數據,然后向下傳輸,在Decklink Video Captur的Capture Pin后接一個Smart Tee,對采集進來的視頻數據進行分流,一部分經過AVI Decompressor到達Video Render,對視頻進行預覽,另一部分輸送到下一步進行編碼。該系統分別實現了MPEG-2的編碼和DVCPro的編碼(分別對應圖2和圖3)。相應的,對于MPEG-2編碼格式,音頻部分同時要經過Layer II Audio Encoder,而對于DVCPro編碼,音頻部分不需要經過編碼,直接輸入Multiplexer對視音頻進行同步混合,最后在File Write將文件寫入硬盤,在文件保存Filter方面,DVCPro格式用的是系統自帶的File Write,而MPEG-2格式用的是MainConcept MPEG Sink,理論上對于MPEG-2文件,其實兩個都能用,但對于DV格式,只能用File Write。

圖2 采集、壓縮、存儲流程(以DV25/50方式壓縮)

圖3 采集、壓縮、存儲流程(以MPEG-2方式壓縮)

3 技術實現要點及難點

3.1 預覽窗口

預覽視頻流到達Video Renderer后需要將它在一個窗口顯示出來。DirectShow提供了Video Renderer過濾器來顯示視頻,該過濾器可用于所有的支持DirectX的平臺,它對平臺沒有其他特殊的要求。也可以是GDI來顯示視頻。它是在Windows XP之前操作系統的默認視頻顯示過濾器;Video Mixing Renderer Filter 7(VMR-7)可用于Windows XP操作系統,并且是該系統下的默認視頻顯示過濾器,與老的視頻顯示過濾器相比,它具有一些更強大的性能,包括采用插件模式來控制DirectShow顯示;Video Mixing Renderer Filter 9(VMR-9)是一個更新的視頻混合顯示過濾器,它采用了Direct3D來顯示,可用于所有的支持DirectX的平臺,它不是默認的顯示過濾器,因為與其他的顯示過濾器相比,對系統要求更高。一般來說,在視頻顯示應用上,VMR-9是首選,因為它使用了最新的圖像API,并且提供了最好的性能。DirectShow視頻顯示可以選擇在窗體模式或者非窗體模式下進行。在窗體模式下,視頻將創建一個自己的窗體來顯示。在非窗體模式下,視頻可以在程序的一個窗口上顯示,而不讓視頻自己創建窗體來顯示。Video Renderer過濾器只支持窗體模式,VMR-7和VMR-9支持這兩種模式,默認狀態是窗體模式。在開始播放前,在過濾器圖表管理器中去查找IVideoWindow接口:

IVideoWindow*pVidWin=NULL;

pGraph->QueryInterface(IID_IVideoWindow,(void**)&g_pVid-Win);//調用IVideoWindow::put_Owner方法去處理你應用程序的窗體。該方法提供了一個OAHWND類型的變量,所以要把句柄轉換為該類型

pVidWin- >put_Owner((OAHWND)hwnd);//調用 IVideoWindow::Put_WindowStyle來改變視頻窗體的類型

pVidWin->put_WindowStyle(WS_CHILD|WS_CLIPSIBLINGS);//WS_CHILD標志設置視頻窗體為一個子窗體,WS_CLIPSIBLINGS標志可以防止視頻窗體在另一個子窗體的客戶區內顯示視頻

RECT grc;

GetClientRect(hwnd,&grc);

pVidWin- > SetWindowPosition(0,0,grc.right,grc.bottom);//調用IVideoWindow::SetWindowPosition方法可以視頻窗口的相對于你應用程序的客戶區的位置。該方法的參數帶了一個RECT參數,用它去指定視頻窗口的位置

videoWindow->put_Visible(OATRUE);

3.2 Filter屬性設置

在大多數商業軟件中,并不會將Filter的屬性頁直接顯示給用戶。因為屬性頁的界面過于簡單(有時候還可能是很隨意的),它們主要是用作Filter接口調試。在此程序中,由于涉及參數較多,并且面向使用者較為專業,因此大多說Filter的屬性頁直接暴露給用戶,以進行詳細、全方面的設置及調試。

本文使用OleCreatePropertyFrame函數,在程序中直接顯示Filter屬性頁。在某些地方,也可編寫屬性窗口對Filter進行設置,如對DV Pro Video Encoder的設置中,由于Filter提供的屬性頁過于簡陋,該處選擇通過API自行設計編寫設置對話框,更適合實際使用需求。

3.3 參數保存

當關閉窗口時,當前設置參數會自動保存到當前目錄下的config.ini文件中,下次打開程序時自動調用,恢復關閉前狀態,減少了選擇輸入設備、文件格式等操作,又不失靈活性。

3.4 視音頻分離

在某些時候并不需要將視音頻復合同步成一個文件,而是需要分別保存視音頻文件,該程序提供視音頻分離選擇,在Filter Graph中,將最后的Multiplexer去掉,對視頻流和音頻流分別調用File Write以保存為兩個文件。

另外需要注意的是,對于MPEG-2的壓縮和DVCPro的壓縮,Multiplexer的選擇是不一樣的,MPEG-2的視音頻流要通過MainConcept Multiplexer進行復合,而DVCPro的視音頻流使用系統自帶的AVI Mux即可。

3.5 其他

在MPEG-2系統中,根據傳輸媒體的質量不同,MPEG-2中定義了兩種復合信息流:傳送流(Transport Stream,TS)和節目流(Program Stream,PS)。PS包與 TS包結構上的差異導致了它們對傳輸誤碼具有不同的抵抗能力,因而應用的環境也有所不同。TS碼流具有較強的抵抗傳輸誤碼的能力,因此目前在傳輸媒體中進行傳輸的MPEG-2碼流基本上都采用了TS碼流。但是對節目制作環境,通常采用PS流。在本文中要注意的是,Multiplexer和File Write的流類型要一致。

如果用Decklink視頻卡采集DV格式素材,還須用到Decklink PAL Field Swap這個Filter,對視頻場序進行調整,否則采集的視頻場序是錯的。但是對于AJA和Bluefish444的視頻卡,不需要對場序進行調整。

4 性能分析

測試用機采用Windows XP Professional操作系統,AMD Athlon 3800+的CPU,內存為2 Gbyte,可以說是完全低于主流配置。但是測試下來,不管是MPEG-2還是DVCPro的壓縮格式,CPU使用率基本保持在40%左右,后者甚至略低一些(見圖4和圖5)。操作完全沒有遲滯感。所以為達到便攜性,一般筆記本式計算機完全可以達到要求,只是對于筆記本Decklink卡的安裝稍顯麻煩,因此建議對臺式機進行改裝,以滿足便攜性的要求。

圖4 以MPEG-2方式壓縮性能分析(截圖)

圖5 以DV25方式壓縮性能分析(截圖)

5 小結

本文采用DirectShow平臺,利用C++進行程序開發設計,完成了一套視音頻硬盤采集壓縮系統。對該系統的硬件平臺、軟件環境進行了具體的描述,同時針對開發過程中遇到的重點和難點進行了分析和總結。最后,對該系統的性能進行了評測分析。該系統的架構簡單,所需硬件、軟件成本低,硬件只需一臺普通PC和采集卡,軟件方面需購買部分編解碼包即可。可靈活應用于轉播車、演播室等多種場合,可以取代Premiere等非編軟件,避免只用采集功能而安裝整個非編軟件這種“殺雞用牛刀”的情況,同時對視音頻文件進行了實時壓縮,節約存儲空間和后期處理的時間。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 亚洲欧美日韩中文字幕在线一区| 久久动漫精品| 国产高清在线观看91精品| 国产女人18水真多毛片18精品 | 国产成人亚洲精品色欲AV| 青青青草国产| 波多野结衣无码视频在线观看| 99热国产在线精品99| 一级全免费视频播放| av色爱 天堂网| 狠狠操夜夜爽| 黄色免费在线网址| 88国产经典欧美一区二区三区| 在线观看无码av五月花| 在线播放国产99re| 亚洲人成成无码网WWW| 71pao成人国产永久免费视频| 久久综合伊人 六十路| 欧美成人精品高清在线下载| 亚洲狼网站狼狼鲁亚洲下载| 国产美女91视频| 午夜无码一区二区三区在线app| 国产午夜不卡| 日韩在线中文| 日韩人妻少妇一区二区| 99ri精品视频在线观看播放| 欧美一级爱操视频| 亚洲国产午夜精华无码福利| 欧美精品另类| 激情综合婷婷丁香五月尤物 | 国产精品乱偷免费视频| 国产日韩欧美在线播放| 无码福利视频| 中文字幕av无码不卡免费| 国产成人精品一区二区不卡| 人妻丰满熟妇αv无码| 男人的天堂久久精品激情| Aⅴ无码专区在线观看| 欧美视频二区| 国产老女人精品免费视频| 国产手机在线小视频免费观看| 国产爽妇精品| 亚洲一区色| 国产精品久久久久久久伊一| 欧美国产综合视频| 亚洲中文字幕久久精品无码一区| 日韩精品一区二区三区中文无码 | 国产精品太粉嫩高中在线观看| 8090午夜无码专区| 国产乱视频网站| 国产福利小视频在线播放观看| igao国产精品| 久久精品无码一区二区日韩免费| 伊人天堂网| 99视频有精品视频免费观看| 亚洲第一网站男人都懂| 一本大道AV人久久综合| 九色视频线上播放| 色网在线视频| 国产女人在线视频| 亚洲区第一页| 一边摸一边做爽的视频17国产| 久久久久久久97| 国产在线拍偷自揄拍精品| 国内精品九九久久久精品| 2020国产在线视精品在| 国产永久在线观看| av在线无码浏览| 国产一在线观看| 91探花在线观看国产最新| 九九久久精品免费观看| 久久精品一卡日本电影| 免费人成视网站在线不卡| 亚洲全网成人资源在线观看| 国内精品视频| 亚洲天堂精品在线| 欧美日韩国产精品综合| 天天综合色网| 成人在线视频一区| 手机看片1024久久精品你懂的| 色悠久久久久久久综合网伊人| 国产成人乱无码视频|