0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用WebRTC作為RTMP的替代方案

LiveVideoStack ? 來(lái)源:Barry Owen ? 作者:LiveVideoStack ? 2022-07-08 10:10 ? 次閱讀

WebRTC影音探索

2020年,Adobe宣布停止對(duì) Flash播放器的支持。Flash歷經(jīng)多年終于走向終結(jié),雖然是眾望所歸,但它的退出卻對(duì)存在于許多流媒體工作流程中的一項(xiàng)重要技術(shù)——RTMP( Real-Time Messaging Protocol)影響重大。RTMP最初設(shè)計(jì)用于向Adobe Flash播放器傳輸音頻、視頻和其他數(shù)據(jù)。在全盛時(shí)期,RTMP曾是互聯(lián)網(wǎng)上傳輸視頻的最主要技術(shù)。它可以用于端到端,并能確保快速的實(shí)時(shí)傳輸。然而與過(guò)去相比,現(xiàn)在越來(lái)越多的設(shè)備和瀏覽器都不再支持RTMP。

雖然在編碼器和服務(wù)器之間傳輸視頻方面,RTMP仍然是一個(gè)可靠的視頻傳輸協(xié)議,但是對(duì)基于RTMP的播放來(lái)說(shuō),卻并非如此。Adobe也表示[1]:”鼓勵(lì)直播廠商將現(xiàn)有的Flash內(nèi)容遷移到新的開(kāi)放格式中去?!?/p>

在2020年的Streaming Media的一期雜志中,Robert Reinhard(流媒體視頻顧問(wèn))曾警告:“如果你正在使用Flash進(jìn)行低延時(shí)實(shí)時(shí)流媒體傳輸,那么你還有一年的時(shí)間(或者更短)將其遷移到WebRTC上。這意味著什么?意味著你在基于Flash的媒體服務(wù)器上所使用的的任何代碼都需要遷移到WebRTC(而非RTMP)上?!?/p>

然而,許多內(nèi)容發(fā)行商仍然在竭力將RTMP替換為用于視頻播放的實(shí)時(shí)格式。為什么?因?yàn)殡m然HLS和MPEG-DASH支持不同設(shè)備的高質(zhì)量流媒體傳輸,但是延遲超過(guò)30秒是這些基于HTTP技術(shù)的標(biāo)準(zhǔn)。確實(shí)存在這些協(xié)議的低延遲擴(kuò)展(LL-HLS和DASH的LL-CMAF),但是它們都無(wú)法達(dá)到很多公司追求的次秒級(jí)傳輸速度。除此之外,播放器、CDN和各種設(shè)備對(duì)于LL-HLS和LL-CMAF(用于DASH)的支持還處于早期階段。

60be70c2-fe52-11ec-ba43-dac502259ad0.png

對(duì)于實(shí)時(shí)視頻傳輸來(lái)說(shuō),WebRTC是你的唯一選擇,這也是它在最近幾年備受關(guān)注的原因。這項(xiàng)基于HTML5的技術(shù)為互聯(lián)網(wǎng)上的實(shí)時(shí)視頻傳輸提供了最快的方法。更重要的是,像RTMP在其全盛時(shí)期一樣,WebRTC也可以端到端使用。

但是WebRTC也有自己的局限,它被設(shè)計(jì)用于基于瀏覽器的編碼和小規(guī)模的流媒體傳輸,而這兩個(gè)特點(diǎn)都使它無(wú)法適用于某些直播場(chǎng)景。

WebRTC會(huì)是替代RTMP的最佳方案嗎?在開(kāi)發(fā)者中,這句話已經(jīng)成為了流行語(yǔ)。正如我將在下文所解釋的那樣,它取決于你所使用的支持部署的技術(shù)和你想達(dá)成的目標(biāo)。

RTMP vs. WebRTC: 對(duì)比

對(duì)比RTMP,WebRTC有以下幾個(gè)優(yōu)勢(shì):其一,它是一種新型、由IETF和W3C進(jìn)行標(biāo)準(zhǔn)化的開(kāi)源技術(shù)。所有的主流瀏覽器無(wú)需插件即可支持WebRTC,消除了由專(zhuān)有流媒體技術(shù)所帶來(lái)的互操作上的挑戰(zhàn)。除此之外,軟件開(kāi)發(fā)者社區(qū)不斷為WebRTC的開(kāi)發(fā)貢獻(xiàn)代碼,也使它受益匪淺。

其次,在傳輸速度低于500毫秒的情況下,WebRTC是目前延遲最低的協(xié)議。它也由此成為創(chuàng)建交互式視頻體驗(yàn)(從實(shí)時(shí)拍賣(mài)到直播購(gòu)物)的首選解決方案,同時(shí)對(duì)于那些想要超越競(jìng)爭(zhēng)對(duì)手的體育直播廠商來(lái)說(shuō),它也是一個(gè)非常具有吸引力的選擇。

向數(shù)目眾多的觀眾進(jìn)行大規(guī)模直播對(duì)于WebRTC來(lái)說(shuō)還存在困難。視頻聊天框架本來(lái)就不是為規(guī)?;O(shè)計(jì)的。幸運(yùn)的是,我們已經(jīng)開(kāi)發(fā)了一種解決方案來(lái)克服這種局限,我將在下文詳述。

在視頻生產(chǎn)方面,WebRTC僅使用Web瀏覽器就可以進(jìn)行簡(jiǎn)單的直播,但是對(duì)于希望使用硬件或者軟件解決方案控制編碼設(shè)置的直播廠商來(lái)說(shuō),基于瀏覽器的編碼并不理想。同樣,當(dāng)涉及到使用定時(shí)元數(shù)據(jù)的字幕和廣告標(biāo)記等功能時(shí),RTMP也比WebRTC更具優(yōu)勢(shì)。

WebRTC工作流程

所以,當(dāng)涉及到實(shí)時(shí)視頻流媒體傳輸時(shí),RTMP到底在哪里可以替換成WebRTC? 作為一種端到端技術(shù),WebRTC可分別用于推流、拉流或同時(shí)用于推、拉流。下面讓我們看下WebRTC工作流程兩端的優(yōu)勢(shì),以及它是如何在確保規(guī)?;耐瑫r(shí)應(yīng)用于編碼到傳輸?shù)恼麄€(gè)過(guò)程。

WebRTC在推流時(shí)替換RTMP

RTMP仍然是第一英里視頻貢獻(xiàn)的標(biāo)準(zhǔn),這其中有以下幾個(gè)原因。第一,RTMP獲得了來(lái)自直播編碼軟件和硬件的廣泛支持,同時(shí)許多社交媒體平臺(tái)也在使用它。編碼廠商已經(jīng)開(kāi)始向SRT等開(kāi)源協(xié)議添加支持,但是WebRTC一直僅限于基于瀏覽器的內(nèi)容發(fā)布。對(duì)于任何想要使用Web攝像頭和麥克風(fēng)直接在瀏覽器上進(jìn)行直播的人來(lái)說(shuō),WebRTC非常有用。但是對(duì)于想要使用專(zhuān)業(yè)編碼器進(jìn)行實(shí)時(shí)流媒體內(nèi)容傳輸?shù)膬?nèi)容發(fā)行商來(lái)說(shuō),就無(wú)法使用WebRTC推流。

因此Millicast的技術(shù)團(tuán)隊(duì)設(shè)計(jì)了WHIP(WebRTC HTTP Ingest Protocol)來(lái)解決這個(gè)難題。在與媒體服務(wù)器通信時(shí),WHIP提供了使用標(biāo)準(zhǔn)信令協(xié)議的編碼軟件和硬件,這樣就可以實(shí)現(xiàn)跨廠商的WebRTC推流。WHIP在實(shí)現(xiàn)WebRTC推流的同時(shí),還保留了WebRTC的低延遲優(yōu)勢(shì)(與RTMP相比),同時(shí)移除了編碼器和媒體服務(wù)器之間的連接障礙。

當(dāng)用于推流時(shí),WebRTC可以確保低延遲、強(qiáng)制加密并提供對(duì)于Opus和VP9等高級(jí)編解碼器的支持。因?yàn)橛辛薟HIP,WebRTC也正在成為一種可用于硬件和軟件編碼的格式。直播流程對(duì)編碼設(shè)置(包括碼率、編解碼器和編解碼器參數(shù)等)有更多的控制需求,而WHIP的出現(xiàn)使WebRTC可以直接和RTMP競(jìng)爭(zhēng)。

WebRTC在拉流時(shí)替換RTMP

瀏覽器不再支持RTMP導(dǎo)致播放端無(wú)法再使用它。當(dāng)今大部分直播廠商都在使用HLS進(jìn)行“最后一英里”的交付,但HLS的延遲要超過(guò)30秒。

目前你在傳輸視頻時(shí)正在使用哪些流媒體格式?

60cfd7cc-fe52-11ec-ba43-dac502259ad0.png

來(lái)源:Wowza的2021視頻流延遲報(bào)告[3]

當(dāng)涉及低延遲協(xié)議的替代方案,WebRTC是眾多協(xié)議中傳輸速度最快的。因此,如果你需要真正的交互(我們這里討論的是用于緊急響應(yīng)和遠(yuǎn)程監(jiān)控等場(chǎng)景的低于一秒的視頻傳輸),那么WebRTC將是你的最佳選擇。LL-HLS和用于DASH的LL-CMAF同樣也是不錯(cuò)的選擇,但是它們無(wú)法實(shí)現(xiàn)像WebRTC一樣的實(shí)時(shí)傳輸。

也就是說(shuō),WebRTC最初并不是為大規(guī)模直播場(chǎng)景設(shè)計(jì)的。我們過(guò)去曾鼓勵(lì)內(nèi)容發(fā)行商在向大量觀眾直播交互性內(nèi)容時(shí)使用調(diào)整后的HLS或者LL-HLS,但現(xiàn)在我們?yōu)榱私鉀Q這個(gè)問(wèn)題,已經(jīng)改進(jìn)了產(chǎn)品。

具體來(lái)說(shuō),我們開(kāi)發(fā)了一個(gè)新的特性:該特性可以在自定義的CDN上部署WebRTC,從而提供近于無(wú)限的規(guī)模。這個(gè)解決方案可以實(shí)現(xiàn)面向全球大規(guī)模觀眾的次秒級(jí)視頻傳輸[2]。

60e45ddc-fe52-11ec-ba43-dac502259ad0.png

如圖中所示,當(dāng)以這種方式傳輸視頻時(shí),WebRTC可用于廣泛的工作流程中,包括WebRTC端到端,或者從RTMP到WebRTC。

在實(shí)現(xiàn)WebRTC時(shí)需要考慮的事

如果你正在考慮使用WebRTC代替RTMP,你需要將如下問(wèn)題納入考量:

1. 你是否需要雙向視頻或?qū)崟r(shí)交互?

交互式實(shí)時(shí)流媒體解決方案和WebRTC密不可分,缺一不可。只要你使用WebRTC進(jìn)行內(nèi)容發(fā)布和播放,就能實(shí)現(xiàn)低于500毫秒的流媒體傳輸。更重要的是,使用次秒級(jí)流媒體傳輸?shù)膽?yīng)用場(chǎng)景還可以利用RTMP到WebRTC的工作流程。同時(shí)還存在混合模型,其中交互視頻參與者可以觀看WebRTC視頻流,而被動(dòng)觀眾可以觀看由HLS傳輸?shù)木哂懈哐舆t的視頻流。

2. 你希望視頻內(nèi)容獲得大范圍傳播嗎?

所有的內(nèi)容發(fā)行商都希望他們的流媒體應(yīng)用大獲成功,擁有成千上萬(wàn)或者數(shù)百萬(wàn)的觀眾。然而,過(guò)多用戶可能使你的基礎(chǔ)設(shè)施不堪重負(fù)。傳統(tǒng)的WebRTC部署因無(wú)法利用自定義創(chuàng)建的CDN而限制了它的擴(kuò)展能力。所以如果你的目標(biāo)是觸達(dá)大量觀眾,一定要確保擁有穩(wěn)健的基礎(chǔ)設(shè)施。

結(jié)語(yǔ)

由于WebRTC被設(shè)計(jì)用于視頻聊天應(yīng)用,所以有兩個(gè)障礙阻礙了它在實(shí)時(shí)直播工作流程中的廣泛采用:

基于瀏覽器編碼的限制,以及在編碼軟件和硬件中缺少WebRTC能力。

規(guī)?;奶魬?zhàn):導(dǎo)致WebRTC在向成千上萬(wàn)(或更多)觀眾直播時(shí)很難使用。

幸運(yùn)的是,行業(yè)已經(jīng)為以上問(wèn)題找到了解決方法,使WebRTC成為了RTMP的強(qiáng)大替代方案(無(wú)論是在推流時(shí)還是在播放端)。

在我們的2021視頻流延遲報(bào)告中,我們發(fā)現(xiàn)WebRTC已成為用于推流的第二流行的格式,用于傳輸?shù)牡谌餍懈袷?。在各廠商為實(shí)現(xiàn)實(shí)時(shí)視頻直播而努力提高WebRTC可用性的前提下,我預(yù)計(jì)WebRTC的采用率將繼續(xù)增長(zhǎng)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3645

    瀏覽量

    134578
  • 開(kāi)源技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    389

    瀏覽量

    7942
  • WebRTC
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    11262

原文標(biāo)題:使用WebRTC作為RTMP的替代方案

文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    華為云 Flexus X 實(shí)例 docker 部署 srs6 并調(diào)優(yōu),協(xié)議使用 webrtcrtmp

    ·?華為云最近正在舉辦 828 B2B 企業(yè)節(jié),F(xiàn)lexus X 實(shí)例的促銷(xiāo)力度非常大,特別適合那些對(duì)算力性能有高要求的小伙伴。如果你有自建 MySQL、Redis、Nginx 等服務(wù)的需求,一定不要錯(cuò)過(guò)這個(gè)機(jī)會(huì)。趕緊去看看吧! 什么是華為云 Flexus X 實(shí)例 ·?華為云 Flexus X 實(shí)例云服務(wù)是新一代開(kāi)箱即用、體驗(yàn)躍級(jí)、面向中小企業(yè)和開(kāi)發(fā)者打造的高品價(jià)比云服務(wù)產(chǎn)品。 ·?Flexus 云服務(wù)器 X 實(shí)例是新一代面向中小企業(yè)和開(kāi)發(fā)者打造的柔性算力云服務(wù)器,可智能感知業(yè)務(wù)負(fù)載,適用
    的頭像 發(fā)表于 12-31 15:40 ?49次閱讀
    華為云 Flexus X 實(shí)例 docker 部署 srs6 并調(diào)優(yōu),協(xié)議使用 <b class='flag-5'>webrtc</b> 與 <b class='flag-5'>rtmp</b>

    【飛凌嵌入式OK3588J-C開(kāi)發(fā)板體驗(yàn)】OK3588J-C開(kāi)發(fā)板的HDMI輸入轉(zhuǎn)RTMP直播

    在上一篇報(bào)告中,我們已經(jīng)可以將RTSP轉(zhuǎn)成RTMP進(jìn)行直播了,這次我們要將HDMI輸入也要轉(zhuǎn)成RTMP進(jìn)行直播。 我們需要在上一篇的基礎(chǔ)上再增加一個(gè)HDMI直播按鈕。 頭文件 #ifndef
    發(fā)表于 12-29 13:59

    【飛凌嵌入式OK3588J-C開(kāi)發(fā)板體驗(yàn)】OK3588J-C開(kāi)發(fā)板的RTSP轉(zhuǎn)RTMP直播

    在上一篇報(bào)告中,我們已經(jīng)將QT環(huán)境搭配好,并簡(jiǎn)單測(cè)試了一下DEMO的編譯和運(yùn)行。接下來(lái)我們寫(xiě)QT程序,將RTSP鏈接進(jìn)行直播,但是與以前的不同是,我們并不進(jìn)行API編程,而是通過(guò)采用命令式調(diào)用的方案
    發(fā)表于 12-29 12:45

    RTC與WebRTC的主要區(qū)別

    在數(shù)字通信領(lǐng)域,實(shí)時(shí)通信(RTC)和WebRTC是兩個(gè)經(jīng)常被提及的術(shù)語(yǔ)。它們都旨在提供即時(shí)的、高質(zhì)量的通信體驗(yàn),但它們?cè)趯?shí)現(xiàn)方式、應(yīng)用場(chǎng)景和技術(shù)支持上有所不同。 1. 定義與起源 1.1 實(shí)時(shí)通信
    的頭像 發(fā)表于 12-11 15:41 ?310次閱讀

    國(guó)產(chǎn)替代ACS724電流傳感器

    國(guó)產(chǎn)替代ACS724電流傳感器,國(guó)產(chǎn)替代方案: VCS724I電流傳感器,提供類(lèi)似的功能和更好的價(jià)格優(yōu)勢(shì)。
    的頭像 發(fā)表于 10-30 14:28 ?328次閱讀
    國(guó)產(chǎn)<b class='flag-5'>替代</b>ACS724電流傳感器

    請(qǐng)問(wèn)AIC3254的miniDSP可以實(shí)現(xiàn)256階FIR濾波器嗎,或者有替代CODEC方案嗎?

    請(qǐng)問(wèn)AIC3254的miniDSP可以實(shí)現(xiàn)256階FIR濾波器嗎,或者有替代CODEC方案嗎?
    發(fā)表于 10-14 07:11

    涂鴉革新WebRTC技術(shù)!讓IPC監(jiān)測(cè)低延時(shí)、高可靠更安全

    再是科幻小說(shuō)中的場(chǎng)景,因?yàn)橥ㄟ^(guò)WebRTC技術(shù)在IPC監(jiān)測(cè)領(lǐng)域的實(shí)際應(yīng)用就能輕松實(shí)現(xiàn)。而在下述應(yīng)用場(chǎng)景中,WebRTC技術(shù)在IPC產(chǎn)品中的實(shí)時(shí)監(jiān)測(cè)需求更是愈加頻繁:●
    的頭像 發(fā)表于 10-12 08:05 ?285次閱讀
    涂鴉革新<b class='flag-5'>WebRTC</b>技術(shù)!讓IPC監(jiān)測(cè)低延時(shí)、高可靠更安全

    愛(ài)普生停產(chǎn)產(chǎn)品/替代

    產(chǎn)品名稱(chēng)啟動(dòng)(計(jì)劃)最后購(gòu)買(mǎi)(計(jì)劃)最后裝運(yùn)(計(jì)劃)推薦替代方案原因EG-2121CAJun/2026EndofJun/2027EndofDec/2027SG70
    的頭像 發(fā)表于 10-11 11:09 ?502次閱讀
    愛(ài)普生停產(chǎn)產(chǎn)品/<b class='flag-5'>替代</b>品

    替代LTC2245,基于SC2245安防紅外成像系統(tǒng)的應(yīng)用方案

    替代LTC2245,基于SC2245安防紅外成像系統(tǒng)的應(yīng)用方案
    的頭像 發(fā)表于 10-10 09:21 ?202次閱讀
    <b class='flag-5'>替代</b>LTC2245,基于SC2245安防紅外成像系統(tǒng)的應(yīng)用<b class='flag-5'>方案</b>

    如何考慮將TI Smart DAC作為555定時(shí)器的替代

    電子發(fā)燒友網(wǎng)站提供《如何考慮將TI Smart DAC作為555定時(shí)器的替代品.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 11:12 ?0次下載
    如何考慮將TI Smart DAC<b class='flag-5'>作為</b>555定時(shí)器的<b class='flag-5'>替代</b>品

    光電耦合元件國(guó)產(chǎn)替代:現(xiàn)狀與前景

    光電耦合元件作為一種關(guān)鍵的電子元器件,在各種電氣設(shè)備和系統(tǒng)中發(fā)揮著重要作用。然而,對(duì)于很多國(guó)家來(lái)說(shuō),依賴(lài)進(jìn)口的情況依然存在。因此,對(duì)光電耦合元件的國(guó)產(chǎn)替代具有重要意義。本文將從現(xiàn)狀和前景兩個(gè)方面分析光電耦合元件的國(guó)產(chǎn)替代情況。
    的頭像 發(fā)表于 05-17 16:19 ?461次閱讀

    谷景電子貼片電感替代工字電感的應(yīng)用案例分享

    之前有一個(gè)關(guān)于貼片電感能否替代工字電感的問(wèn)題,本篇就給大家分享一個(gè)谷景技術(shù)部門(mén)正在做的一個(gè)貼片電感替代工字電感的案例。這是我們技術(shù)部正在做的一個(gè)項(xiàng)目案例,詳細(xì)的替代方案已經(jīng)確認(rèn),并且已
    發(fā)表于 04-13 22:40 ?0次下載

    貼片電感替代工字電感的應(yīng)用案例分享

    之前有一個(gè)關(guān)于貼片電感能否替代工字電感的問(wèn)題,本篇就給大家分享一個(gè)谷景技術(shù)部門(mén)正在做的一個(gè)貼片電感替代工字電感的案例。 這是我們技術(shù)部正在做的一個(gè)項(xiàng)目案例,詳細(xì)的替代方案已經(jīng)確認(rèn),并且
    的頭像 發(fā)表于 03-07 10:28 ?544次閱讀

    路由器的替代方案:如何組成局域網(wǎng)

    共享、游戲聯(lián)機(jī)等功能。一般情況下,我們使用路由器作為搭建局域網(wǎng)的核心設(shè)備,然而,在某些不可抗力的情況下,沒(méi)有路由器也可以組成局域網(wǎng)。本文將為您探討一些路由器的替代方案,以便在沒(méi)有路由器的情況下依然能夠搭建局域網(wǎng)。 一
    的頭像 發(fā)表于 01-09 11:22 ?2036次閱讀

    Enhanced-RTMP協(xié)議如何支持H.265呢?

    準(zhǔn)確的說(shuō),RTMP是傳輸協(xié)議,傳輸協(xié)議內(nèi)部的封裝是flv格式,其實(shí)我們所說(shuō)的支持H.265,是在flv封裝格式里面支持H.265編碼數(shù)據(jù)。
    的頭像 發(fā)表于 01-03 09:15 ?1210次閱讀