wake-up-neo.com

Live-Video-Streaming mit PHP

Ich habe eine PHP/AJAX/MYSQL-Chat-Anwendung. Ich möchte meiner Anwendung Video-Chat hinzufügen. Wie kann ich Live-Video-Streaming erstellen, das für Live-Videokonferenzen/-Chatings in einer Anwendung PHP verwendet werden kann? Was sind die Schlüsselbegriffe, die ich wissen muss, wenn ich ein solches System erstellen möchte? Ist es überhaupt eine gute Idee, PHP zu verwenden? Gibt es etwas, woran ich nicht denke? Welche anderen Sprachen kann ich verwenden, vielleicht in Verbindung mit PHP? 

32
smyles

Ich sage nicht, dass Sie PHP aufgeben müssen, aber Sie benötigen hier unterschiedliche Technologien.

Fangen wir einfach an (ohne Akamai :-)) und überlegen wir uns hier die Auswirkungen. Video, Chat usw. - Am Anfang ist das alles clientseitig. Der Benutzer hat eine Webcam, Sie möchten das Signal irgendwie packen und an den Server senden. Bisher gibt es kein PHP.

Ich weiß, dass Flash dies jedoch unterstützt (siehe Tutorial zu Webcams und Flash ), damit Sie den Inhalt mit Flash zum Server transportieren können. Ich denke, wenn Sie bei Flash bleiben, dann ist Flex ( Flex- und Webcam-Tutorial ) wahrscheinlich eine gute Idee.

Das sind also nur die Grundlagen. Vielleicht bekommen Sie so eine Vorstellung davon, wo Sie recherchieren müssen, weil Sie damit offensichtlich noch keinen vollständigen Video-Chat in Ihrer App erhalten. Für den Anfang benötigen Sie einen Weg, um die Streams aufzuzeichnen und neu zu veröffentlichen, damit andere Personen andere Personen aus dem Chat sehen usw.

Ich bin mir auch nicht sicher, wie viel Verkehr und Bandbreite dies verbrauchen wird, und im Allgemeinen werden Sie weit mehr als eine Stackoverflow-Frage benötigen, um dieses Problem zu lösen. Am besten sollten Sie eine vollständige Spezifikation Ihrer App erstellen und dann einige Leute einstellen, die Ihnen beim Aufbau helfen.

HTH!

20
Till

Bitte beachten Sie, dass der unten beschriebene Service nicht mehr verfügbar ist, da er auf FLV-Medien (Flash) basiert.

Dieses Projekt, das Red5, Flex und PHP für Live-Video-Streaming und -Aufnahme verwendet, verfügt über zahlreiche Funktionen

  1. Live-Video an die Zuschauer streamen

  2. Zeichnen Sie die Streams von Ihrer Kamera oder anderen Videoeingabegeräten auf den Server auf

  3. Zeigen Sie eine Vorschau der aufgezeichneten Streams und Dateien an und erstellen Sie eine Miniaturansicht des Bilds, das Sie für das Video anzeigen möchten.

  4. Laden Sie die Videos von Ihrem Computer hoch und konvertieren Sie sie in FLV, das mit Red5 gestreamt werden kann.

  5. Wählen Sie aus beliebigen Auflösungen

  6. Kann an jedes Skript angeschlossen werden

  7. Jeder Website-Nutzer kann über diesen Link ein separates Verzeichnis zum Speichern seiner Videos und Thumbnails einrichten http://code.google.com/p/red5-flex-streamer/

7
Shani

Mit PHP können Sie die Seiten Ihrer Website erstellen, aus denen Ihre Videokonferenz- und Chat-Anwendungen bestehen. Video wird jedoch nicht für Sie bereitgestellt oder gestreamt. PHP wird nur auf dem Server ausgeführt und gibt HTML an einen Client-Browser aus .

Für das Video benötigen Sie als Erstes ein Live-Streaming-Konto mit jemandem wie Akamai oder den zahlreichen anderen im Feld. Mit diesem Konto erhalten Sie einen Eingangspunkt für Ihr Video, dh den Server, zu dem Sie Ihr Live-Video streamen.

Als Nächstes möchten Sie Ihr Video an die Browser weitergeben - Windows Media Player, Flash oder Silverlight -, um dies zu erreichen - indem Sie das entsprechende Steuerelement für die von Ihnen gewählte Technologie in Ihre Seite einbetten (mit PHP oder was auch immer) und die entsprechende Adresse Ihres Live-Video-Feeds.

PHP (oder eine andere Skriptsprache) würde verwendet, um den Chat-Teil der Anwendung zu erstellen und das Ganze (den Chat und den eingebetteten Videoplayer) zusammenzubringen.

Hoffe das hilft.

4
deepcode.co.uk

Bei Live-Videokonferenzen können Sie die Notwendigkeit eines Streaming-Servers nicht ignorieren. 

Ja, mit Flash können Sie Videos von einer Webcam innerhalb der lokalen Flash-Steuerung anzeigen, aber das Video kann dann nicht über das Netzwerk gesendet werden. Dafür benötigen Sie einen Streaming-Server. 

Wenn Sie so etwas bauen wollen, ist es ratsam, darüber nachzudenken, wie Sie das Video von einem sehr frühen Zeitpunkt an hosten sollen, da dies die Erstellung der Anwendung beeinflussen wird. Flash/Flex/Silverlight/Windows Media .... etc ....

2
deepcode.co.uk

PHP/AJAX/MySQL reicht nicht aus, um die Live-Video-Streaming-Anwendung zu erstellen. Es gibt einen ähnlichen Thread hier . In erster Linie wird die Verwendung von Flex oder Silverlight empfohlen.

1
Gaurav

Es gibt eine Reihe von "handelsüblichen" "Servern", die in Ihrer Umgebung ausgeführt werden. Die meisten von ihnen verwenden das oben genannte Flex oder Silverlight, um das eigentliche Video selbst zu implementieren, aber ich bin mir ziemlich sicher, dass alle darunter laufen werden LAMP/PHP.

Die Herausforderung besteht darin, die beste Software aus allen verfügbaren Optionen auszuwählen und Ihren Hosting-Provider dazu zu veranlassen, dass Sie Video streamen können (es ist selbstverständlich, dass Streaming viel Bandbreite beansprucht).

1
Conan

Gleiches Problem/Antwort hier , unten zitiert

Ich gehe davon aus, dass Sie meinen, dass Sie Ihr eigenes privates Video laufen lassen wollen Anrufe können nicht einfach mit Skype-Anrufen oder Ähnlichem verknüpft werden Sie haben wirklich 2 Optionen hier: Hosten Sie es selbst oder verwenden Sie eine gehostete Lösung und integrieren Sie es in Ihr Produkt.


Selbst gehostet ----------------- Das ist unordentlich. Dies alles kann mit PHP erreicht werden, aber das ist wahrscheinlich nicht die empfohlene Lösung, da es .__ ist. Von allen Seiten nicht das beste Werkzeug für den Job. Flash ist viel mehr Effizientes A/V-Erfassen und Transportieren auf Anwenderseite. Sie können versuchen, Tun Sie dies ohne Flash, aber Sie werden Kopfschmerzen haben. HTML5 kann Ihr Leben ist einfacher, aber wenn Sie auf maximale Kompatibilität achten, Flash ist der einfachste Weg, um den Client zu erstellen. Dann so weit Als eigentliche Serverseite, auf der das Audio/Video übertragen wird, können Sie Schreiben Sie einen Chat-Server in PHP, aber Sie sollten eine Open-Source-Komponente verwenden. Projekt, wie janenz00 s Erwähnung von red5 , das ist bereits gebaut und Sie können sich über Ihren Client mit dem Client verbinden (falls noch nicht vorhanden ist). Oder Sie können einen Flash-Client wie oben erwähnt Homebrew und Schließen Sie ihn auf beiden Seiten an einen Flash-Streaming-Server an. So oder so wird schnell kompliziert, und ich kann Ihnen bei .__ nicht weiterhelfen. alles.


Gehosteter Service Alles in, meine Empfehlung, es sei denn, Sie möchten eine lächerliche Einrichtung vieler komplexer Server und einen Ausfall verwalten. Punkte ist, einen gehosteten Dienst wie .__ zu verwenden. UserPlane oder ähnlich und entladen alle Verarbeitung und technische Arbeit für Menschen, die das können, und dann Sorgen Sie sich darum, mit ihrem API zu kommunizieren und ihren Kunden gut zu machen in Ihre Site integriert. Sie werden dann ein zufriedenerer Entwickler sein.

0
jimcavoli

Sie können ganz einfach eine Website gemäß den Anforderungen erstellen. PHP kümmert sich um den Website-Entwicklungsteil. Das gesamte Hosting und die normale Website-Entwicklung funktionieren so wie sie sind. Für den Streaming-Teil müssen Sie jedoch einen guten Streaming-Service auswählen Ob es sich um Red5 oder Adobe handelt, Sie können aus einer Vielzahl von Diensten auswählen.

Wählen Sie einen Dienst, der einen dedizierten Speicher bietet, damit etwas richtig gemacht wird. Wenn Sie nicht wissen, wie der Server richtig konfiguriert wird, können Sie einfach einen Streaming-Dienst auswählen. Bei guten Diensten wird häufig ein CDN angegeben, mit dessen Hilfe der Stream effizient übertragen werden kann. Starten Sie einfach Ihre Website in PHP und binden Sie den YouTube-Player in die besagte Webseite ein, damit sie funktioniert.

0
manish kumar