亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DirectShow的多節(jié)目片段序列的無(wú)縫播放系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2018-02-26 08:32:37田六方徐州電視臺(tái)
        視聽界(廣播電視技術(shù)) 2018年1期
        關(guān)鍵詞:節(jié)目單無(wú)縫字幕

        田六方 徐州電視臺(tái)

        0. 引言

        在LED大屏播放零散節(jié)目的過(guò)程中,常常會(huì)在節(jié)目與節(jié)目切換時(shí)出現(xiàn)短暫的黑屏,這是由于解碼器解碼不連續(xù)引起的[1]。特別是在進(jìn)行廣告插播時(shí),節(jié)目的不斷切換,產(chǎn)生不斷的黑屏和閃爍,將嚴(yán)重影響LED大屏的視覺(jué)效果?;谶@種情況,就要對(duì)零散的節(jié)目流進(jìn)行無(wú)縫拼接,其順序應(yīng)滿足當(dāng)天播放序列的要求。電視節(jié)目的拼接[2]技術(shù)是指從某一路電視信號(hào)源瞬間切換到另一路電視信號(hào)源,在電視屏幕上表現(xiàn)為一個(gè)畫面迅速轉(zhuǎn)換到另一個(gè)畫面,無(wú)黑場(chǎng)、無(wú)抖動(dòng)、無(wú)停頓的連續(xù)過(guò)程。

        自從多媒體問(wèn)世以來(lái),多媒體的開發(fā)工具也應(yīng)運(yùn)而生。DirectShow 技術(shù)是微軟公司開發(fā)的一套編程接口,架構(gòu)在DirectX 等其他的一些多媒體服務(wù)的基礎(chǔ)上[3]。DirectShow作為高效的多媒體開發(fā)系統(tǒng),其底層的硬件設(shè)備與高層的應(yīng)用程序互相影響、作用,圖1是DirectShow系統(tǒng)的框圖[4]。

        圖1 Direct Show系統(tǒng)框圖

        Direct Show使用Filter Graph模型來(lái)管理整個(gè)數(shù)據(jù)流的處理過(guò)程。Filter Graph中包含了各種Filter,各個(gè)Filter在Filter Graph Manager的統(tǒng)一控制下,按一定順序連接在一起,從而使數(shù)據(jù)在由Filter組成的鏈表中流動(dòng)[5],圖1中的箭頭表示Filter鏈表中的數(shù)據(jù)流的方向。在Direct Show系統(tǒng)框架外,是與用戶直接交互的應(yīng)用程序。應(yīng)用程序要按照一定的功能建立起相應(yīng)的Filter Graph,然后通過(guò)Filter Graph Manager來(lái)控制系統(tǒng)的數(shù)據(jù)處理過(guò)程。DirectShow能在Filter Graph運(yùn)行時(shí)接收到各種事件,并通過(guò)消息的方式發(fā)送給應(yīng)用程序。這樣,就實(shí)現(xiàn)了應(yīng)用程序與DirectShow系統(tǒng)之間的交互[6]。

        1. 程序框架設(shè)計(jì)

        為了統(tǒng)一對(duì)靜態(tài)圖片和視頻圖片進(jìn)行相同的處理,針對(duì)播放的FilterGraph進(jìn)行了統(tǒng)一封裝,為此定義了如圖2的類繼承關(guān)系。

        1.1 CPlayItem

        CPlayItem類為系統(tǒng)中播放單元的基礎(chǔ)類,主要內(nèi)容包括構(gòu)建FilterGraph的虛函數(shù)InitGraph()和播放虛函數(shù)PlayIt();這些虛函數(shù)必須在繼承類中進(jìn)行實(shí)現(xiàn)。其主要結(jié)構(gòu)如表1所示:

        圖2 播放對(duì)象各類之間的繼承關(guān)系

        表 1 CPlayItem 成員

        其中InitGraph()函數(shù)在程序加載播放序列時(shí)根據(jù)播放文件類型構(gòu)建相應(yīng)的FilterGraph;PlayIt()在合適的適合播放本對(duì)象,并根據(jù)字幕信息和播放時(shí)間控制來(lái)確定文件的起播點(diǎn)和播放長(zhǎng)度。SetPositions()函數(shù)設(shè)置該FilterGraph的播放控制。

        1.2 CPlayPic

        CPlayPic實(shí)現(xiàn)播放靜態(tài)圖片時(shí)的行為,包括渲染字幕和時(shí)長(zhǎng)控制等。由于播放靜態(tài)圖片不需要?jiǎng)?chuàng)建Filter Graph,所以其初始化函數(shù)僅僅只需直接返回即可,CPlayPic:InitGraph() 實(shí)現(xiàn)見表 2。

        表 2 CPlayPic:InitGraph() 實(shí)現(xiàn)

        在播放靜態(tài)圖片時(shí),由于需要?jiǎng)討B(tài)顯示字幕和時(shí)鐘等隨時(shí)間改變的圖像元素,所以其播放過(guò)程被實(shí)現(xiàn)為一個(gè)線程,CPlayPic:PlayIt()實(shí)現(xiàn)見表 3。

        表 3 CPlayPic:PlayIt()實(shí)現(xiàn)

        在線程InitialThreadProc_Play中的每一個(gè)循環(huán)均按順序做如下過(guò)程,播放靜態(tài)圖片的一個(gè)循環(huán)動(dòng)作見表4。

        表4 播放靜態(tài)圖片的一個(gè)循環(huán)動(dòng)作

        1.3 CPlayAVI

        CPlayAVI實(shí)現(xiàn)對(duì)視頻片段的FilterGraph的構(gòu)建和播放過(guò)程的控制。為此,該類中添加了一系列處理FilterGraph的類成員,如表5所示。

        表5 CPlayAVI中與視頻播放相關(guān)的類成員

        其中初始化FilterGraph的過(guò)程中加入攔截解碼后圖片數(shù)據(jù)流的Filter,目的是對(duì)視頻中的每一幀圖片進(jìn)行處理,包括添加字幕和時(shí)鐘等。其中CPlayAVI:InitGraph()的實(shí)現(xiàn)基本如表 6 所示。

        表 6 CPlayAVI:InitGraph()的創(chuàng)建 FilterGraph 主要流程

        Graph在播放的過(guò)程中,每幀圖像在解碼完畢后,都會(huì)調(diào)用CSampleGrabberCB_TXT類的BufferCB(double SampleTime, BYTE ? pBuffer, long BufferSize )函數(shù),在此函數(shù)內(nèi),進(jìn)行類似表4的相同過(guò)程。

        2. 多線程無(wú)縫播放

        為了實(shí)現(xiàn)各節(jié)目片段之間的無(wú)縫連接,程序在初始化節(jié)目單時(shí),將節(jié)目單中的所有播放文件按照播放順序創(chuàng)建播放列表,表7是加載節(jié)目單時(shí)創(chuàng)建播放列表代碼片段。

        表7 加載節(jié)目單時(shí)創(chuàng)建播放列表

        當(dāng)一個(gè)節(jié)目對(duì)象播放完畢時(shí),主線程會(huì)收到一個(gè)事件,此時(shí)立刻進(jìn)行下一個(gè)播放對(duì)象的播放。由于此對(duì)象的Graph已經(jīng)在初始化時(shí)渲染就位,所以播放圖像立刻出現(xiàn)在屏幕上,不會(huì)出現(xiàn)黑屏的現(xiàn)象。播放下一個(gè)對(duì)象的事件相應(yīng)如表8所示。

        LRESULT CPlayVedioDlg:OnGNotify(WPARAM w,LPARAM iScreenID){int ino =GetNextMedia(iScreenID); //下一個(gè)要播放

        的播放對(duì)象序號(hào)saPalylist[ino]->PlayIt(); //播放下一個(gè)對(duì)象}

        3.結(jié)束語(yǔ)

        本系統(tǒng)采用VC++語(yǔ)言,在DirectShow框架基礎(chǔ)上進(jìn)行開發(fā)。使用多線程進(jìn)行各個(gè)節(jié)目片段的緩沖播放,實(shí)現(xiàn)了各相鄰節(jié)目片段之間的無(wú)縫播放。本系統(tǒng)的主要目的是為了方便多個(gè)LED大屏的節(jié)目在組織管理時(shí)的靈活性。目前該系統(tǒng)已在鎮(zhèn)江廣電的多個(gè)大屏上使用,效果良好,播放順暢。能夠?qū)崿F(xiàn)每個(gè)節(jié)目、臺(tái)標(biāo)、時(shí)鐘和字母的自由組合,如圖3所示,基本達(dá)到了設(shè)計(jì)目標(biāo)。

        圖3 本系統(tǒng)實(shí)現(xiàn)了臺(tái)標(biāo)(左上)、字幕和時(shí)鐘(右上)的自由組合

        1.譚建國(guó), 張文軍. 數(shù)字HDTVTS流無(wú)縫拼接技術(shù)研究 [J]. 通信學(xué)報(bào) ,2004,25(5):119-124.

        2. 郭淑艷. 數(shù)字電視TS流實(shí)時(shí)低延遲無(wú)縫拼接技術(shù)的研究與實(shí)現(xiàn)[D]. 廣東: 華南師范大學(xué). 2007.

        3. 趙炯, 陳力. 利用VC++實(shí)現(xiàn)基于DirectShow的視頻播放器開發(fā)[J]. 成都大學(xué)學(xué)報(bào)(自然科學(xué)版 ),2011,30(4):349-352.

        4. 孟月華, 鄧基. Direct Show技術(shù)的應(yīng)用研究與開發(fā)[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用 , 2013,22(6):196-199.

        5.謝屈波,王六森,夏定純. 基于Direct Show的圖像采集的實(shí)現(xiàn)[J].軟件導(dǎo)刊,2010,9(6):183-184.

        6. 郭昊. 基于DirectShow技術(shù)實(shí)現(xiàn)視頻采集[J]. 火控雷達(dá)技術(shù) , 2008, 37(2):97-100.

        猜你喜歡
        節(jié)目單無(wú)縫字幕
        “無(wú)縫”的雞蛋不怕叮
        讓農(nóng)民工培訓(xùn)與就業(yè)“無(wú)縫對(duì)接”
        Word和Excel聯(lián)手字幕添加更高效
        母乳到輔食,如何無(wú)縫銜接
        幽你一默
        到底誰(shuí)先唱
        AS SMOOTH AS YOU LIKE – HELPING YOU MAKE TRANSFERS SEAMLESSLY
        空中之家(2017年3期)2017-04-10 02:39:19
        整合適應(yīng)選擇度下的動(dòng)畫電影字幕翻譯——以《冰河世紀(jì)》的字幕漢譯為例
        論紀(jì)錄片的字幕翻譯策略
        人間(2015年22期)2016-01-04 12:47:26
        坐在節(jié)目單上
        国产一区二区精品久久岳| 久久青青草视频免费观看| 蜜桃成人精品一区二区三区| 国产极品裸体av在线激情网| 女同性恋看女女av吗| 蜜桃传媒免费在线播放| 极品尤物一区二区三区| 丰满少妇被猛烈进入| 国产一品道av在线一二三区| 粉嫩国产白浆在线播放| 精品一区二区av在线| 亚洲乱码一区二区三区在线观看| 免费中文熟妇在线影片| 国产日韩久久久精品影院首页 | 农村国产毛片一区二区三区女| 国产女同va一区二区三区| s级爆乳玩具酱国产vip皮裤| 欧美性猛交xxxx乱大交蜜桃| 国产毛片一区二区日韩| 人妻人妇av一区二区三区四区| 国产乱码一区二区三区精品| 国产精品成熟老女人| 国产精品福利自产拍久久| 亚洲AV秘 无套一区二区三区 | 亚洲av永久无码国产精品久久| 久久韩国漫画无删减漫画歪歪漫画| 女人被躁到高潮嗷嗷叫免费软| 国产自拍视频在线观看免费| 亚洲精品久久久久久久不卡四虎| 精品五月天| 国产精品日本中文在线| 精品香蕉99久久久久网站| 五月婷婷俺也去开心| 一区二区无码中出| 日韩一区二区中文字幕| 九九影院理论片私人影院| 国产第一页屁屁影院| 挑战亚洲美女视频网站| 国产手机在线观看一区二区三区| 无套内射无矿码免费看黄| 亚洲综合伦理|