Ich möchte einen Teradek Cube verwenden, der mit einer Broadcast-Kamera verbunden ist, um auf einen Server zu pushen, auf dem ffmpeg mit einem offenen RTMP-Port ausgeführt wird, und Lassen Sie ffmpeg diesen Feed mithilfe von RTMP oder RTSP an einen Decoder weiterleiten.

Monaserver führt dies aus, aber ich muss diese Funktionalität mit ffmpeg duplizieren. Ich würde den Cube als Server verwenden, außer er könnte senden Das Öffnen von Anschlüssen an jedem Ort, an dem sich die Kamera befindet, ist keine Option. Unser Decoder ist ein Teradek Slice. Weitere Vorschläge dazu sind sehr willkommen.

Vielen Dank!

Antwort

Sie können FFmpeg als RTMP-Server wie folgt verwenden: ffmpeg -f flv -listen 1 -i rtmp://localhost:1935/live/app -c copy rtsp://YOUR_RTSP_HOST

Hinweise:

  • -listen 1 bewirkt, dass FFmpeg bei Verwendung mit dem RTMP-Protokoll als RTMP-Server fungiert.
  • Verwenden Sie rtmp://localhost:1935/live/app als RTMP-Server-URL in der Quelle
  • Sie können einen beliebigen Wiedergabepfad rtmp://localhost:1935/any/thing und festlegen Jeder Port
  • Der Hauptvorteil auf diese Weise ist die Einfachheit. Der Nachteil ist, dass der Server stoppt, wenn die Quelle gestoppt wurde oder Codierungsfehler aufgetreten sind.
  • Die andere Option ist die Verwendung von nginx mit nginx-rtmp-Modul

Kommentare

  • Perfekt, vielen Dank. Wenn ich ' eine Anwendung wie VLC verwenden möchte, um den Stream vom Server zu empfangen, kann ffmpeg auch auf eine Verbindung warten und diese an den lokalen Port 1935 ausgeben?
  • Ja, ffmpeg -f flv -listen 1 -i rtmp://localhost:8889/live/app -c copy -f flv -listen 1 rtmp://localhost:1935/live/app, stellen Sie einfach verschiedene Ports für Eingabe und Ausgabe ein.
  • Nochmals vielen Dank, genau das brauche ich. Während des Testens habe ich ' fast jede Kombination von / live / app auf dem Teradek Cube und verschiedenen iOS RTMP-Streaming-Video-Apps ausprobiert, um dies zu testen, und ffmpeg reagiert nicht, während Monaserver funktioniert. Ist ' app ' der Schlüssel und muss live im Client enthalten sein ' s url?
  • Möchten Sie erläutern, wie Sie die RTMP-URLs in Cube, iOS-Apps und Monaserver festlegen? Öffnen Sie die erforderlichen Ports? Sie können einen beliebigen Wiedergabepfad / ein beliebiges / Ding festlegen.
  • Auch der FFmpeg-Eingabeserver startet, wenn er einen Stream empfängt, und die Ausgabe beginnt, wenn er eine Anforderung empfängt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.