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

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

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

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

關鍵詞:視頻播放;斷點續播;組播;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

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

1 LibVLC及Qt框架介紹

1.1 LibVLC概述

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

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

1.2 Qt框架概述

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

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

2 視頻播放組件設計

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

2.1 核心模塊

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

2.2 界面模塊

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

2.3 斷點續播設計

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

3 試驗測試

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

4 結論

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

參考文獻:

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

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

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

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

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

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

收稿日期:2020-04-11

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

主站蜘蛛池模板: www.99在线观看| 国产亚洲精品91| 亚洲成a人在线播放www| 国产高清在线观看91精品| 免费精品一区二区h| 国产真实乱子伦视频播放| 色综合日本| 欧美日韩在线成人| 亚洲国产精品日韩av专区| 538国产视频| 2019国产在线| 97久久人人超碰国产精品| 91免费片| 国产精品专区第1页| 国产第一页免费浮力影院| 精品欧美一区二区三区在线| 国产又粗又猛又爽视频| 亚洲一欧洲中文字幕在线| 国产青青操| 成年看免费观看视频拍拍| 国产精品极品美女自在线网站| 中文字幕日韩欧美| 免费无遮挡AV| 不卡国产视频第一页| 国产精品欧美在线观看| 久久久久人妻精品一区三寸蜜桃| 国产小视频在线高清播放| 午夜国产精品视频| 99精品高清在线播放| 色窝窝免费一区二区三区 | 谁有在线观看日韩亚洲最新视频| 亚洲 欧美 偷自乱 图片| 永久免费无码成人网站| 国产偷国产偷在线高清| 在线看片免费人成视久网下载| 福利视频99| 国产福利观看| 国产va在线| 亚洲国产91人成在线| 中文字幕 91| 亚洲国产天堂久久九九九| 日本不卡在线视频| 99视频精品全国免费品| 99色亚洲国产精品11p| 呦系列视频一区二区三区| 成人午夜免费观看| 茄子视频毛片免费观看| 亚洲一区二区日韩欧美gif| 免费av一区二区三区在线| 国产亚洲精品97AA片在线播放| 亚洲一级无毛片无码在线免费视频 | 色婷婷在线影院| 久久中文无码精品| 国产乱肥老妇精品视频| 免费看久久精品99| 亚国产欧美在线人成| 欧美日本不卡| 四虎影视库国产精品一区| 9啪在线视频| 乱人伦中文视频在线观看免费| 国产9191精品免费观看| 9966国产精品视频| 五月婷婷精品| 无码AV高清毛片中国一级毛片| 三级国产在线观看| 亚洲欧美日韩动漫| 国产男女免费完整版视频| 成人午夜视频网站| 99性视频| 粗大猛烈进出高潮视频无码| 亚洲欧美国产五月天综合| 国产在线精品网址你懂的| 亚洲天堂免费观看| 久久中文字幕2021精品| 免费人成黄页在线观看国产| 欧美视频免费一区二区三区| 1769国产精品视频免费观看| 久久综合成人| 欧美亚洲日韩中文| 3344在线观看无码| 欧美午夜理伦三级在线观看| 精品无码国产一区二区三区AV|