FMUSER更輕鬆地傳輸視頻和音頻!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷蘭語
sq.fmuser.org ->阿爾巴尼亞人
ar.fmuser.org ->阿拉伯語
hy.fmuser.org - >亞美尼亞
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄羅斯語
bg.fmuser.org - >保加利亞
ca.fmuser.org ->加泰羅尼亞語
zh-CN.fmuser.org ->中文(簡體)
zh-TW.fmuser.org - >中國(繁體)
hr.fmuser.org ->克羅地亞語
cs.fmuser.org ->捷克
da.fmuser.org ->丹麥語
nl.fmuser.org - >荷蘭
et.fmuser.org ->愛沙尼亞語
tl.fmuser.org ->菲律賓
fi.fmuser.org ->芬蘭語
fr.fmuser.org - >法國
gl.fmuser.org ->加利西亞語
ka.fmuser.org ->喬治亞
de.fmuser.org ->德語
el.fmuser.org - >希臘
ht.fmuser.org ->海地克里奧爾語
iw.fmuser.org ->希伯來語
hi.fmuser.org ->印地語
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰島語
id.fmuser.org ->印尼語
ga.fmuser.org ->愛爾蘭
it.fmuser.org - >意大利
ja.fmuser.org ->日語
ko.fmuser.org ->韓文
lv.fmuser.org ->拉脫維亞
lt.fmuser.org - >立陶宛
mk.fmuser.org ->馬其頓語
ms.fmuser.org ->馬來語
mt.fmuser.org ->馬耳他語
no.fmuser.org - >挪威
fa.fmuser.org ->波斯語
pl.fmuser.org ->波蘭語
pt.fmuser.org ->葡萄牙語
ro.fmuser.org - >羅馬尼亞
ru.fmuser.org ->俄語
sr.fmuser.org ->塞爾維亞語
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亞
es.fmuser.org ->西班牙語
sw.fmuser.org ->斯瓦希里語
sv.fmuser.org ->瑞典語
th.fmuser.org - >泰國
tr.fmuser.org ->土耳其語
uk.fmuser.org ->烏克蘭語
ur.fmuser.org ->烏爾都語
vi.fmuser.org - >越南
cy.fmuser.org ->威爾士語
yi.fmuser.org - >意第緒語
開源代碼live555是用於實現流媒體傳輸功能的SDK。 使用SDK的teSTProgs文件夾中的play Common.cpp設計IP TV機頂盒的傳輸模塊,並與播放模塊一起構成IPTV機頂盒過程的流媒體播放器。 playCommon。 cpp是連接服務器和客戶端的橋樑。 它的工作原理是,當客戶端從服務器請求數據時,它從服務器URL獲取SDP描述信息,並基於SDP創建多媒體會話,最後播放數據流。
介紹了IPTV機頂盒流媒體播放器的設計過程,利用live555開源代碼中的playCommON.cpp功能,結合IPTV機頂盒的軟件結構設計,開發了IPTV機頂盒傳輸模塊。 然後,傳輸模塊通過消息隊列與中間件連接,同時通過播放模塊的入口功能與播放模塊連接,最終構成IPTV機頂盒的流媒體播放器。 該播放器已經過測試,性能穩定。
1 IPTV機頂盒流媒體播放器設計
1. 1 IPTV機頂盒軟件結構
機頂盒的軟件代碼分為四個部分:硬件驅動程序,操作系統,中間件,應用程序層。
1)硬件驅動程序連接底層硬件和上層操作系統。 2)操作系統這裡使用免費的開放源代碼Linux。 3)中間件將上層應用程序層與底層操作系統和硬件隔離開來的軟件適配層。 中間件的核心模塊主要包括:(1)瀏覽器:從服務器獲取URL並顯示相應的EPG頁面。 (2)圖形用戶界面管理:為應用程序提供圖形功能,例如用戶界面控件(例如按鈕,列表)和圖形圖像繪製。 4)應用層實現音頻和視頻媒體文件的播放。
1.2 IPTV機頂盒流媒體播放器系統結構
在Live555開源代碼中,playCommon.cpp實現了以下功能:將計算機用作接收終端,使用VLC軟件進行接收和播放,最後將其顯示在計算機上。 研究的內容是將playCommon.cpp集成到機頂盒的軟件代碼中,最終實現使用IPTV機頂盒作為接收終端並播放並將其顯示在電視上的功能。 這對代碼的設計提出了新的要求:一方面,playCommon.cpp通過在VLC的RTSP列中輸入rtsp://本地IP地址:端口號/文件名來獲取服務器的URL。 。 獲得。 但是,對於IPTV機頂盒,當用戶通過遙控器在EPG上選擇節目時,傳輸模塊獲得的URL是對應的URL。 該URL由中間件中的瀏覽器讀取,因此必須將中間件與傳輸模塊連接起來。 另一方面,playCommon.cpp發送的數據流通過VLC接收和播放。 對於IPTV機頂盒,傳輸模塊發送的數據流被接收並通過播放模塊播放。 因此,必須連接傳輸模塊和回放模塊。
為了連接中間件,輸出模塊和回放模塊,設計了一個消息隊列來實現這三個模塊之間的數據通信。 另外,程序中還設計了pt hread create()來創建線程rt spmain()來實現程序的並發性。
1.3程序結構分析
1.3.1傳輸模塊。
1)主要功能(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。首先創建):客戶端接收流並調用播放器的入口函數以初始化播放器。 (4)void send_data_to_player():呼叫播放器,將從Internet接收的數據發送到播放器,然後開始播放。
|
輸入電子郵件以獲取驚喜
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷蘭語
sq.fmuser.org ->阿爾巴尼亞人
ar.fmuser.org ->阿拉伯語
hy.fmuser.org - >亞美尼亞
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄羅斯語
bg.fmuser.org - >保加利亞
ca.fmuser.org ->加泰羅尼亞語
zh-CN.fmuser.org ->中文(簡體)
zh-TW.fmuser.org - >中國(繁體)
hr.fmuser.org ->克羅地亞語
cs.fmuser.org ->捷克
da.fmuser.org ->丹麥語
nl.fmuser.org - >荷蘭
et.fmuser.org ->愛沙尼亞語
tl.fmuser.org ->菲律賓
fi.fmuser.org ->芬蘭語
fr.fmuser.org - >法國
gl.fmuser.org ->加利西亞語
ka.fmuser.org ->喬治亞
de.fmuser.org ->德語
el.fmuser.org - >希臘
ht.fmuser.org ->海地克里奧爾語
iw.fmuser.org ->希伯來語
hi.fmuser.org ->印地語
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰島語
id.fmuser.org ->印尼語
ga.fmuser.org ->愛爾蘭
it.fmuser.org - >意大利
ja.fmuser.org ->日語
ko.fmuser.org ->韓文
lv.fmuser.org ->拉脫維亞
lt.fmuser.org - >立陶宛
mk.fmuser.org ->馬其頓語
ms.fmuser.org ->馬來語
mt.fmuser.org ->馬耳他語
no.fmuser.org - >挪威
fa.fmuser.org ->波斯語
pl.fmuser.org ->波蘭語
pt.fmuser.org ->葡萄牙語
ro.fmuser.org - >羅馬尼亞
ru.fmuser.org ->俄語
sr.fmuser.org ->塞爾維亞語
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亞
es.fmuser.org ->西班牙語
sw.fmuser.org ->斯瓦希里語
sv.fmuser.org ->瑞典語
th.fmuser.org - >泰國
tr.fmuser.org ->土耳其語
uk.fmuser.org ->烏克蘭語
ur.fmuser.org ->烏爾都語
vi.fmuser.org - >越南
cy.fmuser.org ->威爾士語
yi.fmuser.org - >意第緒語
FMUSER更輕鬆地傳輸視頻和音頻!
聯絡我們
分類
電子通訊