當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]IPTV機頂盒的流媒體播放器設(shè)計

開源代碼live555是用來實現(xiàn)流媒體傳輸功能的SDK.用該SDK中teSTProgs文件夾中的play Common. cpp 來設(shè)計 IP TV 機頂盒的傳輸模塊 ,并與播放模塊一起構(gòu)成 IPTV 機頂盒的流媒體播放器的過程。playCommon. cpp 是連接服務(wù)器和客戶端的橋梁 ,它的工作原理就是客戶端向服務(wù)器請求數(shù)據(jù)時 ,從服務(wù)器的 URL 處獲得 SDP 描述信息并根據(jù) SDP 創(chuàng)建多媒體會話 ,最后播放數(shù)據(jù)流的過程。

  1 IPTV 機頂盒流媒體播放器設(shè)計

  1. 1 IPTV機頂盒軟件結(jié)構(gòu)

  機頂盒的軟件代碼實現(xiàn)分4部分 :硬件驅(qū)動、操作系統(tǒng)、中間件、應(yīng)用層,如圖1所示。

 

圖1 機頂盒軟件結(jié)構(gòu)

  1) 硬件驅(qū)動 連接底層硬件和上層操作系統(tǒng)。2) 操作系統(tǒng) 這里用的是免費的開源代碼 Linux。3) 中間件 隔離上層應(yīng)用層與底層操作系統(tǒng)及硬件的軟件適配層。中間件的核心模塊主要包括:( 1) 瀏覽器 : 從服務(wù)器端獲得 URL ,并將對應(yīng)的EPG 頁面顯示出來。( 2) 圖形用戶界面管理:為應(yīng)用程序提供用戶界面控制(如按鈕 、列表)以及圖形圖像繪制等圖形功能。4)應(yīng)用層 實現(xiàn)對音、頻媒體文件的播放。

  1. 2 IPTV 機頂盒流媒體播放器系統(tǒng)結(jié)構(gòu)

  Live555開源代碼中playCommon.cpp 實現(xiàn)了以電腦作為接收終端 ,用VLC軟件進行接收并播放 ,最后在電腦上顯示出 來 的 功 能。研 究 的 內(nèi) 容 是 將 playCommon.cpp 融合到機頂盒的軟件代碼中,最終實現(xiàn)以IPTV 機頂盒作為接收終端并對其進行播放,并在電視上顯示出來的功能。這就對代碼的設(shè)計提出了新的要求:一方面 ,playCommon.cpp 獲得服務(wù)器的URL 是通過在 VLC的RTSP 一欄中輸入rtsp ://本機 IP 地址:端口號/要播放的文件名來獲取的。然而對于IPTV 機頂盒,傳輸模塊獲得的URL是用戶通過遙控器選擇EPG上的節(jié)目時對應(yīng)的URL.這個 URL是通過中間件中的瀏覽器讀取的,因此這就需要將中間件和傳輸模塊銜接起來。另一方面playCommon.cpp 發(fā)送出來的數(shù)據(jù)流是通過VLC接收并播放的 ,而對于IPTV機頂盒 ,傳輸模塊發(fā)送出來的數(shù)據(jù)流是通過播放模塊接收并播放的 .因此就需要銜接傳輸模塊和播放模塊。

  為了銜接中間件、輸模塊和播放模塊,設(shè)計了消息隊列,以實現(xiàn)這3個模塊間的數(shù)據(jù)通信。另外程序中還設(shè)計了 pt hread create ()來創(chuàng)建線程 rt spmain(),實現(xiàn)程序的并發(fā)。IPTV 播放器的系統(tǒng)構(gòu)架見圖2。

圖2 IPTV 播放器的系統(tǒng)構(gòu)架

  1.3 程序結(jié)構(gòu)分析

  1.3.1 傳輸模塊。

  1) main 函數(shù) (1) void initMsgQ ()初始化消息隊列。dataQid 代表數(shù)據(jù)的消息隊列 ,裝著一些在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù) ,最后通過 void send data to player ()函數(shù)將消息隊列中的數(shù)據(jù)發(fā)送至播放器。msgkeyQid代表消息鍵值的消息隊列 ,傳輸模塊接收從中間件獲得的遙控器鍵值指令 ,并發(fā)送至播放器以實現(xiàn)快進 、快退 、 停 、播放等操作。fromeMiddleQid 代表中間件的消息隊列,傳輸模塊接收從中間件發(fā)來的 URL,作為客戶端播放器向服務(wù)器請求數(shù)據(jù)時的目的地址。playerStateQid 代表播放狀態(tài)的消息隊列,傳輸模塊用來收發(fā)播放器的狀態(tài), 控制播放器是點播 、直播還是時移。(2) phread_create(&g_session_thread_info ,&tattr,(void*(*)(void*))rtsp_main ,(void*)&urlInform);創(chuàng)建rtsp_main()線程。保證消息隊列的通信和流媒體的傳輸同時運行。

  2) rtsp_main 函數(shù)。(1) recvMiddlewareMsg(fromeMiddleQid,url):從中間件傳遞url的值賦給變量url.(關(guān)于url的定義是在中間件里完成的,因此需要從中間件獲得);(2)playCommon.cpp中的函數(shù):客戶端向服務(wù)器發(fā)出請求時,服務(wù)器響應(yīng)請求,創(chuàng)建媒體會話并播放數(shù)據(jù)流。(3) main_player_entry(gTrans. first Create):客戶端接收流并調(diào)用播放器的入口函數(shù),對播放器進行初始化配置。(4) void send_data_to_player():調(diào)用播放器 ,將從網(wǎng)上接收來的數(shù)據(jù)發(fā)送至播放器,并開始播放。

  1. 3. 2 播放模塊

  播放模塊如圖 3 所示 ,主要完成點播、直播、時移模式下文件的播放以及對播放狀態(tài)的控制, 如快進、快退、暫停、播放等。1 )process_playback_state( )根據(jù)點播 、直播、時移調(diào)用不同的函數(shù),相同的是要設(shè)置音視頻同 步 .2) handle_playback_state(state,time) 設(shè)置不同的時間戳 ( state Tmp . multiple) 來控制播放狀態(tài)。

圖3 播放模塊結(jié)構(gòu)圖

  2 結(jié) 語

  IPTV 機頂盒軟件功能模塊主要包括: 流媒體的傳輸模塊,媒體播放器模塊,電子節(jié)目菜單模塊, WEB瀏覽器模塊。其中,流媒體的傳輸模塊、媒體播放器模塊合起來構(gòu)成機頂盒播放器; 電子節(jié)目菜單模塊、WEB 瀏覽器模塊合起來構(gòu)成中間件的基本模塊。研究的重點就是播放器。運用設(shè)計的方法制作的IPTV機頂盒已經(jīng)生產(chǎn)出來,并且經(jīng)測試性能穩(wěn)定。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉