Nginx HLS-VOD-Funktion zum Stoppen und Verfolgen von Streams

Nginx HLS-VOD-Funktion zum Stoppen und Verfolgen von Streams

Ich muss in der Lage sein, VOD zu streamen, aber die Videos werden pro Minute erfasst, sodass ich ständig Informationen darüber aufbewahren muss, wie viele Minuten der Benutzer hat, und wenn er Minuten verbraucht, muss ich seinen Stream beenden.

Ich habe dies in Wowza implementiert und versuche nun, einen Weg zu finden, dies in nginx zu tun. Das größte Problem ist, dass ich nicht weiß, ob nginx Informationen über den angeforderten Videoblock an mein PHP (oder ein anderes Skript) weiterleitet, wo ich entscheiden kann, ob die aktuelle Anforderung zugelassen wird oder nicht.

könnte mir jemand sagen, ob das überhaupt möglich ist, und mir, wenn ja, den richtigen Weg weisen.

Antwort1

Es ist möglich, HLS-Streaming mit VoD-Funktion über die Open-Source-Software einzurichten.Nginx-RTMP-Modul.

Das Rtmp-Modul verfügt überBenachrichtigungs-Hooks.

Zum Beispiel:

beim_spielen

Legt einen HTTP-Play-Callback fest. Jedes Mal, wenn ein Client einen Play-Befehl ausgibt, wird asynchron eine HTTP-Anforderung ausgegeben und die Befehlsverarbeitung wird angehalten, bis ein Ergebniscode zurückgegeben wird. Anschließend wird der HTTP-Ergebniscode analysiert.

  • HTTP 2xx-Code setzt RTMP-Sitzung fort
  • HTTP 3xx leitet RTMP zu einem anderen Stream um, dessen Name aus dem HTTP-Antwortheader „Location“ stammt. Wenn der neue Streamname mit rtmp:// beginnt, wird stattdessen ein Remote-Relay erstellt. Relays erfordern, dass die IP-Adresse anstelle des Domänennamens angegeben wird, und funktionieren nur mit Nginx-Versionen höher als 1.3.10. Siehe auch notify_relay_redirect.
  • Andernfalls wird die RTMP-Verbindung unterbrochen

Nginx hat auch einekommerzielles Angebot. Zuletzt habe ich gehört, dass es 1500 $/Jahr pro Sitzplatz kostet. Zu diesem Preissollentun, was Sie verlangen, aber ich kenne mich damit nicht aus.

verwandte Informationen