在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何通過Firefox和WebRTC進行YouTube直播

LiveVideoStack ? 來源:未知 ? 作者:李倩 ? 2018-07-27 16:49 ? 次閱讀

本文來自Meetecho的聯合創始人Lorenzo Miniero,他分享了如何通過Firefox和WebRTC進行YouTube直播。Meetecho是著名的WebRTC服務器 Janus 的出品公司。LiveVideoStack對原文進行了摘譯。

我們最近都看到了關于YouTube通過WebRTC進行直播的新聞,但它僅僅適用于您使用谷歌瀏覽器?;鸷鼮g覽器和Edge均不適用,對于蘋果瀏覽器,說實話,我并不太關心.....

我需要完成哪些工作,才能讓Firefox通過WebRTC發送內容,并能觀看到它推送到YouTube上的直播呢?也許用一些HTML5 canvas的東西可以增加一些趣味。隨著Kamailio World Dangerous Demos賽季的開幕,這成了修補它的絕佳機會,這正是我所做的!

我需要的是:

一種在瀏覽器中捕獲視頻,然后以某種方式編輯它,并在WebRTC的 PeerConnection中使用它的方法;

WebRTC服務器從瀏覽器接收流;

某種技術將該流進行轉換,使得YouTube的直播更加圓滿。

第一部分是很有趣的,因為我之前從未這樣做過。或者更確切地說,在過去的幾年中,我已經捕獲并發布過大量的WebRTC流,但我從未在瀏覽器端嘗試過捕獲視頻。我知道你可能會使用一些HTML5 canvas元素,但我從來沒有使用過它,所以我現在決定這樣做。還有朋友,它真的很有趣!它基本上總結為以下幾個步驟:

創建一個HTML5 canvas元素來進行繪制;

通過慣用的getUserMedia來獲得媒體流;

將媒體流放入一個HTML5的video視頻元素中;

開始在canvas中繪制視頻幀,加上其他可能會很好的元素(文字疊加,圖像等);

從canvas中使用captureStream()獲取新的媒體流;

使用新的媒體流作為新的PeerConnection的源;

繼續在canvas上繪制,就像沒有盡頭一樣!

聽起來有很多步驟,但實際上它們很容易設置和完成。在短短幾分鐘內,我有了一些基本代碼來允許我捕捉到我的網絡攝像頭,并為其添加一些疊加:在右上角加上一個logo,底部加上一個半透明條,還有一些文字的疊加。在修改代碼上我也做了動態地修改,以便我可以動態地更新它們。我相信對于很多之前使用過canvas的你們來說,會嘲笑這些例子有多么的荒謬,但對于剛剛入手的我來說,這是一個很大的成就!

不管怎樣,最酷的部分是我在測試網頁中進行了一些基本的視頻編輯工作,以及將其用作PeerConnection源的方法。下一步是將這個WebRTC流送到服務器來讓我進行播放。不足為奇的是,我使用了Janus的目的......這個想法很簡單:我需要能夠接收WebRTC流的東西,然后能夠在其它的地方使用上它??紤]到這是我幾年前開始研究Janus的關鍵原因之一,在幾年前它是一個完美的選擇!具體來說,我決定使用的是Janus VideoRoom插件。實際上,正如預期的那樣,我需要一種方法來將傳入的WebRTC流提供給外部組件來進行處理,在這種情況下,將其轉換為YouTube 直播所期望的用于發布的格式。這個VideoRoom插件,與其集成了SFU功能的相比,還有一個很好的功能,稱為“RTP轉發器”,這個功能完全允許。我將在后面解釋原因以及它的工作原理。

最后,我需要一些東西來將WebRTC流轉換為YouTube 直播所期望的格式。正如您可能知道的,傳統的方法是使用RTMP。有幾種不同的軟件可以幫助解決這個問題,但我選擇了簡單的方式,使用FFmpeg來完成工作:事實上,我并不需要任何剪輯或發布功能(這些我已經實現了),但只有一些東西可以轉化為正確的協議和編解碼器,這是FFmpeg非常擅長的。顯然,為了實現這一點,我首先需要將WebRTC流推送到FFmpeg,在這里上述的“RTP轉發器”可以提供幫助。具體來說,顧名思義,“RTP轉發器”可以簡單地在某處轉發RTP數據包:在Janus VideoRoom的文章中,它們提供了一種方法,使用普通(或加密,如果需要的話)的RTP將來自WebRTC發布者的媒體數據包轉發到一個或多個遠程地址。由于FFmpeg支持普通RTP作為輸入格式(使用一個SDP類型來綁定在正確的端口上并指定正在使用的音頻/視頻編解碼器),這是使用WebRTC媒體流提供它的最佳方式!

在這一點上,我得到了我所需要的一切:

瀏覽器作為編輯/發布軟件(canvas + WebRTC);

Janus作為媒介(WebRTC-to-RTP);

FFmpeg作為轉碼器(RTP-to-RTMP)。

也就是說,最后一步是測試所有的這些。在本地測試中,這一切都預期的工作,在測試中使用優秀的老版red5作為開源RTMP服務器,但很顯然,真正的挑戰是讓它與YouTube的 直播一起工作。所以我進入到Meetecho 的YouTube帳戶的控制面板來驗證它,等待要通常的24小時才獲得發布流的必要信息。這些基本上包括要連接的RTMP服務器,以及用于標識流的唯一(和秘密)密鑰。

通過四處搜索,我找到了一些不錯的代碼片段,展示了如何使用FFmpeg流式傳輸到YouTube Live,我修改了腳本以使用我的源和目標信息,以便在那上面發布而不是在我的本地RTMP服務器上。令人欣喜的是,我讓它開始工作了,但它并不總是完美的工作,在某些地方總有一些問題,但是對于一個demo來說,它已經運行的很好了。

就是這樣,真的,不需要其他“魔法”。這就可以很容易變成各種各樣的服務,可以通過做一些好的canvas上的工作(我做的是非?;A的)來改進編輯部分,并使“RTP Forwarding + FFmpeg + YouTube Live授權證書”部分變得動態化(例如,在端口和帳戶的使用方面),以支持多個流媒體和多個事件,但是這些細節都在那里。

是的,我知道你在想什么:我的意思是,我正在使用WebRTC進行推流,并且它最終會進入YouTube 直播中,但這不是一個直接的步驟。我所做的基本上是利用Janus的靈活性來處理WebRTC流,通過使用FFmpeg以YouTube的“Ye Olde”方式進行實際廣播。無論如何,它仍然很酷!在客戶端使用HTML5 canvas使得以某種方式“編輯”推流部分變得容易了,給了我相當多的創作自由。此外,使用WebRTC仍然給人一種很好的感覺!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Firefox
    +關注

    關注

    0

    文章

    97

    瀏覽量

    13716
  • 視頻編輯
    +關注

    關注

    0

    文章

    14

    瀏覽量

    8631

原文標題:用WebRTC在Firefox上實現YouTube直播

文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Youtube推出VR180視頻格式 打造沉浸立體視頻

    。   另外,VR180還支持直播,內容創作者與粉絲們屆時也將緊密連接在一起進行互動,而合資格的創作者還可通過全世界的YouTube Spaces申請租借支持VR180的相機。相關詳
    發表于 06-27 09:30

    WEBRTC有哪幾種類型

    直接進行媒體數據交換的;如果不能實現 NAT 穿越,那么只能通過 TURN 服務器進行數據轉發的方式實現通信。目前來看,Google 開源的用于學習和研究的項目基本都是基于 STUN/TURN 的 ...
    發表于 11-01 06:34

    WebRTC技術的應用

    我們這里常說的RTC可以理解為WebRTC技術,因為WebRTC技術是目前使用最廣泛的即時通信技術,雖然在早期我們提到WebRTC、提到視頻通話就會想到P2P的方式,但實際的視頻通話方式背后的邏輯有
    發表于 11-01 07:42

    WebRTC有哪些功能

    WebRTC 本身提供的是 1 對 1 的通信模型,在 STUN/TURN 的輔助下,如果能實現 NAT 穿越,那么兩個瀏覽器是可以直接進行媒體數據交換的;如果不能實現 NAT 穿越,那么只能通過
    發表于 11-03 08:16

    怎樣通過WebRTC實現多對多通信呢

    WebRTC 本身提供的是 1 對 1 的通信模型,在 STUN/TURN 的輔助下,如果能實現 NAT 穿越,那么兩個瀏覽器是可以直接進行媒體數據交換的;如果不能實現 NAT 穿越,那么只能通過
    發表于 11-03 07:17

    什么是WebRTC

    什么是WebRTC?WebRTC,即Web Real-Time Communication(網頁即時通信)。它是一個開源項目,旨在創建簡單、標準化的流程通過Web提供實時通信(RTC)。Web
    發表于 12-09 07:59

    如何對嵌入YouTube視頻進行延遲加載呢

    的過程。 復制,粘貼,完成。 但是,引入諸如YouTube視頻之類的外部資源可能會降低網頁的加載性能,尤其是如果同一頁面上嵌入了兩個或更多視頻時。通過嵌入視頻,我們不僅需要視頻文件,還可以請求...
    發表于 12-23 08:07

    如何使用WebRTC?

    SRS 4.0與WebRTC音視頻通話1.音視頻高薪崗位都需要什么技能點2.WebRTC的技術點分析3.SRS4.0如何使用WebRTC視頻講解如下,點擊觀看:流媒體服務器開發——SRS 4.0
    發表于 12-24 06:40

    WEBRTC有哪幾種類型

    直接進行媒體數據交換的;如果不能實現 NAT 穿越,那么只能通過 TURN 服務器進行數據轉發的方式實現通信。目前來看,Google 開源的用于學習和研究的項目基本都是基于 STUN/TURN 的 1
    發表于 02-14 06:36

    谷歌旗下的YouTube放大招 將支持4K 360度視頻直播

    VR日報訊 在去年三月份,YouTube就開始支持360度全景視頻。今年的二月份,Youtube就宣布正式推出360度沉浸式視頻直播功能,并稱將令沉浸式視頻更上一層樓。 這也是Youtube
    發表于 12-01 11:33 ?1047次閱讀

    YouTube 解鎖更高畫質,直播現已支持 HDR

    12 月 9 日消息 根據 YouTube 官方的消息,其流媒體直播現已支持 HDR。YouTube 表示,HDR 視頻有更高的對比度,陰影和高光的信息更多。通過將 HDR 引入流媒體
    的頭像 發表于 12-09 18:16 ?3987次閱讀

    WebRTC速成課程

    WebRTC 設計的目標就是“設計一種通過盡量短的、延遲盡量低的路徑進行 P2P 通信的協議,提供一種簡單的、能讓所有人使用的 API”。
    的頭像 發表于 03-24 10:34 ?1349次閱讀

    XR直播是什么?什么軟件可以進行XR直播

    XR直播是什么?什么軟件可以進行XR直播 直播是疫情發展起來的一種新的消費或觀影模式,人們可以通過直播
    的頭像 發表于 11-16 17:33 ?1973次閱讀

    使用手勢通過Arduino控制YouTube播放

    電子發燒友網站提供《使用手勢通過Arduino控制YouTube播放.zip》資料免費下載
    發表于 12-21 16:55 ?3次下載
    使用手勢<b class='flag-5'>通過</b>Arduino控制<b class='flag-5'>YouTube</b>播放

    WebRTC進行壓測的思路及方式和一些經驗

    最近幾年WebRTC特別火,但如何對WebRTC服務進行壓力測試是一個很有難度和挑戰的工作,因為WebRTC客戶端實際使用上產生的壓力瓶頸主要來源對象是碼流而非傳統的HTTP并發請求。
    的頭像 發表于 10-30 11:30 ?1309次閱讀
    <b class='flag-5'>WebRTC</b><b class='flag-5'>進行</b>壓測的思路及方式和一些經驗
    主站蜘蛛池模板: 手机看片免费福利 | 天天爱天天操 | 免费网站色 | 岛国最新资源网站 | 久久ww| 国产婷婷一区二区三区 | caoporn成人免费公开 | 中文字幕第7页 | 欧美影院入口 | 午夜无遮挡怕怕怕免费视频 | 久久久国产精品免费看 | 最近2018免费中文字幕视频 | 欧美同性精品xxxx | 色婷婷久久久swag精品 | 操操干| 黄色网址播放 | 手机看片99 | 成人午夜啪啪免费网站 | 无人区理论片手机看片 | 久久精品免看国产 | 婷婷丁香视频 | 亚洲视频在线一区 | 在线观看黄的网站 | 成人在线网站 | 天天爽天天狼久久久综合 | 久久综合色播 | 最新版天堂资源中文官网 | 国产成人99久久亚洲综合精品 | 亚洲视频在线一区二区 | 四虎影在永久地址在线观看 | 久久久噜久噜久久gif动图 | 伊人久久香 | 亚洲欧洲一区二区三区在线 | 亚洲va国产va天堂va久久 | 久久久久久久久综合影视网 | 欧美艹逼视频 | 亚洲免费黄色网 | 国产精品亚洲色图 | 欧美午夜网 | 欧美性一级交视频 | 日本激情网 |