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

基于內容分發網絡的實時流媒體直播系統設計

2021-12-08 19:54:03蘇永紅
軟件工程 2021年12期

摘 ?要:針對直播系統在復雜網絡環境下傳輸信號差的缺陷,提出基于內容分發網絡的實時流媒體直播系統。采用先進的流媒體服務器集群技術,在傳輸服務器接收流媒體信息時采用RUDP協議,在傳輸服務器將流媒體信息推送至媒體服務器時采用RTMP協議,可以極大地提升系統所要求支持的并發性流量和數目,有效地避免了單點失效給系統帶來的不良影響。通過分別對用RTMP與RUDP結合、RTMP和RUDP實現的消息傳輸性能進行測試和比較,表明該方法可以提高復雜網絡環境下直播系統中音視頻流媒體的傳輸質量和傳輸效率。

關鍵詞:內容分發網絡;推流;服務器集群;流媒體

中圖分類號:TP393 ? ? 文獻標識碼:A

Abstract: Aiming at poor transmission signal of the live broadcast system in complex network environment, the paper proposes to design a real-time streaming media live broadcast system based on content distribution network, by adopting advanced streaming media server cluster technology. RUDP (Reliable User Datagram Protocol) protocol is used when transmission server receives streaming media information. RTMP (Real-time Messaging Protocol) protocol is used when transmission server pushes the streaming media information to media server. This greatly increases the concurrent traffic and number required by the system, and effectively avoids the adverse impact of single-point failure on the system. The message transmission performance achieved by combining RTMP and RUDP, by RTMP and by RUDP is tested and compared, which shows that this method can improve the transmission quality and transmission efficiency of audio and video streaming media in a live broadcast system in a complex network environment.

Keywords: content distribution network; push flow; server cluster; streaming media

1 ? 引言(Introduction)

在用戶觀看直播過程中,如果網絡傳輸信號差,則用戶收到的語音數據和視頻信號可能會變得較差,并且正在播放的視頻信號效果會因此變得更糟[1]。針對上述問題,本文設計了一種基于內容分發網絡的實時流媒體直播系統,采用先進的流媒體服務器集群技術[2-3],在傳輸服務器接收流媒體信息時采用RUDP(Reliable User Datagram Protocol)協議[4],在傳輸服務器將流媒體信息推送至媒體服務器時采用RTMP(Real Time Messaging Protocol)協議[5]。RUDP主要為了彌補RTMP在復雜網絡環境下傳輸信號差的缺陷[6-7],通過內容分發網絡設計,可以極大地提升系統所要求支持的并發性流量和數目,有效地避免了單點失效給系統帶來的不良影響,可以提高復雜網絡環境下直播系統中音視頻流媒體的傳輸質量和傳輸效率。

2 ? 系統總體設計(Overall system design)

本文設計的基于內容分發網絡的實時流媒體直播系統,包括系統物理架構和系統邏輯架構設計、系統推流設計、內容分發網絡CDN(Content Delivery Network)設計、媒體數據NAT(Network Address Translation, 網絡地址轉換)設計。

2.1 ? 系統物理架構

系統物理架構采用三級交換網絡,主播將音視頻信息發送到MTS(Media Transfer Server, 媒體轉發服務器),MTS在發生故障時可以通過備份的MTS進行房間遷移。MTS處于一級交換網絡,MTS將信息推流到二級交換網的MSS-Origin(Media Streaming Server of Origin, 源媒體流服務器),然后推流到分布式CDN集群。觀眾通過各種瀏覽器訪問MSS-Edge(Media Streaming Server of Edge, 邊界媒體流服務器),MSS-Edge上的信息也可以回源到MSS-Origin端,數據流是可以雙向訪問和互動的。系統物理架構如圖1所示。

2.2 ? 系統邏輯架構

系統邏輯架構采用四層架構,最底層是LINUX內核,上層通過系統API接口訪問LINUX內核。然后是網絡層,網絡層分為網絡適配層、Net API接口和Event Drive三個部分,其中Net API接口遵循TCP/UDP(Transmission Control Protocol/User Datagram Protocol, 傳輸控制協議/用戶數據報協議)協議[8],Event Drive通過epol()函數進行LINUX系統設備訪問。接著是MTS層,MTS層包含房間管理、游客管理、認證鑒權、媒體轉發、直播推流和故障管理這幾個功能。最上層是接口層,包括MRS Interface(媒體資源管理服務器接口)、MTM Interface(媒體任務管理服務器接口)、MSS Interface(媒體流服務器接口)、Client Interface(客戶端接口)。系統邏輯架構如圖2所示。

2.3 ? 主要狀態圖設計

首先,房間管理單元向媒體任務管理服務器(MTM)申請創建房間。MTM向媒體資源管理服務器(MRS)申請創建房間的消息代理,MRS向MTS發送申請創建房間消息,創建房間后向上一級返回創建結果。其次,房間管理單元進入房間,登記游客信息。第三,房間管理單元將開播參數發送給主播助手,主播助手連接MTS發送實時數據流,MTS通過用戶鑒權接收實時數據流。第四,MTS將房間信息推流到MSS(媒體流服務器),用戶通過瀏覽器訪問MSS拉取房間數據流并播放房間數據信息。狀態圖如圖3所示。

2.4 ? 系統時序圖

系統時序圖包括房間管理時序圖、用戶管理時序圖和角色管理時序圖,各個時序圖分別給出了各個模塊的操作流程。

2.4.1 ? 創建房間

房間管理單元向MTM申請創建房間,MTM審核通過后向MRS申請創建房間,MRS持久化房間信息,向MTM返回創建結果,MTM向RM返回申請結果。然后,MRS向MTS申請按能力分配房間資源,MTS分配資源后將分配的地址信息返回給MRS。創建房間時序圖如圖4所示。

2.4.2 ? 刪除房間

首先,RM向MTM申請刪除房間,MTM審核通過后向MRS發送刪除房間消息,MRS刪除房間持久化信息,向MTM返回刪除結果,MTM向RM返回刪除結果。然后,MRS向MTS申請刪除房間資源,MTS刪除房間資源后向MRS返回刪除結果。刪除房間時序圖如圖5所示。

2.4.3 ? 添加用戶

首先RM向MTM申請添加用戶,MTM獲取該用戶所在房間地址,然后向MTS反向代理申請添加用戶;MTS向MTM返回結果和用戶標記信息,然后MTM向RM返回結果和標記信息。添加用戶時序圖如圖6所示。

2.4.4 ? 刪除用戶

首先RM向MTM申請刪除用戶,MTM獲取該用戶所在房間地址,然后反向代理,向MTS申請刪除用戶;MTS刪除用戶后向MTM返回結果,然后MTM向RM返回結果。刪除用戶時序圖如圖7所示。

2.4.5 ? 設置角色

首先RM向MTM申請變更用戶角色,MTM獲取該用戶所在房間地址信息,然后反向代理變更角色;MTS變更角色后向MTM返回變更結果,然后MTM向RM返回結果。設置角色時序圖如圖8所示。

3 ? 系統推流設計(System push flow design)

本系統設計了一種基于RUDP和RTMP結合的實時流媒體直播系統的推流方法[9],包括:

步驟1:流媒體從助手端通過RUDP實時傳輸至MTS,流媒體包括音頻、視頻數據包。

步驟2:流媒體進入MTS的緩沖隊列進行去抖動后,判斷緩沖隊列中是否有數據,若有數據,則進入步驟3。

步驟3:將數據封裝成RTMP流推送至MSS中,向MSS推送時需要遵循RTMP的URL格式,例如:RTMP://119.140.0.67:1935/live/10005689。然后判斷是否結束直播,如果是,則關閉直播,結束推送;如果不結束直播,則MTS繼續接收助手端推送的流媒體,并重復步驟1[10]。推流系統流程圖如圖9所示。

4 ? CDN內容分發網絡設計(CDN content distribution network design)

本文設計了采用流媒體服務器集群技術的CDN(內容分發網絡)。CDN是構建在數據網絡上的一種分布式的內容分發網絡。CDN的作用主要是采用流媒體服務器集群技術,克服單機系統輸出帶寬及并發能力不足的缺點,可極大提升系統支持的并發流數目,減少或避免單點失效帶來的不良影響。愛歌助手通過RUDP上傳流媒體信息到MTS,MTS將數據封裝成RTMP流,以推流的方式將流媒體信息推流到MSS內多個CDN網絡中。在每個CDN網絡內部,MSS Origin又將流媒體信息推送到多個MSS Edge,用戶通過MSS Edge接收流媒體信息或與MSS Edge進行交互。CDN內容分發網絡設計如圖10所示。

5 ? 媒體數據NAT設計(Media data NAT design)

考慮到傳輸效率,愛歌助手通過RUDP傳輸媒體數據到MTS,需要處理NAT(Network Address Translation)問題。為了確保互聯網上每個客戶端都能順利地接入音視頻房間,需避免全對稱性NAT情況,所以每臺中心服務器必須都使用一個固定公網IP與之綁定。媒體數據NAT設計如圖11所示。

6 ? 系統測試及分析(System test and analysis)

測試環境是基于內容分發網絡的實時流媒體傳輸技術應用于愛歌助手系統進行測試,包括主播機1 臺、MTS集群2 個、MSS-Origin服務器2 臺、MSS-Edge服務器6 臺,分布在不同的CDN網絡,客戶機6 臺。

(1)主播機配置:Intel core i5 CPU,16 GB內存,Windows 10操作系統。

(2)MTS集群配置:

硬件環境:奔騰處理器。

軟件環境:操作系統為Linux Cent OS 7.0,Web Server

為Tomcat 8+Nginx,文件元數據庫為MySQL,文件系統為MFS,基礎文件系統為lighthttd+fastCGI+MooseFS,內存為64 GB,硬盤為8 TB,SSD為480 GB,網卡為1000 Mb/s。

(3)MSS服務器配置:CentOS 7.0,CPU至強E3、4核、3.10 GHz,內存16 GB,硬盤500 GB,網卡1000 Mb/s。

在現有網絡中分別對用RTMP與RUDP結合、RTMP和RUDP實現的消息傳輸性能進行了測試和比較。

6.1 ? RTMP與RUDP結合同RTMP和RUDP的測試與比較

對RTMP與RUDP相結合同RTMP和RUDP協議方式發送消息進行了比較性的測試,方法是:對主播與用戶之間發送相同的消息量參數,用戶在接收到相同的消息后,發送一個異步消息給主播,測試主播收到用戶回發的異步消息后記錄消息發送次數和當前系統運行時間(tick數),根據運行時間和消息數計算出異步通信效率。每個消息的長度為sizeof

(T_MSG)+50=90。實驗結果如表1所示。

式中,表示通信效率,N表示通信的消息數,L表示每個消息的長度,T表示通信的時間,t表示每秒的tick數。

6.2 ? 通信效率測試結果分析

(1) 使用RTMP與RUDP結合發送異步消息的平均效率為=0.841 Mb/s,使用RTMP發送異步消息的平均效率為=0.652 Mb/s,異步通信效率提高百分比為:

由式(2)可知,在使用異步消息通信時,使用RTMP與RUDP結合比使用RTMP的通信效率提高了28.99%。

(2)使用RTMP與RUDP結合發送異步消息的平均效率為=0.841 Mb/s,使用RUDP發送異步消息的平均效率為=0.761 Mb/s,異步通信效率提高百分比為:

由式(3)可知,在使用異步消息通信時,使用RTMP與RUDP結合比使用RUDP的通信效率提高了13.50%。

7 ? 結論(Conclusion)

本文介紹了基于內容分發網絡的實時流媒體直播系統,采用先進的流媒體服務器集群技術,在傳輸服務器接收流媒體信息時采用RUDP協議,在傳輸服務器將流媒體信息推送至媒體流服務器時采用RTMP協議。RUDP主要為了彌補RTMP復雜網絡環境下傳輸信號差的缺陷,通過內容分發網絡設計,可以極大地提升系統所要求支持的并發性流量和數目。通過在實際網絡環境中的測試,表明該技術可以極大地提高整個系統的分發效率,提高復雜網絡環境下直播系統中音視頻流媒體的傳輸質量和傳輸效率。該技術值得更廣泛地研究與應用。

參考文獻(References)

[1] 李聞斌,龐璐寧,黃晟.實時流媒體傳輸系統中關鍵技術的研究與實現[J].信息通信,2020,216(12):159-161.

[2] 翁小松,張征.基于Storm的流媒體實時傳輸系統[J].計算機系統應用,2020,29(6):64-72.

[3] 李靜,王軍政,沈位.基于B/S和流媒體技術的遠程監控系統研究[J].北京理工大學學報,2018,28(8):682-686.

[4] 陳炯.傳輸協議RUDP的分析研究及改進[D].成都:電子科技大學,2008.

[5] 張印.基于RTMP的流媒體系統的設計與實現[D].成都:電子科技大學,2015.

[6] 胡廣.基于RUDP的可靠數據傳輸研究[D].武漢:武漢理工大學,2006.

[7] 李國棟,張琳琳,柳長安.基于RUDP的視頻傳輸技術研究[J].計算機工程,2006,24(12):226-228.

[8] 王海軍,劉彩霞,程東年.一種基于UDP的可靠傳輸協議分析與研究[J].計算機應用與研究,2005,22(11):181-183.

[9] 李濤,韓鵬,侯冠東,等.ORUDP協議棧設計與FPGA實現[J].計算機工程,2019,16(08):2-10.

[10] 呂昊.基于RTMP協議的嵌入式流媒體系統的設計與實現[D].北京:北京郵電大學,2019.

作者簡介:

蘇永紅(1980-),女,碩士,講師.研究領域:網絡通信,網絡安全,分布式計算.

主站蜘蛛池模板: 欧美精品啪啪| 国产精品自拍露脸视频 | 亚洲精品午夜天堂网页| 无码精油按摩潮喷在线播放| 91偷拍一区| 91精品国产综合久久不国产大片| 色哟哟精品无码网站在线播放视频| 欧美乱妇高清无乱码免费| 国产精品欧美亚洲韩国日本不卡| 国产99在线观看| 国产在线视频导航| 8090成人午夜精品| 九九九九热精品视频| 老司机午夜精品视频你懂的| 最新国产精品第1页| 中文字幕乱码中文乱码51精品| 国产精选小视频在线观看| 成人综合久久综合| 久综合日韩| 婷婷色在线视频| 日日噜噜夜夜狠狠视频| 免费国产不卡午夜福在线观看| 亚洲国产成人在线| 麻豆精品视频在线原创| 91精品啪在线观看国产| 国产熟女一级毛片| 国产一二视频| 中文天堂在线视频| 熟妇人妻无乱码中文字幕真矢织江| 亚洲香蕉在线| 国产又粗又爽视频| 人妻出轨无码中文一区二区| 精品国产中文一级毛片在线看| 亚洲国产日韩视频观看| 99视频免费观看| 国产毛片高清一级国语 | 国产视频欧美| 国产女人18水真多毛片18精品 | 在线视频精品一区| 中文字幕2区| 日本一区高清| 国产精品美女免费视频大全| 国产在线观看成人91| 沈阳少妇高潮在线| 国产欧美在线观看一区| 色综合天天操| 亚洲日韩精品综合在线一区二区| 亚洲精品欧美日本中文字幕| 免费毛片全部不收费的| 她的性爱视频| 日韩无码真实干出血视频| a毛片在线免费观看| a天堂视频在线| 制服丝袜在线视频香蕉| 999精品在线视频| 人妻一区二区三区无码精品一区| 欧美国产日韩在线| 欧美一区二区三区香蕉视| 亚洲三级成人| 91福利在线观看视频| 特级aaaaaaaaa毛片免费视频| 亚洲欧美日本国产综合在线| 幺女国产一级毛片| 亚洲美女高潮久久久久久久| 亚洲天堂视频在线观看| 免费无码又爽又刺激高| 在线免费不卡视频| 国产99视频精品免费视频7| 成人午夜网址| 久久美女精品国产精品亚洲| 国产精品部在线观看| 免费99精品国产自在现线| 青青国产视频| 成人a免费α片在线视频网站| 亚洲不卡影院| 国产成人av大片在线播放| 四虎永久在线精品影院| 在线视频精品一区| 四虎影院国产| 91综合色区亚洲熟妇p| 欧美成人区| 国产精品欧美亚洲韩国日本不卡|