91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

萬人直播網絡架構與CDN網絡

發布時間:2020-03-19 22:00:25 來源:網絡 閱讀:23529 作者:BlueMiaomiao 欄目:編程語言

目前市場上的產品主要分為兩種:一種是像花椒、映客、斗魚、YY等的泛娛樂化直播,一種是思科、聲網之類的實時互動直播。一般情況下實時互動直播會與PSTN網絡相連,所以實時互動直播必須達到電話級別的傳輸要求,一般不超過400ms。

泛娛樂化直播架構

在泛娛樂化直播架構中有信令服務器集群來負責創建房間、聊天、贈送禮物…,當直播端需要直播時直接向信令服務器發送請求,信令服務器向請求端返回推流的地址,然后直播端開始像CDN網絡推送數據流(流媒體CDN與傳統CDN有些不同),然后當觀眾需要觀看直播時,使用同樣的方式請求直播地址,然后在流媒體CDN拉取數據流,具體如圖所示:

萬人直播網絡架構與CDN網絡

實時互動直播架構

眾所周知,實時互動直播架構對傳輸效率要求高,因此客戶端使用UDP協議向媒體服務器推流,由于要保證服務器7x24小時的服務,所以通過私有網絡建立了服務器集群,直播端向媒體服務器推流。由于使用了多個直播服務節點,所以需要控制中心來控制這些節點以達到負載均衡、健康評估等的目的。每個節點通過內總線向控制中心發送心跳包,控制中心通過心跳包來分析服務節點的健康狀況來做出相應的決策。使用內總線的原因一是為了數據的安全性,二是為了數據的時效性。那么有時候實時互動也需要多人觀看,所以上面講解的泛娛樂化直播架構與實時互動直播架構進行融合。在CDN流媒體網絡與內總線之間有一層服務節點最重要的作用是將直播端的RTP轉換為RTMP數據向CDN推流,由此得知內總線的主要作用就是提高數據吞吐量和保證數據實時安全,具體如下圖所示:

萬人直播網絡架構與CDN網絡

流媒體CDN網絡與傳統CDN網絡

雖然各大CDN廠商都提供CDN服務,但是流媒體CDN與傳統CDN網絡有很大的差別,但是要弄明白區別首先要了解什么是CDN:CDN就是內容分發網絡的簡稱,主要用來加速用戶訪問數據的速度和承載源站點大部分訪問壓力。一個CDN網絡大致上分為三層:

  • 邊緣節點:用戶訪問邊緣節點,邊緣節點在主干接點拉去數據。
  • 主干接點:是邊緣節點與源站點的中間層,負責分發源站點的內容到邊緣節點。
  • 源站點:內容提供商的服務器集群。

具體見下圖:

萬人直播網絡架構與CDN網絡

一般情況下,內容提供商有多個服務器來負載均衡,并且CDN提供區域的CDN邊緣節點來提供服務,眾多的邊緣節點和源節點之間通過主干節點連接,主干節點之間一般通過光纖直接互聯,如下圖所示:

萬人直播網絡架構與CDN網絡

通過上文介紹,我們已經清楚CDN網絡基本架構,那么傳統CDN與流媒體CDN的區別是:

傳統CDN網絡是客戶端請求某一站點的數據,首先請求源站點的數據,如果源站點有數據就直接返回,如果沒有就會直接通過主干節點請求源站點直接返回,并且邊緣節點緩存該數據以便下一次客戶端去請求加速,也就是說傳統CDN網絡有熱點數據這一說。

流媒體CDN網絡采用的推送+拉去的數據分發策略,也就是內容提供商將數據推送到主干節點,然后邊緣節點在主干節點拉取數據,用戶請求邊緣節點的數據拉取數據流。

搭建一個簡單的直播系統

ffmpeg

FFmpeg是一套可以用來記錄、轉換數字音頻、視頻,并能將其轉化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉換以及流化音視頻的完整解決方案。

ffplay

ffplay是一個使用了 ffmpeg 和 sdl 庫的、一個簡單的可移植的媒體播放器。

Nginx

Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個BSD-like 協議下發行,同時Nginx也支持流媒體服務。

Step.1 安裝Nginx服務器和RTMP模塊:
brew install nginx-full --with-rtmp-module
Step.2 配置Nginx服務:
# 文件路徑:/usr/local/etc/nginx/nginx.conf
vim /usr/local/etc/nginx/nginx.conf

# 修改配置文件: 
rtmp {
    server {
        listen 1935;
        chunk_size 4096; # 傳輸數據塊的大小
        # 創建了一個應用
        application live {  
            live on;
            record off;   # 關閉錄制
            allow play all;
        }
    }
}

# 熱加載配置文件:
nginx -s reload
Step.3 推流到服務器
ffmpeg -re -i ***帝國-矩陣危機.mp4 -c copy -f flv rtmp://127.0.0.1/live/hacker-three
Step.4 拉取數據
ffmpeg -i rtmp://127.0.0.1/live/hacker-three -c copy dump.flv
ffplay rtmp://127.0.0.1/live/hacker-three
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

翁牛特旗| 洪湖市| 呼图壁县| 象山县| 微山县| 乌拉特中旗| 乃东县| 大竹县| 南雄市| 阳高县| 吴川市| 横山县| 库伦旗| 抚州市| 横峰县| 黄梅县| 长葛市| 浦县| 台湾省| 共和县| 开鲁县| 尼勒克县| 曲周县| 和硕县| 嘉峪关市| 灵武市| 巫溪县| 通化县| 景泰县| 西贡区| 定南县| 吉木萨尔县| 林州市| 秦皇岛市| 武隆县| 晋江市| 腾冲县| 上饶市| 长武县| 沙河市| 浏阳市|