国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識

這篇具有很好參考價(jià)值的文章主要介紹了流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

前言

正文

一、簡單介紹

二、關(guān)鍵特色

1. 超強(qiáng) SFU 功能

2. Node.js 模塊

3. 客戶端 SDK

三、架構(gòu)組成

1. 關(guān)鍵實(shí)例

2. 重要模塊

四、發(fā)展現(xiàn)狀


https://liuzhen.blog.csdn.net/article/details/115603863https://liuzhen.blog.csdn.net/article/details/115603863

前言

最近收看了一期微軟(中國)關(guān)于云原生、大數(shù)據(jù)、AI 領(lǐng)域的開源服務(wù)創(chuàng)新的線上圓桌論壇,感覺收獲頗豐。眾所周知,隨著云原生、大數(shù)據(jù)和 AI 領(lǐng)域的快速發(fā)展,各領(lǐng)域之間的技術(shù)融合和相互驅(qū)動也越來越明顯,開源服務(wù)無疑是其中最核心的組件。

正文

本次圓桌論壇邀請了三位技術(shù)大咖,其中一位是百家云集團(tuán)流媒體高級研發(fā)工程師 ,劉振老師。劉老師是一位優(yōu)秀的音視頻專家,在公司主要負(fù)責(zé)音視頻 QoE 相關(guān)的研發(fā)工作。他分享中介紹到了一個(gè)云原生應(yīng)用——開源流媒體服務(wù) MediaSoup ,今天主要就給大家科普一下 MediaSoup。

一、簡單介紹

Mediasoup 官網(wǎng)對其的定位和評價(jià)還是非常高的:Cutting Edge WebRTC Video Conferencing,意思是頂尖的 WebRTC 視頻會議產(chǎn)品。

官網(wǎng)地址:https://mediasoup.org/

流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識

倉庫地址:https://github.com/versatica

流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識

二、關(guān)鍵特色

1. 超強(qiáng) SFU 功能

憑借豐富的功能和靈活性,SFU 模式廣泛應(yīng)用在多方會議或者類似場景,正在逐步取代更加消耗資源的 MCU 模式。

2. Node.js 模塊

Mediasoup 并不是創(chuàng)建了一個(gè)固定的單體服務(wù),而是一個(gè) Node.js 模塊,可以集成到更大的應(yīng)用程序中,也可以獨(dú)立運(yùn)行,具備非常靈活的移植能力。

3. 客戶端 SDK

Mediasoup 還提供了強(qiáng)大的 JS SDK,通過統(tǒng)一的 API 接口可以在任意瀏覽器上非常簡單的構(gòu)建出視頻會議應(yīng)用。

三、架構(gòu)組成

Mediasoup 有一張非常經(jīng)典的架構(gòu)圖,如下圖所示:

流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識

1. 關(guān)鍵實(shí)例

上圖涉及了三個(gè)關(guān)鍵實(shí)例,分別是 Worker、Router、Transport。其中,一個(gè) Worker 代表一個(gè)運(yùn)行在單核 CPU 上并處理 Router 實(shí)例的 MediaSoup C++ 子進(jìn)程;Router 的作用是用于注入、選擇和轉(zhuǎn)發(fā)通過 Transport 實(shí)例創(chuàng)建的媒體流,包括音頻流、視頻流;Transport 是客戶端與 MediaSoup Router 連接的橋梁,并通過在其上創(chuàng)建的 Producer 和 Consumer 實(shí)例實(shí)現(xiàn)雙向媒體傳輸。

主要包括 4 種 Transport:WebRtcTransport、PlainRtpTransport、PipeTransport、DirectTransport。其中,WebRtcTransport 主要用于瀏覽器之間的或者瀏覽器與其他終端進(jìn)行通訊的,這種傳輸數(shù)據(jù)一般是進(jìn)行加密的,為了保證數(shù)據(jù)安全,它有很多安全機(jī)制,安全機(jī)制較為復(fù)雜;PlainRtpTransport 用于普通或者自定義的 RTP 數(shù)據(jù)傳輸;PipeTransport 用于不同 Worker 的 Router 之間的數(shù)據(jù)傳輸;DirectTransport 用于 JS 層與底層 Worker 之間的信令和數(shù)據(jù)交互。

2. 重要模塊

但是,這張圖主要描述了媒體數(shù)據(jù)在服務(wù)器側(cè)的流轉(zhuǎn)過程,沒有更好體現(xiàn)出 WebRTC C/S 架構(gòu)的特點(diǎn),因此,自己更喜歡網(wǎng)上的這張圖,它讓 PeerConnection 與 Consumer 和 Producer 的關(guān)系更加明確。

流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識

?在上圖中,每個(gè) WebRTC 客戶端 Client 都會創(chuàng)建兩個(gè) Peerconnection,分別用于發(fā)送和接受媒體流,發(fā)送 PC 用于發(fā)送 LocalStream,其中包含了本地的 VideoTrack 和 AudioTrack,接收 PC 用來接受來自其他 Client 的 RemoteStream。同時(shí),Room 會在流媒體服務(wù)器側(cè)為每個(gè) Client 創(chuàng)建一個(gè) Peer,Peer 管理兩個(gè) Transport 用于接受 Client 的媒體流和向 Client 發(fā)送媒體流。

接下來,介紹一下 Peer 的作用。Peer 為對應(yīng)的 Client 發(fā)送的 VideoTrack 和 AudioTrack 分別創(chuàng)建一個(gè) Producer(一共是2個(gè)),Peer 也會為 Client 接收的 VideoTrack 和 AudioTrack 分別創(chuàng)建一個(gè) Consumer(一共是2個(gè))。其中,Producer 將媒體數(shù)據(jù)發(fā)送給每一個(gè)訂閱者 Consumer,Consumer 表示一個(gè)被 MediaSoup Router 轉(zhuǎn)發(fā)到客戶端的音頻流或者視頻流。

下面再詳細(xì)的介紹一下 Consumer,Consumer 根據(jù)功能劃分可以分為四種,分別是 SimpleConsumer、PipeConsumer、SvcConsumer、SimulcastConsumer。其中,SimpleConsumer 是普通 RTP 數(shù)據(jù)的消費(fèi)者,是一種最簡單的 Consumer,音視頻和視頻流的都一樣,沒有類型區(qū)分;PipeConsumer 是不同 Worker 的 Router 之間的數(shù)據(jù)流轉(zhuǎn),表示接收或者消費(fèi)從另外一個(gè) Worker 中的 Router 傳過來的數(shù)據(jù);SvcConsumer 是處理和消費(fèi)多層數(shù)據(jù),傳輸時(shí)一般分為3層(核心層、拓展層、邊緣層);SimulcastConsumer 是處理大小流的媒體數(shù)據(jù)。

流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識

四、發(fā)展現(xiàn)狀

目前看來,MediaSoup 是一個(gè)很有前途的項(xiàng)目。最近幾年,使用 MediaSoup 的用戶數(shù)量正在快速增長,而且 Kurento 技術(shù)團(tuán)隊(duì)自己也開始使用 MediaSoup 代替自己原來的架構(gòu)方案,貌似也為我們指明了方向,哈哈,技術(shù)方案沒有絕對,具體因人而異,因公司而不同。通過對 MediaSoup 的了解,發(fā)現(xiàn)其設(shè)計(jì)巧妙,擴(kuò)展性強(qiáng),非常推薦大家把它作為云原生領(lǐng)域的流媒體服務(wù)器。


作者簡介:??大家好,我是 Data-Mining(liuzhen007),是一名典型的音視頻技術(shù)愛好者,前后就職于傳統(tǒng)廣電巨頭和音視頻互聯(lián)網(wǎng)公司,具有豐富的音視頻直播和點(diǎn)播相關(guān)經(jīng)驗(yàn),對 WebRTC、FFmpeg 和 Electron 有非常深入的了解。同時(shí)也是 CSDN 博客專家(博客之星)、華為云享專家(共創(chuàng)編輯、十佳博主)、51CTO社區(qū)編輯、InfoQ 簽約作者,歡迎關(guān)注我分享更多干貨!??文章來源地址http://www.zghlxwxcb.cn/news/detail-408800.html

到了這里,關(guān)于流媒體服務(wù)器(17)—— 流媒體開源服務(wù) MediaSoup 初識的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 流媒體服務(wù)器與視頻服務(wù)器有什么區(qū)別?

    流媒體服務(wù)器與視頻服務(wù)器有什么區(qū)別? 流媒體服務(wù)器用在遠(yuǎn)程教育,視頻點(diǎn)播、網(wǎng)絡(luò)電臺、網(wǎng)絡(luò)視頻等方面。 直播過程中就需要使用流媒體服務(wù)器,一個(gè)完整的直播過程,包括采集、處理、編碼、封包、推流、傳輸、轉(zhuǎn)碼、分發(fā)、解碼、播放等過程,流媒體服務(wù)器主要負(fù)

    2024年02月11日
    瀏覽(26)
  • 搭建家庭影音媒體中心 --公網(wǎng)遠(yuǎn)程連接Jellyfin流媒體服務(wù)器

    搭建家庭影音媒體中心 --公網(wǎng)遠(yuǎn)程連接Jellyfin流媒體服務(wù)器

    轉(zhuǎn)載自遠(yuǎn)程穿透的文章:【智能家居】Home Assistant入門安裝并內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程安全控制 Home Assistant(以下簡稱HA)是個(gè)開源的智能家居平臺,也叫家庭助手,就像一個(gè)軟件,比如我們的QQ軟件,微信軟件。 Home Assistant把家中的智能家居設(shè)備整合到HA中,它能夠接入的設(shè)備非常的

    2024年02月01日
    瀏覽(28)
  • 開源流媒體服務(wù)器ZLMediaKit在Windows上運(yùn)行、配置、按需拉流拉取攝像頭rtsp視頻流)并使用http-flv網(wǎng)頁播放

    開源流媒體服務(wù)器ZLMediaKit在Windows上運(yùn)行、配置、按需拉流拉取攝像頭rtsp視頻流)并使用http-flv網(wǎng)頁播放

    目前市面上有很多開源的流媒體服務(wù)器解決方案,常見的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181. 2、EasyDarwin https://github.com/EasyDarwin/EasyDarwin 3、Monibuca Monibuca ·

    2023年04月16日
    瀏覽(33)
  • FFmpeg 的使用與Docker安裝流媒體服務(wù)器

    FFmpeg 的使用與Docker安裝流媒體服務(wù)器

    本文闡述的均為命令行的使用方式,并不牽扯FFmpeg 的 C++音視頻開發(fā)內(nèi)容,補(bǔ)充一句,C++的資料真的少,能把C++學(xué)好的人,我真的是覺得巨佬。 我主要是使用FFmpeg 推流方面的知識,案例大都是靠近這方面。 一、FFmpeg 介紹 本文讀者會比較小眾~ 看到此文的朋友,大概率是需要

    2024年01月17日
    瀏覽(25)
  • ZLMediaKit流媒體服務(wù)器 RTSP推流時(shí)候的堆棧

    ZLMediaKit流媒體服務(wù)器 RTSP推流時(shí)候的堆棧

    先直接看圖 這是ffmpeg向流媒體服務(wù)器推流時(shí)候的堆棧 引入C++ 11之后? 堆棧會顯得特別繁復(fù)冗余 看起來 也沒有 以前沒有C++11之前那樣 簡單明了? ?太復(fù)雜了 標(biāo)記下??很多函數(shù)名字被我改了 因?yàn)樵瓉淼目雌饋?同名函數(shù)太多了 C++11 和lambada 匿名函數(shù) 讓看堆棧 成了地獄模式?

    2023年04月20日
    瀏覽(29)
  • SRS流媒體服務(wù)器——Forward集群搭建和源碼分析

    SRS流媒體服務(wù)器——Forward集群搭建和源碼分析

    Forward集群原理 RTMP流轉(zhuǎn)發(fā)(Forward)部署實(shí)例 Forward集群源碼分析 Forward 表示向前、前頭的、發(fā)送等意思。 在SRS中可以理解為把Master節(jié)點(diǎn)獲得直播流?播(轉(zhuǎn)發(fā))給所有的Slave節(jié)點(diǎn),master節(jié)點(diǎn)由多少路直播流,那么在每個(gè)slave節(jié)點(diǎn)也會多少路直播流。 注:在SRS中還有另外?種集

    2023年04月11日
    瀏覽(24)
  • 網(wǎng)絡(luò)攝像頭-流媒體服務(wù)器-視頻流客戶端

    當(dāng)涉及交通事件檢測算法和攝像頭視頻數(shù)據(jù)處理時(shí),涉及的代碼案例可能會非常復(fù)雜,因?yàn)檫@涉及到多個(gè)組件和技術(shù)。以下是一個(gè)簡單的Python代碼示例,演示如何使用OpenCV庫捕獲攝像頭視頻流并進(jìn)行實(shí)時(shí)車輛檢測,這是一個(gè)常見的交通事件檢測任務(wù)。請注意,這只是一個(gè)入門

    2024年02月09日
    瀏覽(27)
  • 使用nginx部署rtmp流媒體服務(wù)器完成直播推流

    使用nginx部署rtmp流媒體服務(wù)器完成直播推流

    筆者為了開發(fā)方便使用windows系統(tǒng)的Nginx進(jìn)行配置。 下載Nginx http://nginx-win.ecsds.eu/download/ 在windows版本下只有個(gè)別的幾個(gè)版本才支持rtmp服務(wù),本文選擇版本 nginx 1.7.11.3 Gryphon.zip 解壓下載zip文件 在conf文件夾中找到 nginx-win.conf 配置我們所需要的內(nèi)容 rtmp是adobe基于flash開發(fā)的音視頻

    2024年02月15日
    瀏覽(28)
  • 華為云云耀云服務(wù)器L實(shí)例評測|部署個(gè)人音樂流媒體服務(wù)器 navidrome

    華為云云耀云服務(wù)器L實(shí)例評測|部署個(gè)人音樂流媒體服務(wù)器 navidrome

    云服務(wù)器是現(xiàn)代應(yīng)用程序部署的理想選擇。首先,云服務(wù)器提供了高度可擴(kuò)展性,您可以根據(jù)需求靈活地增加或減少計(jì)算資源,這有助于節(jié)省成本和應(yīng)對流量波動。其次,云服務(wù)器具備高可用性,數(shù)據(jù)備份和冗余使您的應(yīng)用程序更加穩(wěn)定,降低了停機(jī)時(shí)間。此外,云服務(wù)器還

    2024年02月07日
    瀏覽(18)
  • 9步實(shí)現(xiàn) Docker部署 SRS rtmp/flv流媒體服務(wù)器

    9步實(shí)現(xiàn) Docker部署 SRS rtmp/flv流媒體服務(wù)器

    這是基于centos7.6系統(tǒng)部署的 運(yùn)行容器會直接停留在容器運(yùn)行界面,通過Ctrl+P+Q可后臺形式退出容器 這時(shí)候其實(shí)已經(jīng)運(yùn)行成功!可以通過以下命令查看SRS控制臺 進(jìn)入/home/docker/srs3 可查看配置文件是否復(fù)制成功 這是可能會報(bào)錯(cuò): 因?yàn)椴襟E四我們意見運(yùn)行一個(gè)容器,已經(jīng)使用過

    2024年02月15日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包