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

        ?

        DTV多節(jié)目傳送流實時多畫面播放軟件設計

        2014-07-02 00:29:45褚晶輝劉子玉
        電視技術 2014年21期
        關鍵詞:視頻流碼流采集卡

        閔 行,褚晶輝,劉子玉,俞 瀅

        (天津大學 電子信息工程學院,天津 300072)

        DTV多節(jié)目傳送流實時多畫面播放軟件設計

        閔 行,褚晶輝,劉子玉,俞 瀅

        (天津大學 電子信息工程學院,天津 300072)

        設計了一種實時播放數(shù)字電視(DTV)傳送流的軟件,支持多達16路節(jié)目的解碼和多畫面顯示。該設計利用商用的數(shù)字電視傳送流采集卡將碼流輸入到計算機內(nèi)存中,然后利用FFmpeg開源庫實現(xiàn)對傳送流的解復用和多路視頻解碼,最后利用SDL開源庫將解碼后的圖像以多畫面的形式顯示在屏幕上。該設計提供了一種低成本的數(shù)字電視播出質量監(jiān)測手段,軟件也具有較高的可移植性。

        多節(jié)目傳送流;多畫面顯示;FFmpeg;SDL

        隨著數(shù)字電視行業(yè)的迅猛發(fā)展,以及電視頻道的增多,對數(shù)字電視頻道播出質量監(jiān)測的要求也越來越高。模擬電視時代,對于多路視頻監(jiān)測多采用CRT顯示器構成的電視墻;在數(shù)字電視系統(tǒng)中,常見的方案也是將多個硬件解碼器的輸出接到電視墻上,此類方法的成本較高,不能充分發(fā)揮數(shù)字電視的優(yōu)勢,而采集數(shù)字電視傳送流并直接進行多路視頻解碼和顯示的設計方案具有較大的硬件成本優(yōu)勢和更大的靈活性[1]。

        目前,我國的數(shù)字電視系統(tǒng)采用MPEG-2標準系統(tǒng)層規(guī)定的傳送流(Transport Stream,TS)格式對多路數(shù)字電視節(jié)目進行復用形成基帶信號(多節(jié)目傳送流,MPTS)。本文實現(xiàn)的方案首先利用商用的數(shù)字電視傳送流采集卡將碼流輸入到計算機內(nèi)存中,再利用FFmpeg開源庫實現(xiàn)對傳送流的解復用和多路視頻解碼,利用SDL開源庫將解碼后的圖像以多畫面的形式顯示。

        1 FFmpeg多路視頻解碼

        FFmpeg是一款支持多種格式音頻與視頻播放、錄制、轉換和串流功能的自由軟件,它包含了目前領先的音頻、視頻編碼庫libavcodec,對大部分格式的視頻編碼都有良好的支持,VLC等多款開源播放器也都用到了FFm?peg。雖然FFmpeg是在Linux下開發(fā)的,對于GCC的依賴性非常強,但是可以在Windows等大多數(shù)操作系統(tǒng)下編譯,保證了其良好的可移植性。本文設計主要使用FFm?peg進行傳送流解復用和視頻解碼,具體過程如下:

        在解碼之前,先調用av_register_all()初始化FFmpeg庫,注冊所有容器格式和解碼器。初始化結構體AVFor?matContext作為輸入輸出容器,將數(shù)字電視傳輸碼流保存到計算機的內(nèi)存中,調用avformat_open_input()讀取計算機內(nèi)存中TS碼流的頭部信息保存到容器中。結構體AV?CodecContext是一個描述編解碼器上下文的數(shù)據(jù)結構,包含了眾多編解碼器需要的參數(shù)信息,例如,視音頻流的個數(shù)、時長、比特率、文件名以及視音頻流數(shù)據(jù)本身等。將TS碼流中的視頻流與音頻流進行分離,讀取包括視頻流個數(shù)在內(nèi)的視頻流信息,使用avcodec_open2()打開解碼器,avcodec_alloc_frame()為解碼幀分配內(nèi)存,不斷地從碼流中提取視頻流幀數(shù)據(jù),并調用FFmpeg的解碼核心函數(shù)avcodec_decode_video2()完成單線程的視頻解碼的全過程[2]。

        考慮到要實現(xiàn)多畫面實時播放多個視頻流,本文采用了多線程的設計,根據(jù)TS碼流中視頻流的個數(shù)確定線程數(shù)量,每個線程獨立完成一路視頻的解碼與顯示,提高系統(tǒng)資源的利用率。此外,在此之前還需要創(chuàng)建一個獨立的線程,以便將來自數(shù)字電視傳送流采集卡的TS碼流保存至計算機內(nèi)存中,供視頻解碼使用[3]。

        2 SDL多畫面顯示

        SDL是一套跨平臺支持多操作系統(tǒng)的開源多媒體開發(fā)庫,是各種多媒體應用與操作系統(tǒng)之間的接口。SDL共包括8個子系統(tǒng),在視頻處理子系統(tǒng)中,要顯示的視頻區(qū)域被當作一塊視頻緩沖區(qū),也就是一塊內(nèi)存區(qū)域,SDL可以對該區(qū)域進行讀寫。視頻緩沖區(qū)內(nèi)的最小單位是像素,SDL可以對視頻區(qū)域內(nèi)的任意一個像素做處理,包括改變其顏色等,緩沖區(qū)的數(shù)據(jù)更新后調用刷新函數(shù)刷新顯示,完成視頻播放的過程[4]。

        本文設計了如圖1所示的共6種不同的畫面播放模式,用戶可以根據(jù)自身需求選擇單路播放或者多路播放,多路視頻播放也可根據(jù)需要選擇不同畫面、大小、主次播放,支持多達16路節(jié)目同時播放。用戶選定播放模式后,將其作為參數(shù)傳入主程序中,程序根據(jù)選擇的播放模式以及屏幕分辨率,計算多路視頻畫面的播放位置。

        圖1 多畫面視頻播放模式

        SDL的初始化過程主要包括以下步驟:調用SDL_CreateWindow()創(chuàng)建一個可以用來繪制的窗口,調用SDL_CreateRenderer()創(chuàng)建一個渲染器,調用SDL_Cre?ateTexture()創(chuàng)建紋理緩存(texture)。SDL初始化之后,就可以將FFmpeg解碼輸出的視頻幀數(shù)據(jù)作為紋理緩存的輸入,本文將視頻幀數(shù)據(jù)保存為YUV420P數(shù)據(jù)格式。根據(jù)選定的播放模式,計算每個視頻流在畫面中對應的顯示位置,不斷地將視頻幀數(shù)據(jù)寫入紋理緩存并刷新顯示,就實現(xiàn)了多路視頻的多畫面播放。

        3 軟件實現(xiàn)

        本文設計的軟件工作流程如圖2所示。首先,將TS碼流路徑和播放模式作為參數(shù)傳遞給主程序,主程序對TS碼流路徑進行判斷;當路徑為0時,主程序讀取通過數(shù)字電視傳輸流采集卡輸入的實時TS碼流,否則,讀取保存在本地或是某個服務器上的TS碼流文件。然后,對TS碼流進行分析,分離出視頻流和音頻流,計算視頻流的個數(shù)。根據(jù)播放模式確定每個視頻流對應的播放畫面位置。最后,為每一個視頻流創(chuàng)建一個獨立的視頻解碼和視頻顯示線程。在此過程中,F(xiàn)Fmpeg開源庫提供了傳送流的解復用和視頻流的解碼方法,SDL開源庫則提供了多畫面視頻顯示方法。

        圖2 軟件工作流程

        4 測試結果與分析

        分別使用數(shù)字電視傳送流采集卡接收數(shù)字電視廣播基帶信號(即TS碼流)和用計算機硬盤上保存的TS文件對軟件的實時解碼和離線解碼功能進行測試,支持6種預設的播放模式,其中3種模式下的測試結果如圖3所示。

        實驗表明,本文設計的軟件能夠實時讀取數(shù)字電視傳送流采集卡輸入的TS碼流,或者讀取計算機存儲設備中的TS碼流文件,支持6種預設的播放模式,最多可以實現(xiàn)16路畫面同時播放。

        圖3 模式2、模式5及模式6下的播放效果

        5 結論

        本文設計的數(shù)字電視傳送流多畫面播放軟件是在跨平臺的開源庫FFmpeg和SDL的基礎上實現(xiàn)的,經(jīng)過簡單修改在Windows、Linux和Mac OS操作系統(tǒng)上都可以運行,相對于文獻[5-7]提出的利用Microsoft公司的Direct?Show和DXVA等Windows平臺專有技術實現(xiàn)的系統(tǒng),其適應性與擴展性更強,因此使用更加靈活,可滿足不同的用戶需求。在數(shù)字電視行業(yè)迅猛發(fā)展的背景下,對于數(shù)字電視多路視頻監(jiān)測的需求使得該設計具有良好的應用前景。

        致謝

        [1]李欣時,仲影.數(shù)字電視多畫面顯示及監(jiān)控系統(tǒng)的實現(xiàn)[J].有線電視技術,2008(8):108-110.

        [2]辛長春,婁小平,呂乃光.基于FFmpeg的遠程視頻監(jiān)控系統(tǒng)編解碼[J].電子技術,2013(1):3-5.

        [3]李科,李璐,蘭時勇.基于FFmpeg和SDL實現(xiàn)多路實時流變換及播放[J].計算機技術與發(fā)展,2014(4):65-68.

        [4]蔣鵬,劉玓.基于SDL庫的跨平臺多媒體應用[J].福建電腦,2003(5):39-40.

        [5] 尚青青,朱秀昌.高清視頻監(jiān)控中心的設計與實現(xiàn)[J].電視技術,2013,37(11):183-187.

        [6]蘇俊峰,朱秀昌.基于DXVA的多路H.264高清視頻解碼器的實現(xiàn)[J].電視技術,2011,35(18):30-33.

        [7]高譽菊,呂鹍,張剛.Windows平臺上AVS視頻監(jiān)控客戶端的實現(xiàn)[J].電視技術,2014,38(11):94-96.

        Design of Real-time M ulti-screen Decoding Software for DTV M ulti-program Transport Stream

        MIN Hang,CHU Jinghui,LIU Ziyu,YU Ying
        (School of Electronic Information Engineering,Tianjin University,Tianjin 300072,China)

        A software is designed to play DTV multi-program transport stream in real-time,which supports decoding up to 16 programs and multi-screen display.The software acquires transport stream into the computer memory with a commercial digital TV transport stream capture card,and then the stream is demultiplexed and decoded with the open-source library FFmpeg. Finally,the decoded pictures are displayed on the screen in a multi-screen layout with the open-source library SDL.The design provides a low-cost method to monitor the quality of digital television broadcasting,and the software is highly portable.

        MPTS;multi-screen display;FFmpeg;SDL

        TN949.1

        A

        閔 行,碩士生,研究方向為數(shù)字多媒體技術和模式識別;

        褚晶輝,博士,副教授,研究方向為數(shù)字多媒體技術和模式識別;

        劉子玉,碩士生,研究方向為數(shù)字多媒體技術和模式識別;

        俞 瀅,碩士生,研究方向為數(shù)字多媒體技術和模式識別。

        ??健男

        2014-08-11

        【本文獻信息】閔行,褚晶輝,劉子玉,等.DTV多節(jié)目傳送流實時多畫面播放軟件設計[J].電視技術,2014,38(21).

        國家自然科學基金項目(61271069)

        猜你喜歡
        視頻流碼流采集卡
        邊緣實時視頻流分析系統(tǒng)配置動態(tài)調整算法研究
        高精度AD采集卡性能測試及評價方法研究
        中國測試(2022年2期)2022-03-19 09:57:30
        分布式碼流實時監(jiān)控與錄制系統(tǒng)的設計與實現(xiàn)
        電視技術(2021年8期)2021-10-21 08:19:48
        數(shù)字電視TS碼流協(xié)議簡要分析
        視聽(2021年8期)2021-08-12 10:53:42
        基于視頻流傳輸中的擁塞控制研究
        面向數(shù)控機床的多通道傳感數(shù)據(jù)采集卡設計
        并行高速采樣在地震物理模擬采集中的應用
        美國視頻流市場首現(xiàn)飽和征兆
        PCI-e高速數(shù)據(jù)采集卡的驅動與上位機軟件設計
        電子器件(2015年5期)2015-12-29 08:43:12
        一種比較ASN.1碼流差異的方法
        青青在线精品2022国产| 亚洲丁香五月天缴情综合| 亚洲欧美一区二区三区| 另类欧美亚洲| 中文字幕五月久久婷热| 丰满又紧又爽又丰满视频| 天天做天天添av国产亚洲| 免费日本一区二区三区视频| 加勒比东京热一区二区| 亚洲国产一区久久yourpan| 午夜国产精品一区二区三区| 日本超级老熟女影音播放| 亚洲人交乣女bbw| 成人亚洲性情网站www在线观看| 亚洲三级在线播放| 日本女优中文字幕有码| 国产成人精品久久二区二区91| 亚洲色图片区| 亚洲人成绝费网站色www| 国产精品情侣露脸av在线播放| 亚洲av大片在线免费观看| 亚洲成av人片在www鸭子| 黑人巨大无码中文字幕无码| 久久久久久人妻精品一区百度网盘 | 亚洲日本高清一区二区| 亚洲综合视频一区二区| 无码爆乳护士让我爽| 久久99国产综合精品女同| 亚洲av不卡免费在线| 亚洲午夜精品a片久久www慈禧| 日韩国产成人精品视频| 国产亚洲日本精品二区| 亚洲av无码无限在线观看| 推油少妇久久99久久99久久| 亚洲尺码电影av久久| 亚洲av无码av制服丝袜在线| 亚洲av无码成人网站www| 国产亚洲av一线观看| 朝鲜女人大白屁股ass孕交| 久久精品岛国av一区二区无码| 日本少妇比比中文字幕|