日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Radio Dream流媒体直播平台基于Docker的应用

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Radio Dream流媒体直播平台基于Docker的应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文整理自【時速云微信群線上分享】第十一期

首先介紹一下背景,Radio Dream項目是一個開源項目,前身為五雷轟頂網絡電臺,這個項目是我個人逐漸打磨了將近兩年,最開始是因為貓撲網絡電臺停播,我個人是貓撲電臺的老聽眾,很舍不得這個平臺,后來想想,干脆自己做一個網絡電臺,就是因為這些想法催生了這個項目的成立。

說完背景開始聊聊這個電臺的架構,我們從流媒體協議選型到架構實現等多個方面拆分的講解這個平臺實現方法,另外時速云鏡像倉庫里Radio Dream的鏡像demo,總體來說這套系統部署起來還是十分復雜,雖然對系統要求極其低,單核心CPU,128M內存,20GB左右的硬盤就能跑起來,但是從最開始的架構設計我就打算做成一個集群化的方案,方便動態擴容,服務更多用戶,由于我個人比較懶,所以做了很多自動化運維的工作,這樣我就可以解放雙手和更多的時間去開發新的功能。

傳統架構下的Radio Dream

技術層面的分層:

展現層—–WEB頁面,第三方集成代碼,后臺管理
邏輯層—–媒體分發調度,直播監控,故障判斷
執行層—–流媒體直播執行,ffmpeg推流,拉取
媒體層—–對媒體直播處理,切片

業務邏輯分層

1.Radio dream控制中心

Radio dream控制中心是整個電臺播控集群的核心控制端,負責整個集群調度,處理故障服務器,監控直播流,錄播調度,微直播調度等相關任務。

2.直播控制

直播控制組件是負責通知錄播推流集群停止推流和繼續推流,由于直播服務器只支持單流推送,所以需要一個控制端來進行控制本地推送服務,當點擊頁面開始直播,推流服務器就會停止工作,RTMP服務就會等待主播編碼器鏈接推送音頻。點擊結束直播,推流服務就會開始工作。

3.媒體管理中心

媒體管理中心負責服務器內所有的AAC音頻文件管理,例如上傳,下載,刪除,審核,試聽,分發URL,CDN分發部分。

4.錄播控制

錄播控制組件是控制本地音頻文件轉換成流的方式進行偽直播。

5.轉播控制

轉播控制是在不替換現有直播架構方式進行試用新的解決方案的方法,另外可以轉播別的電臺直播節目。支持RTMP、MMS、RTSP、HLS等主流流媒體格式。

6.錄播分發

錄播分發是提供下載和在線收聽等功能。

7.RTMP接收

RTMP接收組件是整個直播服務集群最為核心部分,負責接收錄播端和主播端的直播音頻部分。

8.切片服務

切片服務組件是接收RTMP流過來后轉換成HLS的TS切片,并且生成M3U8格式的播放列表,實現HTTP方式的流媒體。

9.分發服務

分發服務(邊緣服務器)是負責整個流媒體切片和錄播的文件進行對外分發,如果是分布式架構,此處根據自己用戶量大小進行帶寬調整。國際廣播格式48Kbps單用戶收聽1小時消耗帶寬18MB,可以根據此公式計算。

集群工作流程,首先一個問題

主播不可能24小時在線,沒有主播時段會有很長的空白期,這段時間用戶如果想收聽,沒有節目肯定不行

解決辦法:那么我們就做了一個偽直播的功能,通過把本地文件轉成直播流的方式,推送到直播服務器,這樣用戶收聽就不會出現空白期

直播錄播切換,如何去做才能實現無縫切換,讓聽眾“無感切換”

解決方案:直播流是使用ffmpeg進行本地文件讀取,推送到rtmp直播服務器,主播點擊直播按鈕,會請求一個API,這個API會調用一個shell腳本,殺死推流進程,主播的直播流就會推送到服務器上,直播服務器會把這個流推送到各個分發、切片服務器。

然后我們分享架構流程,大家可以看一下上面的圖

首先我們的“偽直播服務”是全天工作的,有主播連線直播后,會殺死偽直播的服務,直播流會迅速的連上,因為分發部分使用的是HLS協議進行分發,所以會有10秒左右的延遲,而且有直播服務器和切片服務器兩個中間層,用戶根本不會感覺到有頓卡,直播就已經切換成了真正的直播.

直播服務器會推送本地的直播流到切片服務器,切片服務器一般會有多臺,這個是通過調度API進行獲取推流服務器的IP地址,端口、application、直播名稱等信息。每個切片服務器啟動時候都會通告控制中心自身的IP地址、服務狀態、監聽端口、application名稱、直播名稱。控制中心會給直播服務器這些信息,直播服務器調用自身的直播流,分發到各個切片服務器。

切片服務器會對推送過來的流進行切片生成TS文件,并且生成M3U8的索引文件,遵循HLS直播協議進行分發。

由于切片服務器有多個,所以和CDN服務對接時候使用多個IP地址,CDN會根據就近原則,使用到達速度最快的節點進行拉取源文件。

選擇HLS也是有兩方面考慮

a) RTMP的并發性并不好
b) 節約成本

我測試過,現有實現rtmp直播最多支持2000個用戶拉取流,而且CPU占用會很高,由于網絡電臺會延遲的敏感性并不是特別高,所以選擇HLS,因為HLS是走http協議,這樣就可以使用nginx實現大規模并發。

節約成本這塊主要是CDN成本,支持rtmp的CDN廠商一般價格會比http請求流量貴35%左右,使用http就會節省一部分成本。

自動化運維&故障恢復

這部分主要是監控rtmp推流,和hls切片,以及直播源是否正常。

工作流程:

檢測分發m3u8索引文件是否存在,如果是單臺節點不存在,證明單點故障,會檢測rtmp源否推送正常,如果正常,則會重啟一下服務,然后進行一次檢查,7秒鐘后,還沒有檢查到M3U8文件索引,會傳輸故障恢復腳本,進行一次常見故障恢復.

例如,檢查文件權限,檢查內部是否可以拉取到源,檢查內部是否可以獲取到m3u8文件,然后進行恢復,如果恢復都不成功,就會發送通告到控制中心,當前服務器已經不工作,控制中心會將這臺機器剔除服務集群,通告CDN廠商API,將這臺機器剔除,直播服務器也不會對這個服務進行推送,然后調用云主機API,將這臺系統進行重裝系統,分發當前角色的自動化部署腳本.

部署完畢后,會通告控制中心,進行一次試推送,檢查如果正常,會把這個服務器加回到服務集群隊列。如果檢查不正常,則會嘗試三次,三次后,還不能夠恢復,就會發短信到手機通告故障問題。需要人工介入排查。

其他服務節點類似,

傳統的云主機或者物理服務器會有幾個很嚴重的問題:

● 故障難以恢復

● 浪費資源

● 價格過高

● 高可用過度依賴于自身監控

容器的出現恰恰解決的這些問題,尤其對故障恢復方面,有著對傳統虛擬機無與倫比的優勢,首先啟動速度快,故障不會和傳統虛擬機一樣裝機時間很漫長。秒級啟動的容器,非常適合大規模部署,只要制作好相應服務的鏡像。

故障難以恢復:

雖然自動化運維聽著很高大上,但是其中的苦逼只有自己知道,我現在整個電臺的自動恢復服務有47個腳本,每一個都一堆的邏輯判斷,我自己改寫起來都得讀很長時間,容器方式實現這種微服務方式就不會有這些問題,哪個服務掛了,直接刪除容器,重啟一個就完事了。

資源浪費:

其實每個服務都可以拆分成很多小服務,而且資源占用都極低,Docker容器啟動,內存占用只有一個shell,和宿主機共用一個內核,這樣就保證了,只有應用在使用內存,不會啟動多個內核和系統服務造成資源的重復浪費。

價格過高:

傳統的VPS都是按月計費,這樣如果突發性用戶過多,而且每天只有6點-10點左右用戶量會增加,平時如果開著這么多服務器來處理很少的用戶很不劃算,但是時速云的容器可以實現秒級計費,系統負載過高了,直接多開幾個容器就OK了,用戶少了刪除一些容器,只保證最低使用量。

高可用過度依賴于自身監控:

傳統VPS掛了那就掛了,不會發短信警告和重啟VPS,但是容器掛掉會自動重啟,內存占用過高等問題,時速云會直接發郵件&短信通知,這樣本身的監控壓力就會小很多,只需要關注業務層面的問題,而不需要過多的關注系統底層的問題。

時速云使用demo:

首先在鏡像市場搜索radiodream鏡像,如果只是選擇做測試可以不掛載存儲卷

成功啟動后,查看地址,查看1935映射對應端口是什么

打開vlc播放器或者potpplayer,輸入rtmp://xxxx.xxx.xxx:xxx/radiodream/live,就可以收到偽直播節目了,更多的設置選項請觀看時速云官方視頻教程 https://tenxcloud.com/tutorial

如何參與線上分享?
添加微信號:時速云小助手(tenxcloud6),我們即可拉您進群

總結

以上是生活随笔為你收集整理的Radio Dream流媒体直播平台基于Docker的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品一区二区在线播放 | www.一区二区 | 精品h视频 | 欧美在线色图 | 国产毛片毛片毛片毛片毛片 | 粗大的内捧猛烈进出视频 | 亚洲女同一区二区 | 91看片在线看 | 久久黄色免费网站 | 九九精品视频免费 | 亚洲女人天堂成人av在线 | 高潮av在线 | 国产av国片偷人妻麻豆 | 瑟瑟视频免费观看 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 中文日韩在线观看 | 日本一区二区视频在线播放 | 精品国产高清在线观看 | 爱色av网站 | 色综合狠狠爱 | 精品在线91 | 日本免费网站 | 亚洲精品国产熟女久久久 | 一级黄色毛毛片 | 精品国产999 | 91理论片午午伦夜理片久久 | 91超碰在 | 农村搞破鞋视频大全 | 免费看黄网址 | 国产精品色悠悠 | 日韩免费视频观看 | 含羞草一区二区三区 | www.久久.com | 国产精品久久久久久亚洲av | 成年人视频网址 | 欧美久久久久久久久久久久久久 | 欧美色精品在线 | 在线免费观看黄色 | 欧美一级做性受免费大片免费 | 看黄免费网站 | 蜜臀网在线 | 国产亚洲天堂网 | 日本护士╳╳╳hd少妇 | 视频免费观看在线 | 精品无码国产一区二区三区51安 | 日本www免费 | 色资源av| 日韩在线 中文字幕 | 亚洲欧洲精品一区二区三区 | 国产一区久久 | 91免费版视频 | 厨房性猛交hd | 国产91精品看黄网站在线观看 | 黄网站免费在线观看 | 国产在线精品自拍 | 国产高清片 | 动漫美女被x | 丁香激情小说 | 精品国产91久久久久久 | www.插插插.com| 国产无遮无挡120秒 欧美综合图片 | 午夜小视频在线播放 | 亚洲精品理论片 | 国内激情 | jizzjizz在线观看 | 国产一区二区小视频 | 好屌妞视频这里有精品 | 黄色一级影片 | 久久在线观看 | 人妖性生活视频 | 成人免费毛片足控 | 97色干 | 精品人伦一区二区三区蜜桃网站 | 国产成人av无码精品 | 高潮毛片无遮挡免费看 | 国产亚洲制服欧洲高清一区 | 爱逼综合网| 美女日日日 | 午夜精品在线播放 | 五月天婷婷视频 | 天堂网av2014 | 久久久久国产精品一区 | 免费黄色一级片 | 亚洲一区二区三区午夜 | 日韩欧美成人一区二区 | 97精品人妻一区二区三区 | 亚洲网站色 | 国语精品 | 无码任你躁久久久久久老妇 | 高清日韩 | 免费黄色网址在线观看 | 国产精品美女www爽爽爽 | 久久久精品免费视频 | 这里只有精品久久 | 喷水少妇 | 精品国产乱码久久久久久图片 | 天天色影综合网 | www.奇米.com| 精品人妻伦一区二区三区久久 |