2017-08-29 73 views
2

多年前,我們用Flash Media Server構建了一個實時流媒體應用程序。與此同時,Flash已經過時,我們想升級到HTML5解決方案。從網站流直播視頻到restream-server

雖然我找到了一些答案,但它們看起來有點老。因此,我想知道什麼是現在(2017年)的視頻+音頻直播流的良好組合?

的要求很簡單:一個播音員和衆多觀衆(100+)正在使用各種現代瀏覽器(IE11 +,邊緣,火狐,Chrome)。理想情況下,我們希望使用開源解決方案。

在服務器上,我將使用nginx-rtmp-module。但是,我怎樣才能從瀏覽器流到這個服務器呢? 我不想使用OBS或任何其他客戶端。我需要從一個網站流。

回答

-1

HLS,MPEG DASH目前可以向多個HTML5瀏覽器傳送實時流。流需要使用H264和AAC進行編碼(需要對基於Flash的流進行轉碼)。

混合解決方案是目前要走的路,以支持大多數瀏覽器和設備。

閃存仍然工作在許多PC瀏覽器作爲目前國內有某些功能(如廣播網絡攝像頭)沒有生產就緒型解決方案在所有的瀏覽器。

在沒有Flash的情況下將網絡攝像頭廣播到RTMP服務器需要應用程序。有用於桌面(OBS)和移動(GoCoder)的RTMP編碼器。

您可以查看一個交鑰匙解決方案,如BroadcastLiveVideo,該解決方案實現多種方法,包括代碼轉換,HLS傳輸以及對外部編碼器流的高級支持。

另一種基於網絡的技術,替代RTMP的是WebRTC but not production ready,因爲它不適用於Safari,Internet Explorer等默認瀏覽器,並涉及其他發生的限制,包括P2P的提供商連接。

+0

你絕對可以從你的網絡攝像頭播放沒有什麼特別的東西。 – Brad

+0

使用Safari時,Internet Explorer? – TopReseller

+0

沒有IE classic,Edge yes,下一個版本的Safari。你會發現現在有更多支持媒體設備API和相關技術的東西,而不是Flash。 – Brad

0

跳過RTMP路線完全,它只是需要傳統設備的兼容性,不值得你花時間。

DASH是從服務器到客戶端分發視頻的流行方式,你有編解碼器一些選擇,你可以重新使用現有的HTTP CDN的傳統方式建造的靜態內容。

HTTP進步,網絡插座,並且還的WebRTC都可以用於分發內容,但增加了基礎設施的複雜性和成本,這些都不是幾乎一樣普遍。

對於採集結束時,你可以使用的WebRTC(困難),但我更喜歡做的是使用直線上升web套接字。使用MediaDevices API和getUserMedia捕獲視頻,使用Media Recorder API通過編解碼器運行它,通過Web套接字將數據發送到服務器,然後在服務器上將代碼轉換爲所需的任何編解碼器和格式,你需要。