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

基于FFmpeg的DES視頻剪輯技術的研究與應用

2016-07-10 04:09:12劉蒙
電子技術與軟件工程 2016年7期

劉蒙

FFmpeg以其豐富的編解碼庫和強大的解碼能力著稱,DES(DirectShow Editing Service)是非常方便的基于DirectShow的非線性視頻編輯接口。然而由于DES技術在解碼方面的局限性,實際應用中很少使用它。本文提出一種基于DirectShow Filter開發技術封裝FFmpeg解碼庫的技術,實現了結合DES技術剪輯視頻的視頻處理系統,即彌補了DES解碼方面的缺陷,又能體現DES技術便于開發、使用簡單的特性。

【關鍵詞】FFmpeg DES DirectShow Filter

1 相關背景

視頻技術的發展、視頻壓縮標準的推陳出新以及應用在多種場景中的視頻顯示的大量要求,視頻解碼技術的研究隨之不斷深入。一方面,實際應用中需要根據需求選取最適合的解碼方法;一方面,視頻剪輯技術在各種體育項目中的應用也愈加的普遍,這種技術一般具有一定的解碼局限性,需要與具體的解碼器適配。

目前幾乎所有的主流多媒體播放器都是基于開源多媒體框架ffmpeg來做的,FFmpeg幾乎覆蓋全部視頻格式。DirectShow開發框架是微軟公司提供的針對流媒體控制的解決方案,它總體的應用框架和底層工作由DirectShow來完成,為用戶自定義的解決方案提供了底層流控制框架,從而使用戶可以自行創建支持新的文件格式或其它用途的DirectShow組件。

DES非線性視頻剪輯技術是基于DirectShow開發框架的一個核心編程框架的接口,使得音視頻的編輯工作更加方便、快捷,大大提高了開發效率。但是DES視頻剪輯技術在視頻解碼方面存在缺陷,一些特殊編碼格式的視頻由于不能采用此技術播放而無法剪輯。本文介紹的基于FFmpeg的DES視頻剪輯系統很好的處理了這一問題。

2 基于FFmpeg的DirectShow Filter解碼器實現

FFmpeg視頻解碼內核是通過封裝FFmpeg中的解碼功能為解碼Filter而實現的。設計一個H.264視頻解碼器就是設計一個能實現H.264視頻解碼功能的DirectShow Filter。從Filter Graph的設計和功能定義上分析,H.264 解碼Filter是一種Transform Filter,有一個輸入Pin和一個輸出Pin。

綜合考慮各種因素,決定采用CSource作為Filter基類,因為CSource的輸出Pin是從CSourceStream派生的,CSourceStream已經實現了一個縣城,在這個線程中可以控制整個編碼過程。Filters框架類的編程關系如圖1所示。

基類選好后接著就是應用控制類的實現,設計一個控制類實現系統初始化、反初始化、調用解碼算法解碼、解碼輸出等函數。

H.264解碼Filter的功能主要在于控制模塊、輸入輸出Pin的處理、視頻算法處理、過濾器處理和過濾器的注冊等幾部分構成。創建一個CH264MengInputPin類重寫幾個重要的基類函數:Receive、BeginFlush、NewSegment和CheckMediaType等。設計一個用作處理H.264視頻的CMengH264Filter類,它主要實現的基類函數有FindPin、Stop、GetPinCount、GetPin和Pause等,其中還實現了輸入輸出Pin委托的功能。

H.264標準解碼Filter結構如圖2所示。

3 DES結合FFmpeg實現視頻剪輯系統

本文所述的視頻剪輯系統的實現首先需要建立DES時間線模型,然后針對視頻剪輯需要事先查看的要求(這里就用到了前文所訴的解碼Filter),實現剪輯視頻預覽的功能,最后在建立文件保存剪輯好的視頻文件。

3.1 DirectShow Editing Service時間線的構建

構建時間線模型需要調用系統提供的一個虛接口(沒有具體的實現,只提供函數名稱表示,供應用層調用)即時間線接口IAMTimeline,遵循時間線的結構模型,定義實際所需的屬性和函數,并且創建出時間線對象。其中主要屬性包括組(Group)、集合(Composition)、軌道(Track)和媒體源(Source)。

根據接口提供的方法創建時間線對象時間線框架,根據實際需要在“樹形”時間線結構的框架上填充“枝葉”。“枝葉”便是DES對象,需要使用虛接口中的方法CreateEmptyNode來定義,包括:IAMTimelineGroup、IAMTimelineComp、IAMTimelineTrack、 IAMTimelineSrc。其中每個對象都需要創建視頻和音頻兩種。下一步就是要在組中加入軌道,然后實現視頻剪切過程。設置媒體源的剪切時間和其在時間線上的時間,將其放到相應的軌道上。

3.2 DirectShow Editing Service預覽功能的實現

實現視頻剪輯的預覽功能需要在創建好時間線模型后創建基本渲染引擎IRenderEngine,它能通過已經建立好的時間線構建Filter Graph供預覽或者輸出文件。需把時間線的信息傳遞給IRenderEngine。接下來使用ConnectFrontEnd函數,連接時間線模型建立時建立的濾波器(Filter),調用RenderOutputPins完成濾波器圖的構建。最后調用IMediaControl接口的Run()函數就可以進行實現預覽的功能。

3.3 DirectShow Editing Service保存功能實現

視頻剪輯功能完成之后,最后就是要實現保存的功能。由于之前時間線模型的創建完成以后上一級的數據流輸出是非壓縮的音頻流和視頻流,然而根據實際需要,保存在存儲介質上的視頻數據必須是壓縮以后的數據。所以必須向濾波器圖中加入音頻編碼器和視頻編碼器以及復用器。

首先將視頻編碼器、音頻編碼器和復用器以及文件寫入程序濾波器加入到濾波器圖中,然后得到組的個數及輸出引腳指針,根據引腳的媒體類型將其連接到相應的編碼器上,接著將視頻編碼器和音頻編碼器濾波器連接到復用器濾波器上,下一步連接復用器和文件寫入程序濾波器, 最終的視頻保存和預覽功能一樣,調用DirectShow提供的IMediaControl接口的Run()函數。

4 結束語

結合DES非線性編輯技術的視頻處理分析系統的項目實現了針對MTS格式視頻文件剪輯處理的便捷開發。系統支持快放慢放、多剪輯插播、過渡效果和剪輯效果預覽功能。此系統擴展性強,可以適配多種Filter解碼器進行相應的視頻剪輯。

參考文獻

[1]李閃閃,王洪玉.H.264視頻解碼過濾器的設計與實現[C].2010年通信理論與信號處理學術年會論文集,2010,08-20.

[2]郭映月,黃焱.基于DirectShow/DES的MPEG-2音視頻編輯軟件的實現方案[J].廣播與電視技術,2006,09-30.

[3]王彤,殷福亮.基于FFmpeg的H.264解碼器實現[D].沈陽:大連理工大學(碩士論文),2011-11-09.

[4]譚毅,黃歡,劉輝.基于DirectShow的視頻壓縮系統的設計與實現[J].計算機與數字工程,2006,06-20.

[5]于洋,宿富林.基于DirectShow的多線程AVS轉碼器的研究與實現[D].哈爾濱:哈爾濱工業大學(碩士論文),2009,06-01.

作者單位

中國海洋大學信息科學與工程學院 山東省青島市 266100

主站蜘蛛池模板: 国产黄色爱视频| a在线观看免费| 亚洲美女高潮久久久久久久| 成年人午夜免费视频| 97综合久久| 无码人妻免费| 免费无码又爽又刺激高| 夜夜拍夜夜爽| 99精品国产电影| 亚洲bt欧美bt精品| 国产精品免费露脸视频| 热99re99首页精品亚洲五月天| 亚洲天堂网视频| 思思99热精品在线| a在线亚洲男人的天堂试看| 亚洲欧美精品日韩欧美| 日本高清免费不卡视频| 欧美在线精品怡红院| 欧美国产综合视频| 久久免费观看视频| 久久精品丝袜| 国产成人综合久久精品尤物| 久久黄色免费电影| аⅴ资源中文在线天堂| 色噜噜久久| 日韩高清一区 | 国产精品嫩草影院视频| 久久这里只有精品23| 国产成人精品2021欧美日韩| 欧美日韩中文国产va另类| 日韩在线2020专区| 亚洲中文字幕av无码区| 9啪在线视频| 国产成人毛片| 国产一区二区三区视频| 国产乱子伦精品视频| 欧美一级专区免费大片| 九九热在线视频| 国产成人AV综合久久| 国产自产视频一区二区三区| 99在线免费播放| 老色鬼久久亚洲AV综合| 最新亚洲人成网站在线观看| 国产午夜无码片在线观看网站| 992Tv视频国产精品| 亚洲无码视频一区二区三区| 青青青亚洲精品国产| 亚洲有无码中文网| 福利视频99| 亚洲天堂.com| 欧美性猛交一区二区三区| 亚洲国产91人成在线| 国产精品女同一区三区五区| 色综合手机在线| 国产jizzjizz视频| 久草中文网| 国产精品自在在线午夜| 国产精品青青| 国产精品网址在线观看你懂的| 国产在线啪| 无码网站免费观看| 国产精品成人观看视频国产| 久久国产乱子| 欧美中文字幕一区| 成人午夜免费观看| 国产乱人伦AV在线A| 波多野吉衣一区二区三区av| 亚洲制服丝袜第一页| 日韩中文精品亚洲第三区| 黄色国产在线| 国产成人AV男人的天堂| 亚洲IV视频免费在线光看| 无码精品一区二区久久久| 国产农村妇女精品一二区| 99视频在线免费| 免费在线色| 国产黑丝一区| 国产三级a| 欧美在线视频不卡第一页| 国产理论一区| 久久亚洲国产最新网站| 国产综合无码一区二区色蜜蜜|