Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Videostreams von anderen Live-Übertragungsplattformen in App und Web in Echtzeit abrufen und abspielen?

Wie kann ich Videostreams von anderen Live-Übertragungsplattformen in App und Web in Echtzeit abrufen und abspielen?

WBOY
Freigeben: 2016-10-11 14:03:54
Original
4415 Leute haben es durchsucht

Ich habe keinen technischen Hintergrund und habe viele Apps zur Inhaltsaggregation wie „Instant“, „Wandoujia List“ usw. kennengelernt. Die Form dieser Inhalte ist jedoch nicht in Echtzeit.

Entschuldigung, ist es technisch möglich, die Inhalte aus den Live-Broadcast-Apps anderer Leute automatisch und in Echtzeit abzurufen und in Ihrem eigenen Produkt-Framework abzuspielen (ohne Interaktion)? Ist es ohne Verhandlungen und Zusammenarbeit möglich, dies durch Technologie zu erreichen?

Außerdem würde ich gerne wissen, ob die Antwort auf diese Frage für mobile Apps oder das Web unterschiedlich ist.

Vielen Dank, ich hoffe, meine Beschreibung kann Sie verständlich machen.

Antwortinhalt:

Das ist eigentlich eine Art Piraterie. Das Kernmerkmal dieses Ansatzes ist:

Sie zahlen keine Traffic-Gebühren Wenn Benutzer Videos ansehen, fordern sie direkt den Server der Zielplattform an – daher der Name „Raubkopie“ statt „Weiterverbreitung“ „Der Grund dafür ist, dass Sie das Geld anderer Leute verwenden, um sich reich zu machen, während Sie für die „Weiterverbreitung“ die Verkehrsgebühr selbst bezahlen, der Inhalt aber von außen kommt (natürlich sollte die Weiterverbreitung auch so sein). legal). Daher ist es leicht zu verstehen, wie verärgert Drittplattformen wären, wenn sie herausfinden würden, dass Sie dies tun.

Es gibt keine moralische Bewertung. Es ist technisch machbar, aber es gibt einige Einschränkungen.

Der Grund, warum es machbar ist, ist:
  • Derzeit verwenden die meisten Live-Übertragungsplattformen das RTMP-Protokoll (Real-Time Messaging Protocol), um Live-Übertragungen zu implementieren. Stream-Senden (Host-Seite) und Empfangen (Zuschauer-Seite)
  • Um eine Live-Anzeige in einer mobilen Webumgebung zu erreichen, verwenden diese Live-Übertragungsplattformen zusätzlich das HLS-Protokoll (HTTP Live Streaming)
  • Beide oben genannten Protokolle sind geöffnet. Das RTMP-Protokoll stammt von Adobe. Technische Spezifikationen finden Sie unter: Real-Time Messaging Protocol (RTMP)-Spezifikation. Das HLS-Protokoll stammt von Apple. Die technischen Spezifikationen finden Sie unter: developer.apple.com/str

Darüber hinaus bestehen die Kernkomponenten eines Live-Übertragungssystems hauptsächlich aus drei Teilen:
  1. Sammlung – der Moderator verwendet Software wie z OBS zum Aufzeichnen von Videos und Senden der Daten an den Server
  2. zur Weiterverbreitung – der Server verwendet Software wie SRS/Red5, um die Daten von der Aufnahmeseite zu empfangen und an die Wiedergabeseite (Publikum) weiterzuleiten.
  3. Wiedergabe – bezieht sich im Wesentlichen auf den Player, der normalerweise in eine Webseite oder App eingebettet ist und über den Zuschauer zuschauen

Bei Piraten müssen sie nur die Wiedergabefunktion implementieren. Wie implementiert man die Wiedergabe? Tatsächlich können Sie leicht einen Open-Source-Player finden, der die Protokolle RTMP und HLS unterstützt. Der letzte verbleibende Schritt besteht dann darin, die Sendeadresse der Programme auf diesen Live-Übertragungsplattformen zu erfassen. Beachten Sie, dass sich dies nicht auf die Webadresse des Live-Programms bezieht, sondern auf die vom zugrunde liegenden Protokoll des Programms angegebene Adresse. Das RTMP-Protokoll schreibt beispielsweise vor, dass jedes Programm eine Adresse hat, die mit rtmp:// beginnt, während HLS erfordert, dass jedes Programm eine http://-Adresse am Anfang hat (HLS basiert tatsächlich auf dem HTTP-Protokoll, daher ist seine Programmadresse eine gewöhnliche URL)

Ja, solange Sie das Video abrufen können Stream-Adresse dieser Live-Programme, dann finden Sie einen Player, der direkt abgespielt werden kann. Diese Lösung kann grundsätzlich die Videoressourcen der meisten inländischen Plattformen raubkopieren.

Aber es gibt auch ein paar Plattformen, die Vorkehrungen getroffen haben. Grundsätzlich gibt es mehrere Arten von Präventionstechniken:
  1. Verwenden Sie nicht RTMP und HLS, sondern basieren auf selbst entwickelten Nicht offengelegte Protokolle, die die Schwierigkeit von Piraterie erheblich verbessern (obwohl diese Plattformen ursprünglich nicht dazu gedacht sind, Piraterie zu verhindern, sondern P2P, niedrige Latenz usw. zu erreichen)
  2. Verhindern Sie, dass Sie die Streaming-Adresse des Live-Videos über erhalten technische Mittel (es hat einen gewissen Effekt, aber es gibt viele Auslassungen)
  3. Bestimmen Sie, ob es sich bei der Übertragung um Piraterie handelt, indem Sie analysieren, von welcher Plattform der Anforderer die Anforderung initiiert hat (ähnlich dem Referrer-Anti-Leeching-Mechanismus des HTTP-Protokolls). , die Piraterie auf niedriger Ebene blockieren kann)
  4. Bestandene Inspektion Die Login-Token-Methode verhindert Piraterie (bei vielen mobilen Live-Übertragungs-Apps, die nur durch Anmelden angesehen werden können, kann dies als Trumpf bei der Verhinderung bezeichnet werden Piraterie, aber für Plattformen wie Douyu Panda, für deren Ansehen keine Anmeldung erforderlich ist, ist dies der Fall Der Effekt ist nicht gut)

Die technische Situation ist ungefähr so. Seien Sie schlau...

Betten Sie eine IFRAME-Seite ein, die die Live-Übertragung angibt, und Sie können

Sicher, zuverlässig und schadstofffrei... Theoretisch ist das möglich, aber in der Praxis sehr schwierig.
Haben Sie QQ-Clients von Drittanbietern gesehen, oder gibt es welche, die lange halten? Es gibt bereits solche Apps auf dem Markt
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage