HTML5如何實現菠菜軟體直播推流?值得學習一下!

rongbiren發表於2021-06-24

如何使用HTML5直播推流是一個技術問題?自從RTMP推流協議誕生以來,依靠 Q 3444 65213/TMP協議做的推流搭建開發就一直都未停歇,在沒有找到更加完善的菠菜替代品前,市面的主流推流仍將會由RTMP協議來實現。如大眾所熟知的一樣,PC端web主流的影片直播方案也一直是RTMP,包括我們開發的EasyCVR平臺,也在最新的版本中支援RTMP推流了,不過該版本目前正在測試當中,測試完畢將會上線,大家屆時可以關注。

我們本文的焦點還是放在HTML5影片的推流直播上。隨著直播平臺爆發式的增長,H5直播的需求也變得異常豐富。透過H5直播的整體流程大致分為三個模組:

影片採集:該模組包括採集電腦上的音影片裝置、手機端攝像頭及麥克風、電視臺/比賽現場攝像頭的音影片等,對於H5的推流直播,採集主要方向還是手機端和電視臺的攝像頭音影片採集。

解碼分發:該模組主要由影片流媒體伺服器完成,影片採集後需要一臺Nginx伺服器來進行處理,採集影片錄製端傳輸的影片流(H264/ACC編碼),由伺服器端進行解析編碼,推送RTMP/HLS格式影片流至影片播放端。

影片播放:影片播放在於使用者採用的播放器,包括電腦播放器、手機播放器以及H5的video標籤。

而對於PC端H5的影片錄製,可以選取更加具有優勢的webrtc技術,使用WebRTC錄製影片基本流程簡單梳理下:

1、呼叫window.navigator.webkitGetUserMedia(),獲取使用者的PC攝像頭影片資料。

2、將獲取到影片流資料轉換成window.webkitRTCPeerConnection(一種影片流資料格式)。

3、利用 WebScoket將影片流資料傳輸到服務端。

影片錄製完畢後,則需要一套RTMP直播流服務來保證菠菜影片流的搭建傳輸,同時還要具備轉換直播流格式以及編碼推流的功能,當伺服器端接收到採集影片錄製端傳輸過來的影片流時,需要對其進行解析編碼,推送RTMP/HLS格式影片流至影片播放端。

之前我們也說過,獲得一套流媒體服務平臺有多種方式,包括自己從零搭建、用開源平臺做基礎架構進行修改、直接找尋靠譜的第三方機構獲取平臺,自己搭建平臺費時費力,因此比較推薦的是透過搭建開源平臺或直接 菠菜 商完成。

TSINGSEE青犀影片具備獨立的EasyDarwin開源平臺,能夠協助開發者輕鬆搭建流媒體服務,目前EasyDarwin平臺有穩定的執行環境以及專業的技術支援,這兩個優勢都是使用者使用過程中強大的後盾。同時我們還有EasyDSS這樣的RTMP直播點播平臺,安裝部署後也可以實現影片流的H5推流直播,並且作為一個開放的商用流媒體解決方案,EasyDSS也具備非常豐富的二次開發介面,可以很簡單的進行二次開發和應用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979875/viewspace-2778116/,如需轉載,請註明出處,否則將追究法律責任。

相關文章