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

        ?

        基于Qt框架的視頻播放組件的設計開發(fā)

        2020-07-04 12:37:40張琪
        河南科技 2020年13期

        摘 要:隨著國產(chǎn)操作系統(tǒng)的逐漸普及,跨平臺的視頻播放組件急需開發(fā)。本文首先對LibVLC進行概述分析,并對Qt編程框架進行簡要介紹,然后給出視頻播放組件的設計開發(fā)方法,最后在Windows平臺和Linux平臺上進行仿真驗證。結(jié)果表明:該視頻播放組件滿足實際應用需求。

        關鍵詞:視頻播放;斷點續(xù)播;組播;LibVLC

        中圖分類號:TP317;TN946 文獻標識碼:A 文章編號:1003-5168(2020)13-0021-03

        Design and Development of Video Play Component Based on Qt Framework

        ZHANG Qi

        (The 27th Research Institute of China Electronic Technology Corporation,Zhengzhou Henan 450015)

        Abstract: With the popularity of domestic operating system,cross-platform video playback components need to be developed urgently. In this paper, libVLC was analyzed and QT programming framework was introduced. Then the design and development method of video playing component was given. Finally, the simulation was carried out on Windows platform and Linux platform. The results show that the video playing component can meet the practical application requirements.

        Keywords: playback;interrupted stream continuation;multicast;LibVLC

        隨著國產(chǎn)操作系統(tǒng)的逐漸普及,特別是在軍用產(chǎn)品中的普及,跨平臺、通用化的視頻播放組件急需開發(fā)。本文結(jié)合實際工程的需求,以Qt為編程框架,以LibVLC播放器代碼為基礎,設計開發(fā)一種跨平臺、通用化、能播放網(wǎng)絡組播視頻及本地視頻文件、支持實際項目特定網(wǎng)絡直播視頻(M4V)斷點續(xù)播的視頻播放組件。

        1 LibVLC及Qt框架介紹

        1.1 LibVLC概述

        VLC多媒體播放器[1]是一個可以用來播放各種各樣的音視頻的多媒體播放器。其支持眾多音頻與視頻解碼器及文件格式,同時也能作為單播或組播的流式服務器[2-3]在IPv4或IPv6的網(wǎng)絡連接下使用[4]?;赒t框架的視頻播放組件將采用VLC視頻播放內(nèi)核組件,并在VLC內(nèi)核LibVLC組件基礎上進行修改,以實現(xiàn)斷點續(xù)播功能,并在國產(chǎn)操作系統(tǒng)上進行使用。

        LibVLC是VLC的核心部分,它是一個提供接口的庫,比如,給VLC提供些功能接口:流的接入、音頻和視頻輸出、插件管理、線程系統(tǒng)。

        1.2 Qt框架概述

        Qt是一個跨平臺C++圖形用戶界面[5]應用程序開發(fā)框架,它是面向?qū)ο蟮目蚣?,使用特殊的代碼生成擴展[元對象編譯器(Meta Object Compiler,MOC)]以及一些宏,易于擴展,允許組件編程。

        Qt的良好封裝機制使得其模塊化程度非常高,可重用性較好,對用戶開發(fā)來說是非常方便的。Qt提供了一種稱為signals/slots的安全類型來替代callback,使得各個元件之間的協(xié)同工作變得十分簡單[6]。

        2 視頻播放組件設計

        本文設計的視頻播放組件以VLC核心LibVLC為基礎,同時以Qt為編程框架,主要包括以下兩個部分:核心模塊和界面模塊。核心模塊主要包括媒體部件、媒體播放器部件、媒體列表部件、媒體列表播放器部件、視頻部件、VLC實例部件、視頻元部件;界面模塊主要包括音頻控制控件、視頻控制控件、視頻窗口控件、聲音滑塊控件。播放組件組成具體如圖1所示。

        2.1 核心模塊

        視頻播放組件的核心模塊主要實現(xiàn)將LibVLC相關核心組件在Qt框架下進行封裝。這里以媒體部件模塊設計為例進行描述(見圖2):創(chuàng)建Media類,該類繼承于QObject;創(chuàng)建公共函數(shù)和私有函數(shù),主要包括初始化VLCMedia類函數(shù)initmedia、核函數(shù)core、獲取當前位置函數(shù)currentLocation、復制媒體函數(shù)duplicate、錄制函數(shù)record、設置參數(shù)函數(shù)setOption。

        2.2 界面模塊

        對于界面模塊的設計,以視頻窗口控件模塊設計為例進行描述(見圖3):①創(chuàng)建VLCVideoWidget類,該類繼承于QObject;②創(chuàng)建公共函數(shù)和私有函數(shù),主要包括視頻窗口控件初始化函數(shù)initVideoWidget、全屏切換函數(shù)toggleFullscreen、設置媒體播放器函數(shù)setMediaPlayer等。

        2.3 斷點續(xù)播設計

        斷點續(xù)播基于實際項目需求,主要為了解決在播放某種特定實時UDP視頻流時,達到即時加入即時播放的目的。分析原有LibVLC代碼可知,在以UDP方式播放視頻流時,首先要檢測一個視頻頭才能正常播放,在播放器即時加入時,實時視頻流視頻頭此時已發(fā)送到網(wǎng)絡上,播放器將因為錯過視頻頭而不能達到視頻播放的目標。通過分析LibVLC代碼可知,UDP視頻流輸入時需要首先經(jīng)過核心模塊的視頻部件中的UDP輸入模塊,本設計在UDP輸入模塊的數(shù)據(jù)塊檢測BlockUDP函數(shù)中增加視頻頭檢測代碼,若未檢測到視頻頭,每經(jīng)過一定數(shù)據(jù)塊則增加一個視頻數(shù)據(jù)塊,以此來解決播放器錯過視頻頭的問題,具體流程如圖4所示。

        3 試驗測試

        研究者在Windows平臺、Linux平臺上測試視頻播放軟件,其中Linux平臺包括國產(chǎn)中標麒麟操作系統(tǒng)(64位和32位)和其他Linux操作系統(tǒng)(ubuntu 操作系統(tǒng)32位和64位),測試結(jié)果如圖5至圖9所示。

        4 結(jié)論

        經(jīng)過多平臺多系統(tǒng)測試,該視頻播放組件基本滿足視頻播放需求,且可滿足多種視頻格式播放需求,同時可針對項目中特定視頻格式進行斷點續(xù)播。

        參考文獻:

        [1]張曉霞.基于VLC的校園信息發(fā)布系統(tǒng)[J].通信技術,2011(7):86-88.

        [2]賈友波.VLC Media Player在教學中的應用探索[J].中國教育現(xiàn)代裝備,2011(19):24-26.

        [3]王鑫.建立IPv6流媒體服務系統(tǒng)[J].網(wǎng)管員世界,2008(7):54-55.

        [4]孔曉東,曾貴華.智能視頻監(jiān)控技術研究[D].上海:上海交通大學,2008.

        [5]彭均鍵,史步海,劉洋.基于Qt的嵌入式GUI開發(fā)平臺的搭建[J].微型電腦應用,2010(2):40-42.

        [6]曾劍元.ARM9平臺上基于Qt/Embedded的嵌入式GUI的研究與實現(xiàn)[D].長春:吉林大學,2010.

        收稿日期:2020-04-11

        作者簡介:張琪(1988—),男,碩士,工程師,研究方向:光電導航專業(yè)。

        日本97色视频日本熟妇视频| 亚洲一区二区观看播放| 男人边做边吃奶头视频| 国产亚洲情侣一区二区无| 国产91对白在线观看| 无码av永久免费大全| 亚洲国产av一区二区不卡| 亚洲日韩中文字幕在线播放| 成人性生交大片免费| 99热成人精品热久久66| 亚洲又黄又大又爽毛片| 自拍视频在线观看首页国产 | 久久久亚洲免费视频网| 91精品国产综合久久熟女| 欧美寡妇xxxx黑人猛交| 久久狠狠第一麻豆婷婷天天| 国产高清天干天天视频| 免费人妻精品一区二区三区| 国内精品久久久久伊人av| 国产熟人av一二三区| 精品88久久久久88久久久| 国产日韩亚洲中文字幕| 亚洲一区精品在线中文字幕| 特级做a爰片毛片免费看| 无码少妇一区二区三区| 亚洲国产A∨无码影院| 果冻国产一区二区三区| 国产自拍成人在线免费视频| 91九色人妻精品一区二区三区| 粉嫩被粗大进进出出视频| 日韩一区二区肥| 永久免费看黄在线观看| 无码人妻丰满熟妇啪啪网不卡| 精品香蕉久久久爽爽| 亚洲av福利天堂在线观看| 国产免费人成视频网站在线18 | 骚小妹影院| 加勒比日本东京热1区| 亚洲精品成人久久av| 亚洲国产亚综合在线区| 亚洲欧美日韩中文无线码|