2017-08-29 1 views
2

Vor vielen Jahren haben wir eine Live-Streaming-Anwendung mit Flash Media Server erstellt. Inzwischen ist Flash veraltet und wir möchten auf eine HTML5-Lösung umsteigen.Live-Video von der Website zum Restream-Server streamen

Obwohl ich einige Antworten gefunden habe, aber sie scheinen ein bisschen alt. Daher frage ich mich, was ist eine gute Kombination für Video + Audio-Live-Streaming heutzutage (2017)?

Die Anforderungen sind ziemlich einfach: ein Sender und viele Zuschauer (100+), die verschiedene moderne Browser verwenden (IE11 +, Edge, Firefox, Chrome). Im Idealfall möchten wir eine Open-Source-Lösung verwenden.

Auf einem Server werde ich nginx-rtmp-Modul verwenden. Aber wie kann ich von einem Browser zu diesem Server streamen? Ich möchte OBS oder andere Clients nicht verwenden. Ich muss von einer Website streamen.

Antwort

-1

Die Lieferung von Live-Streams zu vielen HTML5-Browsern ist derzeit mit HLS, MPEG DASH möglich. Streams müssen mit H264 und AAC codiert werden (erfordert Transcodierung für Flash-basierte Streams).

Eine gemischte Lösung ist derzeit der Weg zu gehen, um die meisten Browser und Geräte zu unterstützen.

Flash funktioniert immer noch auf vielen PC-Browsern, da es derzeit keine produktionsfertigen Lösungen für bestimmte Funktionen (z. B. Broadcast-Webcam) gibt, die in allen Browsern funktionieren.

Broadcasting Webcam zu RTMP-Server ohne Flash erfordert Apps. Es gibt RTMP-Encoder für Desktop (OBS) und Mobile (GoCoder).

Sie können sich eine schlüsselfertige Lösung wie BroadcastLiveVideo ansehen, die mehrere Methoden einschließlich Transcodierung, HLS-Bereitstellung und erweiterte Unterstützung für externe Encoderströme implementiert.

Eine andere webbasierte Technologie, Alternative zu RTMP, ist WebRTC but not production ready, da sie nicht mit Standardbrowsern wie Safari, Internet Explorer funktioniert und andere auftretende Einschränkungen beinhaltet, einschließlich der Provider-Konnektivität für P2P.

+0

Sie können absolut von Ihrer Webcam mit nichts besonderes übertragen. – Brad

+0

Bei Verwendung von Safari, Internet Explorer? – TopReseller

+0

Nein IE Klassiker, Edge ja, Safari in der nächsten Version. Sie werden feststellen, dass die Mediengeräte-API und verwandte Technologien weit mehr Unterstützung bieten als für Flash in diesen Tagen. – Brad

0

Überspringen Sie die RTMP-Route insgesamt, es ist nur für ältere Kompatibilität erforderlich und ist Ihre Zeit nicht wert.

DASH ist eine beliebte Methode, um Videos vom Server an Clients zu verteilen, da Sie einige Optionen für Codec haben und vorhandene HTTP-CDNs, die traditionell für statische Inhalte erstellt wurden, erneut verwenden können.

HTTP Progressive, Web Socket und WebRTC können auch für die Verteilung von Inhalten verwendet werden. Sie haben jedoch die Kosten für Infrastruktur und Komplexität erhöht, da diese nicht annähernd so häufig sind.

Für die Aufnahme Ende, können Sie WebRTC (schwierig) verwenden, aber was ich tun möchte, ist die Verwendung von gerade Web Socket. Verwenden Sie die MediaDevices API und getUserMedia, um das Video zu erfassen, verwenden Sie die Media Recorder-API, um es durch den Codec auszuführen, senden Sie diese Daten über einen Web-Socket an den Server und transkodieren Sie dann auf dem Server zu dem Codec und Format, das Sie benötigen du brauchst.

Verwandte Themen