Protokoll RTMP / RTMPS

RTMP (Real-Time Messaging Protocol) ist in Perfect Streamer sowohl für den Empfang (input) als auch für die Übertragung (output) verfügbar, auf Basis von FFmpeg avformat. Typische Szenarien sind das Veröffentlichen eines Fernsehkanals auf externen Plattformen (YouTube, Facebook und beliebige RTMP-Empfänger) sowie der Empfang eines Streams von einem RTMP-Server. Die sichere Variante RTMPS (RTMP über TLS) wird für beide Richtungen unterstützt; in diesem Fall fungiert Perfect Streamer als TLS-Client.

RTMP ist ein single-program-Protokoll, daher sind RTMP input und output nur für SPTS-Streams verfügbar.

RTMP input (Empfang)

Perfect Streamer verbindet sich als RTMP-Client mit der angegebenen Quelle rtmp:// oder rtmps:// und holt den Stream ab (Pull-Modus). Die empfangenen Elementarströme (Video H.264 oder HEVC, Audio AAC) werden in das integrierte MPEG-TS remultiplext und in die Stream-Pipeline eingespeist. Einen Modus zum Warten auf eine eingehende Veröffentlichung (listen / push) gibt es nicht — den Empfang initiiert immer Perfect Streamer selbst.

RTMP-input-Einstellungen:

  • URL — die vollständige Adresse der RTMP-Sitzung, zum Beispiel rtmp://origin.example/live/streamkey. Die Schemata rtmp und rtmps sind zulässig.

  • Bind Interface — die lokale Schnittstelle oder IP-Adresse, von der aus die ausgehende Verbindung aufgebaut wird. Standardmäßig wird sie durch das Routing des Betriebssystems bestimmt.

  • Timeout — Timeout für Verbindung und Lesen, von 1 bis 120 Sekunden. Standardwert 10.

  • TLS Verify — bei rtmps das Serverzertifikat prüfen. Standardmäßig deaktiviert.

  • Trace — ausführliches Protokoll zur Verbindungsdiagnose.

RTMP output (Veröffentlichung)

Perfect Streamer veröffentlicht einen SPTS-Stream an einen externen RTMP-Empfänger: Es verbindet sich als RTMP-Client mit der Veröffentlichungsadresse der Plattform und sendet den Stream (Publish-Modus). RTMP ist ein single-program-Format: Es wird ein Video (H.264 oder HEVC) und höchstens eine AAC-Audiospur veröffentlicht. Hat die Quelle mehrere Spuren, werden je eine Video- und eine Audiospur ausgewählt; überzählige und inkompatible (zum Beispiel Nicht-AAC-Audio) werden nicht übertragen. Eine mehrspurige Quelle lässt sich vorab mit den Filtern PID Accept / PID Reject einschränken (siehe «Filterung und Modifikation von MPEG-TS»).

HEVC-Video wird über Enhanced RTMP veröffentlicht — aktiviert durch die Option Allow HEVC. Wenn die empfangende Plattform HEVC nicht unterstützt, deaktivieren Sie die Option: Dann wird nur H.264 veröffentlicht.

Vor Beginn der Veröffentlichung wird der Stream analysiert. Gibt es kein kompatibles Video, wird nicht veröffentlicht. Das Analyseergebnis ist in der Stream-Statistik verfügbar: ein Kennzeichen der Veröffentlichungsfähigkeit, die ausgewählten Video- und Audiocodecs, die Liste der verworfenen Spuren und der Verbindungszustand.

RTMP-output-Einstellungen:

  • URL — die Veröffentlichungsadresse der Plattform, zum Beispiel rtmp://a.rtmp.youtube.com/live2/<stream-key>. Die Schemata rtmp und rtmps sind zulässig.

  • Bind Interface — die lokale Schnittstelle oder IP-Adresse der ausgehenden Verbindung. Standard — das Routing des Betriebssystems.

  • Timeout — Timeout für Verbindung und Übertragung, von 1 bis 120 Sekunden. Standardwert 10.

  • Allow HEVC — Veröffentlichung von HEVC-Video über Enhanced RTMP zulassen. Standardmäßig aktiviert; bei Deaktivierung wird nur H.264 übertragen.

  • TLS Verify — bei rtmps das Serverzertifikat prüfen. Standardmäßig deaktiviert.

  • Trace — ausführliches Protokoll zur Diagnose der Veröffentlichung.

Beispiele für Veröffentlichungsadressen:

  • YouTube — rtmp://a.rtmp.youtube.com/live2/<stream-key>

  • Facebook — rtmps://live-api-s.facebook.com:443/rtmp/<stream-key>