0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IPTV機(jī)頂盒播放器的系統(tǒng)結(jié)構(gòu)介紹

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-10-07 07:04 ? 次閱讀

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

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

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

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

IPTV機(jī)頂盒播放器的系統(tǒng)結(jié)構(gòu)介紹

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

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

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

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

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

IPTV機(jī)頂盒播放器的系統(tǒng)結(jié)構(gòu)介紹

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

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

1.3.1 傳輸模塊。

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

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

1. 3. 2 播放模塊

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

IPTV機(jī)頂盒播放器的系統(tǒng)結(jié)構(gòu)介紹

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

2 結(jié) 語(yǔ)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)頂盒
    +關(guān)注

    關(guān)注

    4

    文章

    386

    瀏覽量

    53816
  • 播放器
    +關(guān)注

    關(guān)注

    5

    文章

    387

    瀏覽量

    37258
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122743
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ST助力NTT Plala推出先進(jìn)新一代智能IPTV機(jī)頂盒

    21ic訊 意法半導(dǎo)體(STMicroelectronics,簡(jiǎn)稱ST)宣布,日本知名網(wǎng)絡(luò)/IPTV服務(wù)商N(yùn)TT Plala株式會(huì)社于4月17日推出的新一代先進(jìn)機(jī)頂盒采用了意法半導(dǎo)體Orly 系統(tǒng)級(jí)
    發(fā)表于 09-22 11:35

    ST助力NTT Plala推出先進(jìn)新一代智能IPTV機(jī)頂盒

    21ic訊 意法半導(dǎo)體(STMicroelectronics,簡(jiǎn)稱ST)宣布,日本知名網(wǎng)絡(luò)/IPTV服務(wù)商N(yùn)TT Plala株式會(huì)社于4月17日推出的新一代先進(jìn)機(jī)頂盒采用了意法半導(dǎo)體Orly 系統(tǒng)級(jí)
    發(fā)表于 11-08 10:36

    怎么實(shí)現(xiàn)基于EM8620的IPTV機(jī)頂盒設(shè)計(jì)?

    本文介紹一種基于EM8620芯片的IPTV機(jī)頂盒設(shè)計(jì)方案,該方案能夠通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)交互電視業(yè)務(wù),支持MPEG2、MPEG4、VC-1(WMV9)、Real等多種視頻壓縮標(biāo)準(zhǔn)解碼,具有電視節(jié)目錄制、數(shù)字版權(quán)保護(hù)、DVD
    發(fā)表于 05-28 06:14

    基于STB7100的高清IPTV機(jī)頂盒設(shè)計(jì)

    基于STB7100 的高清IPTV 機(jī)頂盒設(shè)計(jì)作者:林德才,李悅,魏芳(北京郵電大學(xué)圖像通信研究室摘要IPTV 利用計(jì)算機(jī)或機(jī)頂盒+電視作為接收終端,完成的業(yè)務(wù)包括電視直播、視
    發(fā)表于 02-06 10:38 ?83次下載

    基于EM8620L的IPTV機(jī)頂盒的設(shè)計(jì)

    基于EM8620L的IPTV機(jī)頂盒的設(shè)計(jì) 基于數(shù)字媒體處理芯片em8620l的ip機(jī)頂盒的電路,外圍電路簡(jiǎn)單,實(shí)用性強(qiáng),可實(shí)現(xiàn)各種高質(zhì)量的視頻、音頻輸出,并通過(guò)
    發(fā)表于 12-14 14:16 ?838次閱讀
    基于EM8620L的<b class='flag-5'>IPTV</b><b class='flag-5'>機(jī)頂盒</b>的設(shè)計(jì)

    IPTV機(jī)頂盒的智能化配置和維護(hù)方案設(shè)計(jì)

    IPTV機(jī)頂盒的智能化配置和維護(hù)方案設(shè)計(jì) IPTV接收終端,即IPTV機(jī)頂盒,是IPTV
    發(fā)表于 02-21 09:56 ?1033次閱讀

    IPTV機(jī)頂盒的流媒體播放器設(shè)計(jì)

    介紹IPTV 機(jī)頂盒流媒體播放器的設(shè)計(jì)過(guò)程 ,組成了 IPTV 機(jī)頂盒的流媒體
    發(fā)表于 02-20 10:25 ?2020次閱讀
    <b class='flag-5'>IPTV</b><b class='flag-5'>機(jī)頂盒</b>的流媒體<b class='flag-5'>播放器</b>設(shè)計(jì)

    IPTV網(wǎng)絡(luò)電視原理及機(jī)頂盒設(shè)計(jì)

    本專題為你簡(jiǎn)述iptv網(wǎng)絡(luò)電視原理及iptv機(jī)頂盒設(shè)計(jì)。內(nèi)容涵蓋iptv網(wǎng)絡(luò)電視的含義、原理與結(jié)構(gòu),ip
    發(fā)表于 11-02 14:40
    <b class='flag-5'>IPTV</b>網(wǎng)絡(luò)電視原理及<b class='flag-5'>機(jī)頂盒</b>設(shè)計(jì)

    IPTV前端系統(tǒng)機(jī)頂盒工作原理簡(jiǎn)介V1.1

    IPTV前端系統(tǒng)機(jī)頂盒工作原理軟件系統(tǒng)構(gòu)成
    發(fā)表于 02-15 08:13 ?4次下載

    IP機(jī)頂盒的軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)與開(kāi)發(fā)

    在研究IP機(jī)頂盒系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,以Windows CE.NET為核心設(shè)計(jì)開(kāi)發(fā)了IP機(jī)頂盒操作系統(tǒng)工作流程及媒體
    發(fā)表于 03-14 16:07 ?0次下載

    機(jī)頂盒IPTV業(yè)務(wù)運(yùn)營(yíng)平臺(tái)接口的技術(shù)規(guī)范詳細(xì)說(shuō)明

    本規(guī)范規(guī)定了機(jī)頂盒IPTV 業(yè)務(wù)運(yùn)營(yíng)平臺(tái)的接口,包括與業(yè)務(wù)管理平臺(tái)、 EPG 服務(wù)系統(tǒng)、增值服務(wù)系統(tǒng)、TS 內(nèi)容分發(fā)系統(tǒng)、ISMA 內(nèi)容
    發(fā)表于 03-20 08:00 ?7次下載
    <b class='flag-5'>機(jī)頂盒</b>與<b class='flag-5'>IPTV</b>業(yè)務(wù)運(yùn)營(yíng)平臺(tái)接口的技術(shù)規(guī)范詳細(xì)說(shuō)明

    無(wú)需裝箱即可設(shè)計(jì)IPTV機(jī)頂盒

    無(wú)需裝箱即可設(shè)計(jì)IPTV機(jī)頂盒
    發(fā)表于 05-15 15:17 ?7次下載
    無(wú)需裝箱即可設(shè)計(jì)<b class='flag-5'>IPTV</b><b class='flag-5'>機(jī)頂盒</b>

    iptv機(jī)頂盒和網(wǎng)絡(luò)機(jī)頂盒有什么區(qū)別

    IPTV機(jī)頂盒和網(wǎng)絡(luò)機(jī)頂盒是兩種常見(jiàn)的電視盒子,用于將互聯(lián)網(wǎng)上的媒體內(nèi)容傳輸?shù)诫娨暽?。盡管它們有一些相似之處,但也存在一些重要的區(qū)別。本文將詳細(xì)介紹這兩種
    的頭像 發(fā)表于 01-17 09:29 ?2378次閱讀

    iptv機(jī)頂盒能從路由接線嗎 iptv機(jī)頂盒怎么連接

    下面是連接IPTV機(jī)頂盒的幾種常見(jiàn)方法: 有線連接: a. 確保你的路由器具有可用的LAN端口。大多數(shù)家庭路由都配備了多個(gè)LAN端口,其中一個(gè)是用來(lái)連接網(wǎng)絡(luò)設(shè)備的。 b. 使用以太網(wǎng)電纜將I
    的頭像 發(fā)表于 01-19 16:02 ?5673次閱讀

    iptv機(jī)頂盒怎么連接 iptv機(jī)頂盒和網(wǎng)絡(luò)機(jī)頂盒有什么區(qū)別

    IPTV機(jī)頂盒是一種用于接收和播放IPTV(Internet Protocol Television)服務(wù)的設(shè)備。它通過(guò)互聯(lián)網(wǎng)連接電視和電視節(jié)目提供商的服務(wù)
    的頭像 發(fā)表于 02-05 13:40 ?1688次閱讀