Restreams
Verwenden Sie Restreams, um eine Live-Eingabe gleichzeitig an Streaming-Plattformen und private Endpunkte auszuliefern. Nutzen Sie Remuxing, wenn die Formate übereinstimmen. Andernfalls können Sie transcodieren, die Auflösung ändern, Audio anpassen und Overlays hinzufügen.
Geeignet, wennEine Live-Quelle soll eine weitere Plattform oder ein anderes Protokoll erreichen – optional mit Transcodierung, Skalierung, Audioanpassung oder Overlays.
Anderes Modul verwenden, wennVerwenden Sie SRT-Routen für unveränderte SRT- oder UDP-Weiterleitung und Webplayer für die Browser-Wiedergabe.
/api/restream/createVoraussetzungen
Alle Methoden erfordern einen gültigen x-access-token. Erstellen Sie zuerst das referenzierte Eingabemodul und stellen Sie sicher, dass das Ausgabeziel das gewählte Protokoll, den Codec, die Auflösung, die Bitrate und die Zugangsdaten akzeptiert.
Funktionen
createundupdatekonfigurieren die Eingabe-, Ausgabe-, Transcodierungs-, Medienmodifikations- und Overlay-Einstellungen.getAll,getCountundgetByIdinspizieren Jobs.startundstopsteuern die Live-Pipeline.getStatmeldet verfügbare Bitrate, Kadenz und Prozessstatus.removelöscht einen Job.
Beispiel-Workflow
- Wählen Sie eine verwaltete Eingabe oder eine unterstützte URL-Quelle aus.
- Legen Sie ein RTMP, SRT, RIST oder ein anderes unterstütztes Ziel fest.
- Aktivieren Sie Transcoding- oder Medienänderungen nur dann, wenn die Ausgabe sie erfordert.
- Starten Sie den Job und prüfen Sie mit
getStat, ob Medien übertragen werden. - Stoppen Sie den Job, bevor Sie Zugangsdaten oder Zieleinstellungen ändern.
Typische Anwendungsfälle
- Senden Sie einen SRT-Contribution-Stream an ein RTMP-Verteilungsziel.
- Empfangen oder liefern Sie einen RIST-Feed innerhalb eines Live-Distribution-Workflows.
- Transcodieren Sie das Signal, ändern Sie die Größe, passen Sie Audio an oder fügen Sie vor der Auslieferung ein Overlay hinzu.
- Halten Sie die Eingabe stabil, während Sie die nachgelagerten Ziele zwischen den Ereignissen ändern.
Einschränkungen und Fehlerbehebung
Ein gespeicherter Restream kann immer noch einen Offline-Eingang oder ein Ziel haben, das die Verbindung ablehnt, also überprüfen Sie den Live-Status nach dem Start. Transcoding erfordert wesentlich mehr CPU- oder GPU-Kapazität als Remuxing. Verwenden Sie für die RIST-Lieferung eine kompatible RIST-URL und ein MPEG-TS-Signal und überprüfen Sie dann die ausgewählten RIST-Profil- und Sicherheitseinstellungen an beiden Enden.
Nächste Schritte
Prüfen Sie das Ziel, ergänzen Sie anschließend Monitoring oder stellen Sie den Stream bei Bedarf über Webplayer im Browser bereit.
Einen Live-Eingang an mehrere Ziele senden
Erstellen Sie pro Ziel einen Restream-Job aus demselben geprüften Eingang, starten Sie die Jobs und überwachen Sie jeden Ausgang separat.
- Ziel-Jobs erstellenVerwenden Sie denselben Eingang und geben Sie Protokoll, Zugangsdaten und URL jedes Ziels an.
POST /api/restream/create - Ausgabe startenStarten Sie jeden gespeicherten Job, nachdem seine Upstream-Quelle fehlerfrei arbeitet.
POST /api/restream/start - Jeden Ausgang überwachenVergleichen Sie Bitrate und Prozessstatus pro Ziel statt den Fan-out als einen Status zu behandeln.
POST /api/restream/getStat
Eine erfolgreiche Create-Antwort bestätigt die Konfiguration, nicht den Medienzustand. Starten Sie die Ressource und prüfen Sie ihre Laufzeitstatistik, bevor Sie Produktionsverkehr senden.
Einen Live-Stream für sein Ziel transkodieren
Erstellen Sie einen Restream mit benötigtem Codec, Bitrate, Auflösung oder Audiokonvertierung und prüfen Sie anschließend den Worker in der Laufzeitstatistik.
- Transcode definierenWählen Sie Ein- und Ausgangs-Presets und setzen Sie nur benötigte Transcoding- und Medienfelder.
POST /api/restream/create - Verarbeitung startenStarten Sie nach Prüfung von Ziel-Codecs, Auflösung, Bitrate und Zugangsdaten.
POST /api/restream/start - Worker-Zustand prüfenBeobachten Sie Bitrate, Bildrate und Prozessstatus auf Stillstand oder fehlende Kapazität.
POST /api/restream/getStat
Aktivieren Sie nur die vom Ziel benötigte Verarbeitung. Transcoding benötigt deutlich mehr CPU oder GPU als Remuxing.
Kontinuierliches Datei-Playout zu einem Live-Ziel betreiben
Registrieren oder laden Sie das Medienobjekt hoch, verwenden Sie es als endlosen Datei-Eingang eines Restream-Jobs und überwachen Sie die dauerhafte Ausgabe.
- Mediendatei vorbereitenLaden Sie die Quelle hoch und behalten Sie die zurückgegebene Datei-ID für den Playout-Eingang.
POST /api/files/uploadFile - Looping-Playout erstellenVerwenden Sie den endlosen Datei-Eingang und konfigurieren Sie Live-Ziel sowie nötige Verarbeitung.
POST /api/restream/create - Kanal überwachenPrüfen Sie Prozess und Ziel-Bitrate als Teil der dauerhaften Zustandskontrolle.
POST /api/restream/getStat
Der geprüfte Loop-Eingabetyp ist INPUT_TYPE_FILE_VIDEO_INFINITY; input_module_id muss eine vorhandene verwaltete Datei bezeichnen.
Erstellen Sie eine verwaltete Medienpipeline mit Quelle, Ziel, optionaler Transcodierung, Audio- oder Videoanpassungen, Overlays und anfänglichem Aktivstatus. Senden Sie das API-Token im x-access-token-Header.
Für RIST-URLs verwenden Sie INPUT_TYPE_RIST_URL für input.input_type oder OUTPUT_TYPE_RIST_URL für output.output_type. Ein RIST-Ausgang sendet MPEG-TS an output_stream_url.
Anfragebeispiele
Wählen Sie die Betriebsvoreinstellung aus, die mit Quelle und Ziel übereinstimmt, und fügen Sie dann nur die Verarbeitungsfelder hinzu, die von dieser Pipeline benötigt werden.
Typische Anwendungsfälle
- Veröffentlichen Sie einen Contribution-Feed auf einer Social-Media-Plattform oder über ein CDN.
- Verbinden Sie SRT, RTMP, RIST, HLS oder einen anderen unterstützten Transport.
- Transcodieren, überlagern oder verteilen Sie eine Quelle auf mehrere zielspezifische Ausgänge.
Verwenden Sie diese Voreinstellung, wenn ein eingehender SRT-Contribution-Stream an ein RTMP-Ziel wie eine soziale Plattform oder ein anderes verwaltetes RTMP-Ziel weitergeleitet werden soll.
Dies ist der häufigste Restream-Workflow: SRT empfangen, Transcodierung deaktiviert oder minimal halten und das Ergebnis an eine RTMP-Ausgabe senden.
Verwenden Sie diese Voreinstellung, wenn der Job eine SRT-Quelle mit einem anderen SRT-Ziel verbinden soll, während die Pipeline als verwaltetes Prozessobjekt erhalten bleibt.
Dies ist nützlich, wenn Ingest und Ausgabe getrennt bleiben sollen, aber innerhalb eines aktiven Restream-Jobs verwaltet werden.
Verwenden Sie diese Voreinstellung, wenn Sie HLS als Eingabe verwenden und die Medienpipeline für Monitoring, Tests oder Messungen ausführen möchten, ohne Medien an ein externes Ziel zu senden.
Verwenden Sie diese Konfiguration für kontrollierte Wiedergabeprüfungen und Prüf-Workflows, die aus einem Restream-Job erstellt wurden.
Lesbarer Jobname. Das Dashboard validiert dies als erforderliches Feld.
Die Eingabedefinition wird durch das Dashboard InputSource erstellt. Dieses Objekt bestimmt den Quelltransport oder die Modulverbindung. URL-basierte RIST-Eingabe verwendet INPUT_TYPE_RIST_URL mit input_stream_url.
Ausgabedefinition, die durch das Dashboard OutputSource gesteuert wird. Dieses Objekt bestimmt, wohin die Pipeline das Ergebnis sendet oder es bereitstellt. URL-basierte RIST-Ausgabe verwendet OUTPUT_TYPE_RIST_URL mit output_stream_url; die Engine sendet MPEG-TS auf diesem Pfad aus.
Optionales Transcodierungsprofil für die FFmpeg-Pipeline. Das Dashboard übermittelt diesen Block immer, auch wenn die Transcodierung deaktiviert ist.
Optionale Einstellungen zur Audiobearbeitung: Das Dashboard sendet ein Objekt mit deaktiviertem Zustand, wenn keine Audioänderung angefordert wird.
Optionale Videoänderungseinstellungen, die für Passthrough-Jobs in einem deaktivierten Zustand bleiben können.
Optionale Overlay-Einstellungen: Der Erstellungsablauf kann weiterhin ein explizit deaktiviertes Overlay-Objekt senden.
Kontrolliert, ob der Job nach der Bereitstellung aktiv sein soll.
Ressourcen-ID, die beim Erstellen oder Auflisten des Restream-Jobs zurückgegeben wird.
Kurzform für _id.
Name, der für den Restream-Job gespeichert ist.
Vollständig aufgelöstes Eingabeobjekt oder aufgelöste Eingabeobjekte für die Pipeline.
Vollständig aufgelöstes Ausgabeobjekt oder aufgelöste Ausgabeobjekte für die Pipeline.
Verarbeitungseinstellungen, die auf dem Jobobjekt gespeichert sind.
Aktueller Aktivstatus des Restream-Jobs.
Zeitstempel, die vom Backend verwaltet werden.
Bei erfolgreicher Ausführung enthält die Antwort success: true.