2016-05-14 1 views
1

Ich versuche einen Web-basierten Live-Webcam-Streaming-Dienst (Verwendung von Laravel Framework PHP), wo ein Benutzer Live-Übertragung per Webcam (Web-basierte Only). Zum Beispiel:Was ist die beste Lösung für Live-Cam-Service in Web-Anwendungen?

Benutzer X Startet eine Webcam-Übertragung bei http://localhost/userx während Benutzer Y, Z usw. verbinden, dass Raum auf http://localhost/userx in der Lage, den Live-Webcam/Stream zu sehen.

Ich spielte mit node.js und socket.io Bibliothek für Echtzeit-Chat und es funktioniert gut. Aber ich habe keine Ahnung von Webcam-Streaming.

Sollte ich webrtc verwenden? Wie viele Zuschauer können mit dem Sender umgehen, wenn ich Webrtc verwende? Was ist die beste Lösung für den Umgang mit 1000-2000 Zuschauern? Jeder Vorschlag würde mir sehr helfen.

+0

Das ist ziemlich viele Zuschauer. Es ist besser, ein richtiges CDN für die Bereitstellung Ihrer Streams zu verwenden. WebRTC ist nicht großartig, abgesehen von einer kleinen Handvoll Leute, zumindest wie es ist. Jetzt könnten Sie Ihren eigenen WebRTC-Server implementieren, der nicht wie üblich funktioniert, wo Ihr Server Streams empfängt und Streams sendet, aber das ist nicht nötig. – Brad

+0

@Brad Danke für die Antwort Brad. Ich bin immer noch auf der Suche nach soliden Informationen, um dies zu erreichen. Aber haben Sie Informationen, was nötig ist? Ich habe nach einer Pusher-Bibliothek gesucht, bin aber immer noch nicht sicher. – minchevz

+0

Ich weiß nicht, was Sie verwenden sollten, aber definitiv nicht WebRTC. WebRTC ist für Peer-to-Peer-Streams gedacht, es ist nicht dafür gedacht, einen Kamerastream an so viele andere Clients zu senden. Sie müssten für jeden Zuschauer eine Peerverbindung herstellen, ICE aushandeln, Constraints setzen, etc ... Ganz zu schweigen davon, dass der Sender einen massiven Upload benötigt, um Kameradaten an mehr als ein paar Zuschauer streamen zu können, da der Stream gesendet wird an alle Kunden getrennt. Sie brauchen wirklich eine Lösung, mit der Sie die Daten des Senders einmal auf einen Server streamen, den Sie kontrollieren. Dann können Betrachter die Daten vom Server abrufen. – Kevin

Antwort

0

Warum verwenden Sie nicht das node-camera Modul, mit dem Sie Webkamera in Nodejs mit opencv und websockets zugreifen und streamen können.

Dies ist der Befehl, den Sie ausführen, um sollte es zu laufen:

npm start -- [-open] [-wsport websocketPort] [-webport webserverport] [-res widthxheight] 

wo die übergebenen Optionen, um sie auszuführen sind:

-open öffnen Streaming-URL beim Start

-wsport Web Socket-Port für Streaming-Medien

-Webport Webserver-Port

-res Auflösung für Vorschaubild

-input Eingangsquelle. (Z. B. IP-Kamera url)

Es gibt einige weitere Bibliotheken wie ffmpeg, vlc und OpenCV, die den Zugang zur Verfügung, die Webcam verwendet werden, die als Knoten native Addon geschrieben werden kann

+1

Danke für deine Antwort, ehrlich gesagt wusste ich nicht über Node-Kamera, ich werde dafür graben. Aber kann ein Sender 1000-2000 Zuschauer betreuen? – minchevz

+0

Dies ist keine gute Lösung. Es koppelt unnötigerweise an den Encoder. – Brad

Verwandte Themen