2016-08-07 62 views
2

Ich habe versucht, mehrere Livestreams (bis zu 30) einzurichten und eine Art kleine Video-Chat-Website zu erstellen, wo die Benutzer Streams zum Server pushen und andere Benutzer diese Streams ansehen können. Ich benutze eine wowza-Instanz und eine erstellte Anwendung namens live. Nach der Lektüre alle Tutorials auf https://streamtoolbox.com bin ich der Benutzerauthentifizierung bewusst, Token etc., aber ich habe noch keine Ahnung:Wie bekomme ich alle aktiven Streams vom wowza Server?

  1. wie Benutzer erfolgreich protokolliert alle aktiven Streams von wowza Server gahther können? Ich möchte, dass er HTML-Seite mit der Liste der verschiedenen Videos zurückgegeben hat. Sollte der angemeldete Benutzer irgendeine Anfrage an den Wowza Server für aktive Streams stellen?
  2. Wie wowza alle aktiven Streams innerhalb einer Anwendung unterscheiden und speichern?

Vielen Dank im Voraus für etwas Licht auf dieses Thema.

+1

Suchen Sie eine programmatische Lösung, wie ein benutzerdefiniertes Modul? – jabal

+0

@jabal, Ich habe Eclipse mit Wowza-Plugin installiert, aber ich bin immer noch Anfänger (obwohl ich Java kenne). Eine programmatische Lösung, wie ein benutzerdefiniertes Modul, sollte mein Problem lösen? Aber ja, es könnte ein benutzerdefiniertes Modul sein, das Problem ist, wie man es anfängt, es ist wirklich schwierig, einige Tutorials zu finden, die meine Frage abdecken. –

Antwort

1

Sie können ein eigenes Modul erstellen, das die Wowza-API verwendet, um alle aktiven Streams in Ihrer Anwendung oder sogar innerhalb aller Anwendungen, die in VHost ausgeführt werden, zu durchlaufen. Dieses Modul könnte möglicherweise ein HTTPProvider sein, den Sie registrieren, sodass Sie eine bestimmte URL abhören und eine JSON/XML/HTML-Darstellung der Streams in Ihrem Wowza-Server zurückgeben können. Ihre Website könnte möglicherweise eine Anfrage an dieses Modul senden und die Daten dynamisch laden, um den Inhalt für den Benutzer zu rendern. Dies wäre mein allgemeiner Ansatz, die API-Dokumentation und Tutorials können Ihnen eine Idee geben, wie Sie Ihr eigenes Modul starten können.

3

Wenn Sie mit der Webprogrammierung vertraut sind, können Sie auch die aktiven eingehenden Datenströme mithilfe der Wowza-REST-API abfragen. Ihre REST-API-Anforderungen können in eine HTTP-Anforderung eingebettet werden, und die resultierenden zurückgegebenen JSON-Daten können zum Füllen einer HTML-Seite mit serverseitigen Skripts verwendet werden.

Hier ist der REST-API-Aufruf eingehende Ströme für eine Anwendung „live“ genannt zu bekommen:

curl -X GET --header 'Accept:application/json; charset=utf-8' http://localhost:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/live/instances/_definst_ 

Das Ergebnis wäre ähnlich sein:

{ 
    "serverName": "_defaultServer_", 
    "incomingStreams": [{ 
     "sourceIp": "rtmp://127.0.0.1:28402", 
     "isPTZEnabled": false, 
     "applicationInstance": "_definst_", 
     "name": "myStream", 
     "isRecordingSet": false, 
     "isStreamManagerStream": false, 
     "isPublishedToVOD": false, 
     "isConnected": true, 
     "ptzPollingInterval": 2000 
    }], 
    "outgoingStreams": [], 
    "recorders": [], 
    "streamGroups": [], 
    "name": "_definst_" 
} 
+0

für mich Abfrage der REST API ist der beste Weg, aber ich bin nicht sicher, dass Benutzer direkt an Wowza API wegen der Server-Leistung abfragen, wenn diese zu viele Anrufe sind, denke ich, die API ist für die Verwaltung von Wowza und Nein zu dienen Benutzer, vielleicht eine App in der Mitte zum Zwischenspeichern von Abfragen ist sicherer. –