《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > IPTV機頂盒的流媒體播放器設計
IPTV機頂盒的流媒體播放器設計
摘要: 介紹了IPTV機頂盒流媒體播放器的設計過程,利用live555開源代碼中playCommON.cpp的功能,結合IPTV機頂盒的軟件結構設計開發了IPTV機頂盒的傳輸模塊。然后將這個傳輸模塊通過消息隊列與中間件連接,同時通過播放模塊的入口函數與播放模塊連接,最后組成了IPTV機頂盒的流媒體播放器。該播放器經測試,性能穩定。
Abstract:
Key words :

  摘要:介紹了IPTV 機頂盒流媒體播放器的設計過程 ,利用live555 開源代碼中playCommON. cpp 的功能 ,結合 IPTV機頂盒的軟件結構設計開發了 IPTV 機頂盒的傳輸模塊。然后將這個傳輸模塊通過消息隊列中間件連接 ,同時通過播放模塊的入口函數與播放模塊連接 ,最后組成了 IPTV 機頂盒的流媒體播放器。該播放器經測試 ,性能穩定。

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

  1 IPTV 機頂盒流媒體播放器設計

  1. 1 IPTV機頂盒軟件結構

  機頂盒的軟件代碼實現分4部分 :硬件驅動、操作系統、中間件、應用層,如圖1所示。

 

圖1 機頂盒軟件結構

圖1 機頂盒軟件結構

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

  1. 2 IPTV 機頂盒流媒體播放器系統結構

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

  為了銜接中間件、輸模塊和播放模塊,設計了消息隊列,以實現這3個模塊間的數據通信。另外程序中還設計了 pt hread create ()來創建線程 rt spmain(),實現程序的并發。IPTV 播放器的系統構架見圖2。

圖2 IPTV 播放器的系統構架

圖2 IPTV 播放器的系統構架

  1.3 程序結構分析

  1.3.1 傳輸模塊。

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

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

  1. 3. 2 播放模塊

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

圖3 播放模塊結構圖

圖3 播放模塊結構圖

  2 結 語

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产一区观看| 欧美高清视频www夜色资源网| 亚洲黄色av| 羞羞答答国产精品www一本| 91久久精品国产| 欧美成人国产一区二区| 亚洲精品久久久久久久久久久久久 | 制服丝袜亚洲播放| 久久爱另类一区二区小说| 黄色免费成人| 一本色道久久综合亚洲精品按摩 | 欧美va天堂在线| 亚洲精选在线观看| 久久国产福利| 亚洲免费观看高清完整版在线观看熊 | 亚洲午夜羞羞片| 亚洲字幕一区二区| 激情欧美丁香| 欧美一区二区三区四区在线观看地址 | 9国产精品视频| 国产精品h在线观看| 亚洲午夜三级在线| 国内外成人在线视频| 欧美风情在线观看| 欧美一级在线亚洲天堂| 亚洲午夜日本在线观看| 亚洲午夜国产成人av电影男同| 国产精品萝li| 亚洲国产成人一区| 韩国一区二区三区在线观看| 亚洲午夜激情网页| 一区精品在线播放| 久久久国产91| 欧美一区二区| 国产热re99久久6国产精品| 日韩视频中文字幕| 国产精品乱人伦中文| 午夜激情久久久| 一区二区三区国产精品| 欧美精品乱人伦久久久久久| 中文精品99久久国产香蕉| 亚洲午夜在线视频| 国产亚洲免费的视频看| 欧美一区二区性| aa成人免费视频| 国产在线不卡精品| 国产精品一区二区三区四区五区 | 欧美在线免费视屏| 狠狠入ady亚洲精品| 狠狠干综合网| 韩国一区二区三区在线观看| 国内偷自视频区视频综合| 国内视频一区| 一区二区在线观看视频在线观看| 激情欧美一区二区| 一区二区三区在线视频免费观看| 在线看成人片| 亚洲激情欧美| 日韩网站在线| 亚洲一级黄色av| 亚洲午夜激情| 小辣椒精品导航| 亚洲国产高清在线观看视频| 亚洲激情偷拍| 亚洲国产精品免费| 日韩视频免费观看| 亚洲一二三四久久| 午夜欧美理论片| 久久午夜电影网| 亚洲视频第一页| 99人久久精品视频最新地址| 激情欧美一区二区| 久久嫩草精品久久久精品一| 亚洲欧美一区二区原创| 一区二区三区四区精品| 国产乱码精品一区二区三区忘忧草| 亚洲欧美影院| 日韩一级片网址| 日韩视频免费在线| 伊人久久大香线蕉综合热线| 日韩亚洲国产欧美| 亚洲高清在线视频| 亚洲欧美日韩另类精品一区二区三区 | 在线视频亚洲欧美| 久久久av毛片精品| 欧美网站在线观看| 狠狠色狠狠色综合日日小说| 一本色道**综合亚洲精品蜜桃冫| 久久精品国产免费看久久精品| 一区二区三区www| 久久久久久97三级| 国产精品主播| 一本色道久久综合狠狠躁的推荐| 亚洲丰满在线| 欧美一区二区私人影院日本| 欧美日韩成人激情| 狠狠久久婷婷| 羞羞色国产精品| 亚洲免费视频网站| 欧美精品高清视频| …久久精品99久久香蕉国产| 欧美一级播放| 性欧美暴力猛交69hd| 欧美激情亚洲激情| 一区在线电影| 欧美一区二区在线| 午夜精品久久久| 欧美视频一区二区三区| 亚洲国产精品一区二区久| 欧美一区视频在线| 欧美一区二区三区四区在线观看| 欧美手机在线| 日韩视频免费在线| a4yy欧美一区二区三区| 欧美激情视频在线播放| 1204国产成人精品视频| 久久精品国产第一区二区三区最新章节 | 99re在线精品| 中文无字幕一区二区三区| 亚洲福利视频网站| 亚洲成色www久久网站| 国内一区二区三区在线视频| 国产一区美女| 亚洲美女淫视频| 国产午夜精品久久久| 尤物九九久久国产精品的特点| 日韩图片一区| 欧美va天堂在线| 亚洲激情视频网站| 亚洲美女视频网| 国产色婷婷国产综合在线理论片a| 亚洲无线视频| 一区二区三区毛片| 欧美激情五月| 亚洲黄色有码视频| 亚洲日本中文字幕| 欧美精品入口| 国产精品v片在线观看不卡| 久久五月婷婷丁香社区| 国产嫩草一区二区三区在线观看 | 模特精品在线| 久久久人人人| 欧美金8天国| 亚洲精品乱码久久久久久日本蜜臀 | 一区二区欧美精品| 亚洲欧美韩国| 99re国产精品| 久久噜噜亚洲综合| 国产麻豆午夜三级精品| 亚洲第一天堂av| 一区二区国产精品| 欧美激情精品久久久| 91久久精品网| 一区二区三区回区在观看免费视频| 欧美日韩一本到| 亚洲摸下面视频| 久久艳片www.17c.com| 亚洲国产另类精品专区| 在线中文字幕不卡| 国产乱码精品一区二区三区不卡| 久久精品麻豆| 欧美日韩免费在线视频| 欧美激情麻豆| 日韩特黄影片| 久久er99精品| 亚洲欧美日韩综合aⅴ视频| 欧美日韩国产色综合一二三四 | 麻豆精品精华液| 欧美黑人国产人伦爽爽爽| 99re8这里有精品热视频免费| 亚洲欧美www| 激情亚洲网站| 中日韩美女免费视频网址在线观看| 国产精品久久久久久久久搜平片| 亚洲欧美成人一区二区在线电影 | 亚洲狼人精品一区二区三区| 亚洲一区二区少妇| 国户精品久久久久久久久久久不卡 | 欧美婷婷在线| 久久精品二区三区| 欧美激情日韩| 亚洲性人人天天夜夜摸| 久久一区二区三区av| 999亚洲国产精| 久久久蜜臀国产一区二区| 亚洲美女啪啪| 久久久久欧美| 在线视频精品| 免费成人性网站| 亚洲综合不卡| 欧美日韩成人一区二区三区| 国产精品二区二区三区| 国产在线拍偷自揄拍精品| 一区二区三区四区蜜桃| 国产一区二区三区高清播放| 在线中文字幕一区| 在线观看日韩专区| 欧美在线视频播放| 一区二区三区不卡视频在线观看 | 一本色道久久综合亚洲二区三区 |