media server logo
Dokumentationsnavigation ein- oder ausblenden
Callaba-Startseite

SRT-Server

Verwenden Sie SRT-Server, um sichere Contribution-Streams mit niedriger Latenz von Remote-Encodern oder Partnersystemen über verwaltete SRT-Ingest-Endpunkte zu empfangen. Steuern Sie den Zugriff für Publisher und Receiver, überwachen Sie den Live-Transportzustand in der authentifizierten Callaba-Oberfläche und bereiten Sie primäre sowie sekundäre PULL-Routen für Neuverbindung und Rückfall nach einer Unterbrechung vor.

FunktionAusfallsicheren SRT-Contribution-Stream empfangen

Geeignet, wennSie benötigen verwalteten SRT-Ingest mit Zugriffsregeln, Transporttelemetrie sowie Primär- und Backup-Failover.

Anderes Modul verwenden, wennVerwenden Sie SRT-Routen für unveränderte Weiterleitung oder Restreams für Transcodierung, Overlays und andere Ausgabeprotokolle.

1SRT-Quelle verbinden2Überwachen und absichern3Routen oder aufzeichnen
POST /api/srt-servers/create
9 Endpunkte

Voraussetzungen

Alle Verwaltungsmethoden erfordern einen gültigen x-access-token. Reservieren Sie erreichbare SRT-Ports, stimmen Sie Latenz und Passphrase mit dem Sender ab und legen Sie den Zugriff für Publisher und Receiver fest, bevor Sie Verbindungsdetails weitergeben.

Funktionen

  • create und update konfigurieren Ports, Latenz, Bandbreite, Empfangspuffer, Passphrase, Zugriff, Callbacks und Routing-Hosts.
  • getAll, getCount und getById inspizieren Server.
  • start und stop steuern den Listener.
  • switchTo validiert und speichert eine bevorzugte konfigurierte PULL-Route. Wenden Sie die gespeicherte Präferenz in einem geplanten Wartungsfenster mit stop und start an.
  • remove löscht den Server.

Beispiel-Workflow

  1. Erstellen Sie einen Listener mit den erforderlichen Port-, Latenz-, Passphrasen- und Zugriffsregeln.
  2. Fügen Sie primäre und Backup-Routing-Hosts hinzu, wenn ein Failover erforderlich ist.
  3. Starten Sie den Server und verbinden Sie den Publisher.
  4. Beobachten Sie Live-Bitrate, geschätzte Bandbreite, Roundtrip-Zeit, Puffer und Verlustzähler in der Callaba-Operator-Oberfläche.
  5. Unterbrechen Sie die Primärquelle in einem kontrollierten Abnahmetest und bestätigen Sie in der authentifizierten Operator-Oberfläche, dass Neuverbindung und Routing-Host-Schleife eine vorbereitete Backup-Quelle erreichen.

Typische Anwendungsfälle

  • Empfangen Sie verschlüsselte Contribution-Streams von einer Remote-Kamera oder einem Encoder am Veranstaltungsort.
  • Betreiben Sie konfigurierte primäre und sekundäre SRT-PULL-Feeds mit Neuverbindung und Rückfall nach einer Unterbrechung.
  • Steuern Sie den Publisher- und Receiver-Zugriff für Partner- oder Gastverbindungen.
  • Überwachen Sie den Verbindungszustand und -ursprung während einer Live-Veranstaltung.

Einschränkungen und Fehlerbehebung

Sender und Listener müssen Modus, Port, Latenz, Stream-Identität und Passphrase identisch konfigurieren. Failover ist nicht grundsätzlich unterbrechungsfrei: Erkennungs- und Wiederherstellungszeit hängen von Quelle, Ziel, Neuverbindungsintervall, Puffer, Latenz und Netzwerk ab. switchTo speichert eine konfigurierte Routenpräferenz, lädt jedoch keinen laufenden Relay neu. Wenden Sie sie mit einem kontrollierten Stopp und Start an und prüfen Sie anschließend den Live-SRT-Zustand in der authentifizierten Callaba-Operator-Oberfläche.

Nächste Schritte

Prüfen Sie den Live-Feed und verbinden Sie den Server anschließend mit SRT-Routen, Restreams, Aufzeichnungen, Multiview oder Webplayern.

REST-Lösungsrezept

Ein SRT-Server-Gateway für Contribution aufbauen

Erstellen Sie einen sicheren SRT-Ingest für einen Remote-Production-Feed, starten Sie ihn und prüfen Sie die gespeicherte Zugriffs- und Routing-Konfiguration vor dem Downstream-Routing.

  1. SRT-Gateway erstellenLegen Sie Ports, Latenz, Passphrase, Publisher-/Receiver-Zugriff und Routing fest.POST /api/srt-servers/create
  2. Contribution-Ingest startenStarten Sie den Listener, bevor Sie Verbindungsdaten mit der Quelle teilen.POST /api/srt-servers/start
  3. Gespeichertes Gateway prüfenPrüfen Sie Ports, Zugriffsdatensätze, Routing-Hosts und Aktivstatus über die authentifizierte Ressource.POST /api/srt-servers/getById

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.

REST-Lösungsrezept

Primäre und sekundäre SRT-Routen vorbereiten und prüfen

Konfigurieren Sie freigegebene Primär- und Backup-Quellen auf einem PULL-Server, prüfen Sie den gespeicherten Routensatz und validieren Sie das Neuverbindungsverhalten bei einer kontrollierten Quellenunterbrechung.

  1. Quellensatz konfigurierenErstellen Sie einen PULL-Server mit Primär- und Backup-URLs in routing_hosts.POST /api/srt-servers/create
  2. Gespeicherten Routensatz prüfenBestätigen Sie PULL-Routing und alle freigegebenen primären und sekundären Hosts.POST /api/srt-servers/getById
  3. Konfigurierten Relay startenStarten Sie den Server erst nach Prüfung von Routenreihenfolge und Verbindungseinstellungen.POST /api/srt-servers/start
  4. Abnahmefenster sicher beendenStoppen Sie nach der Prüfung von Primärausfall und Backup-Wiederherstellung in der Operator-Oberfläche bei Bedarf die temporäre Abnahmelaufzeit.POST /api/srt-servers/stop
  5. Produktionsrouten finalisierenWenden Sie geprüfte Timeout- oder Routenreihenfolge-Korrekturen im kontrollierten Wartungszustand an.POST /api/srt-servers/update

Dies ist neuverbindungsbasierte Wiederherstellung zwischen konfigurierten Quellen, keine paketbasierte unterbrechungsfreie Pfadredundanz. Prüfen Sie die Wiederherstellung mit echtem Media-Traffic in der authentifizierten Callaba-Operator-Oberfläche.

Wartungssicherer REST-Workflow

Bevorzugte SRT-Quelle beim nächsten kontrollierten Start anwenden

Prüfen Sie die konfigurierten PULL-Routen, stoppen Sie den Relay in einem geplanten Fenster, speichern Sie die bevorzugte Quelle und starten Sie den Server, damit Engine die Laufzeit mit dieser Präferenz neu erzeugt.

  1. Primär- und Backup-Quelle registrierenErstellen Sie einen PULL-Server, dessen routing_hosts jede URL enthält, die die Richtlinie auswählen darf.POST /api/srt-servers/create
  2. Zugelassenen Routensatz prüfenBestätigen Sie PULL-Modus und exakte gespeicherte URLs vor dem Wartungsfenster.POST /api/srt-servers/getById
  3. Laufenden Relay stoppenWechseln Sie vor der Änderung der gespeicherten Routenpräferenz in einen kontrollierten Wartungszustand.POST /api/srt-servers/stop
  4. Bevorzugte Quelle speichernSenden Sie die Server-ID und eine exakte, bereits in routing_hosts vorhandene srt_url.POST /api/srt-servers/switchTo
  5. Neu erzeugen und startenStarten Sie den Server, damit die Relay-Konfiguration mit der gespeicherten Routenpräferenz neu erzeugt wird, und prüfen Sie anschließend das Live-Medium in der Operator-Oberfläche.POST /api/srt-servers/start

switchTo validiert und speichert die konfigurierte Routenpräferenz, lädt jedoch keinen laufenden Relay neu. Behandeln Sie stop, switchTo und start als eine geplante Wartungstransaktion.

REST-Lösungsrezept

SRT-Publisher- und Receiver-Zugriff steuern

Wählen Sie beim Erstellen eine offene Gast-Grenze, eine IP-Allowlist oder einen passwortgeschützten Listener und prüfen Sie die befüllten Zugriffsdatensätze, bevor Sie Verbindungsdaten verteilen.

  1. Zugriffsgrenze erstellenSetzen Sie stream_control_type und access_settings für die gewählte Richtlinie zusammen mit Ports, Latenz und optionaler Passphrase.POST /api/srt-servers/create
  2. Gespeicherte Zugriffe prüfenLesen Sie die befüllte Zugriffsrelation und bestätigen Sie Publisher- und Receiver-Rollen vor der URL-Freigabe.POST /api/srt-servers/getById
  3. Richtlinie sicher wechselnSenden Sie beim Wechsel zwischen Gast-, Allowlist- oder geschütztem Betrieb den vollständig gewünschten Server- und Zugriffszustand.POST /api/srt-servers/update

CONTROL_ACCESS_ALLOW_ALL akzeptiert beliebige Publisher- oder Receiver-Identitäten und sollte nur für bewusste Gast-Workflows verwendet werden. Nutzen Sie CONTROL_ACCESS_IP_ADDRESS mit access_settings für bekannte Hosts und ergänzen Sie bei Bedarf eine SRT-Passphrase.

POST
/api/srt-servers/create
API-Token erforderlich

Erstellen Sie einen SRT-Listener mit Ports, Latenz, Pufferung, Verschlüsselung, Routing, Monitoring und Zugriffskontrolle. Senden Sie das im Dashboard erzeugte JWT im x-access-token-Header.

Wählen Sie über routing_type einen Standalone-, Push- oder Pull-Listener. Senden Sie kein separates server_fc-Feld; Callaba berechnet die Flusssteuerung aus server_rcvbuf.

Einheiten sind signifikant: server_latency ist Millisekunden, server_timeout sind Sekunden, server_maxbw sind Bytes pro Sekunde und server_rcvbuf sind Bytes.

Anfragebeispiele

Wählen Sie eine Voreinstellung ohne Routing, mit Public-IP-Routing, Callaba-Routing oder erweiterten Sicherheits- und Monitoring-Einstellungen. Für eine operatorgesteuerte Bereitstellung steht außerdem ein Beispiel unter vMix Script bereit.

Typische Anwendungsfälle

  • Stellen Sie OBS, einem Feld-Encoder oder einem Partner-Feed einen stabilen Contribution-Endpunkt bereit.
  • Konfigurieren Sie das Push- oder Pull-Routing für eine Backup-Quelle oder eine verwaltete Übergabe.
  • Schützen Sie einen operativ überwachten Ingest-Endpunkt mit Passphrase, Zugriffsregeln sowie Event- und Statistik-Callbacks.
Kein Routing

Diese Beispiele halten routing deaktiviert und verwenden den Server selbst als stabilen Ingest-Endpunkt.

Standalone-SRT-Server

Verwenden Sie diese Konfiguration, wenn der Server als einfacher lokaler SRT-Ingest-Endpunkt ohne Routing-Schicht fungieren soll. Dies ist die einfachste Konfiguration und entspricht weitgehend dem Basisformular im Dashboard.

Standalone-SRT-Server
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "DISABLED",
"routing_hosts": []
}'
PUBLIC_IP Routing

Der Modus PUBLIC_IP dient der direkten Weiterleitung zu öffentlichen Netzwerkadressen. Verwenden Sie PUSH, wenn dieser Server aktiv zum entfernten Endpunkt senden soll. Verwenden Sie PULL, wenn dieser Server den Stream vom entfernten SRT-Upstream abrufen soll.

PUBLIC_IP Routing mit PUSH

Verwenden Sie diese Konfiguration, wenn der Server aktiv auf ein Public-IP-Routing-Ziel senden soll. Jeder Routing-Host benötigt einen Host und Port, während routing_server_name in diesem Modus optional bleibt.

PUBLIC_IP Routing mit PUSH
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "PUBLIC_IP",
"routing_type": "PUSH",
"routing_hosts": [
{
"routing_host": "203.0.113.50",
"routing_port": 1935
}
]
}'
PUBLIC_IP Routing mit PULL

Verwenden Sie diese Form, wenn die geroutete Seite im PULL- statt im PUSH-Modus betrieben werden soll. In der Praxis ist dies die entsprechende Public-IP-Konfiguration für einen PULL-Workflow.

PUBLIC_IP Routing mit PULL
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "PUBLIC_IP",
"routing_type": "PULL",
"routing_hosts": [
{
"routing_host": "198.51.100.22",
"routing_port": 1935,
"routing_server_name": "primary-edge-srt"
},
{
"routing_host": "203.0.113.50",
"routing_port": 1935,
"routing_server_name": "backup-edge-srt"
}
]
}'
CALLABA-Routing

Der Routing-Modus CALLABA verwendet benannte Routing-Hosts und erfordert für jedes Ziel Host, Port und Servername. Verwenden Sie PUSH, wenn dieser Server in die Callaba-seitige Route senden soll, und PULL, wenn die Callaba-seitige Route als SRT-Upstream dienen soll.

CALLABA Routing mit PUSH

Verwenden Sie diese Konfiguration, wenn der Server im PUSH-Modus zum Callaba-Cloud-Pfad routen soll. In diesem Routing-Modus muss jedes Hostelement auch routing_server_name tragen.

CALLABA Routing mit PUSH
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "CALLABA",
"routing_type": "PUSH",
"routing_hosts": [
{
"routing_host": "ingest.callaba.cloud",
"routing_port": 1935,
"routing_server_name": "callaba-route-primary"
}
]
}'
CALLABA Routing mit PULL

Verwenden Sie diese Form, wenn die geroutete Callaba-Seite im PULL- statt im PUSH-Modus arbeiten soll. Die Anforderungen an die benannten Routing-Hosts bleiben beim Wechsel des Routing-Typs unverändert.

CALLABA Routing mit PULL
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "CALLABA",
"routing_type": "PULL",
"routing_hosts": [
{
"routing_host": "ingest.callaba.cloud",
"routing_port": 1935,
"routing_server_name": "callaba-route-backup"
}
]
}'
Sicherheit und Überwachung

Diese Beispiele behalten die grundlegende Ingest-Konfiguration bei, aktivieren aber jeweils nur eine erweiterte Funktion, sodass es einfacher ist, die genauen Felder zu kopieren, die Sie benötigen.

Passphrasengeschützter SRT-Server

Verwenden Sie diese Konfiguration, wenn der Ingest-Endpunkt SRT-Verschlüsselung benötigt. Das Beispiel verwendet eine 16 Zeichen umfassende Passphrase, die laut Produktanleitung für einen mit AES-128 sicheren Schutz geeignet ist.

Geeignet für: gemeinsam genutzte Ingest-Endpunkte, Partner-Contribution und alle Fälle, in denen der Listener standardmäßig keine unverschlüsselten SRT-Sitzungen akzeptieren soll.

Passphrasengeschützter SRT-Server
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "DISABLED",
"routing_hosts": [],
"passphrase": "0123456789abcdef"
}'
SRT-Server mit Statistik-Callback

Verwenden Sie diese Konfiguration, wenn der Server SRT-Statistiken an einen externen Monitoring-Endpunkt senden soll. Das Backend validiert Callback-URL und Intervall gemeinsam.

Geeignet für: verwaltete Veranstaltungen, Support-Workflows und dauerhaft laufende Ingest-Endpunkte, deren Telemetrie ohne regelmäßige Abfrage des vollständigen Serverobjekts extern erfasst werden soll.

SRT-Server mit Statistik-Callback
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "DISABLED",
"routing_hosts": [],
"stats_host": "https://monitoring.example.com/api/srt-stats",
"stats_interval": 2
}'
SRT-Server mit IP-basierter Zugriffskontrolle

Verwenden Sie diese Konfiguration, wenn nur bestimmte Publisher- oder Receiver-Hosts erlaubt sein sollen. Jeder Eintrag erfordert host und role_name, wenn stream_control_type CONTROL_ACCESS_IP_ADDRESS ist.

Geeignet für: kontrollierten Ingest von bekannten Standorten oder festen Peer-Adressen.

SRT-Server mit IP-basierter Zugriffskontrolle
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true,
"routing": "DISABLED",
"routing_hosts": [],
"stream_control_type": "CONTROL_ACCESS_IP_ADDRESS",
"access_settings": [
{
"host": "203.0.113.44",
"role_name": "publisher"
},
{
"host": "203.0.113.45",
"role_name": "receiver"
}
]
}'
Parameter im Request-Body
Grundeinstellungen
server_name
string
Direktlink kopieren

Dashboard-Bezeichnung: Name.

Vergeben Sie einen eindeutigen Namen, damit der Server später leicht zu erkennen ist. Die Validierung akzeptiert 1 bis 60 Zeichen.

server_type
string
Direktlink kopieren

Der aktuell validierte API-Vertrag akzeptiert SERVER_TYPE_SRT.

Das Modell enthält außerdem SERVER_TYPE_WEBRTC, aber die Validierung beim Erstellen und Aktualisieren erlaubt derzeit nur den SRT-Servertyp.

server_active
boolean
Direktlink kopieren

Dashboard-Bezeichnung: Einmal erstellt aktivieren.

„Aktiviert“ beschreibt den aktuellen Serverzustand. Durch das Deaktivieren des Servers werden Verbindungen und Datenübertragungen für alle mit diesem SRT-Server verbundenen Publisher und Receiver deaktiviert.

Ports und Latenz
server_port
integer
Direktlink kopieren

Dashboard-Bezeichnung: Port.

Listener-Port des SRT-Servers. Die Live-Validierung akzeptiert Werte von 1024 bis 65535.

server_receiver_port
integer
Direktlink kopieren

Dashboard-Bezeichnung: Receiver-Port.

Port zum Empfangen von SRT-Streams. Die aktuell validierte API erwartet auch einen Wert von 1024 bis 65535.

Die Laufzeit hat einen Fallback-Pfad, wenn dieser Port fehlt, aber der öffentliche API-Vertrag beim Erstellen und Aktualisieren erfordert ihn immer noch explizit.

server_latency
integer
Direktlink kopieren

Dashboard-Bezeichnung: Latenz.

Die Latenz wird in Millisekunden konfiguriert. Die Produktanleitung empfiehlt die Verwendung von ungefähr ping × 4, mit einem praxistauglichen Mindestwert von etwa 120 ms für einen stabilen SRT-Contribution-Stream.

Eine praktische Einrichtungsanleitung finden Sie unter Finden Sie die perfekte Latenz für Ihr SRT-Setup.

server_maxbw
integer
Direktlink kopieren

Dashboard-Bezeichnung: Maximale Netzwerkbandbreite.

Netzwerkbandbreite oder Bitrate in Byte/s. Verwenden Sie -1 für unbegrenzte Bandbreite. Die Validierung akzeptiert derzeit Werte bis zu 3125000000.

server_timeout
integer
Direktlink kopieren

Dashboard-Bezeichnung: Timeout bei Stream-Inaktivität.

Konfiguriert in Sekunden. Wenn das Timeout erreicht ist, trennt der Server den Client. -1 bedeutet unbegrenztes Timeout.

server_rcvbuf
integer
Direktlink kopieren

Dashboard-Bezeichnung: Empfangspuffergröße.

Dieses Feld wird in Bytes ausgedrückt. Die REST API akzeptiert 12058624 bis 200000000.

Das Dashboard beginnt mit 12058624 und empfiehlt 48234496 für den Produktionseinsatz. Die Flusssteuerung wird aus diesem Empfangspuffer abgeleitet, sodass Sie kein separates server_fc-Feld senden.

Sicherheit und Identität
passphrase
string
Direktlink kopieren

Dashboard-Bezeichnung: Passphrase.

Optionales SRT-Verschlüsselungsgeheimnis für den Ingest-Endpunkt. Die Dashboard-Anleitung empfiehlt eine Länge von 16, 24 oder 32 Zeichen für Passphrasen mit AES-128, AES-192 oder AES-256 sicherer Verschlüsselung.

Routing und Backup
routing
string
Direktlink kopieren

Dashboard-Bereich: Routing-Einstellungen.

Steuert, ob der SRT-Server als lokaler eigenständiger Ingest-Endpunkt oder als gerouteter Endpunkt läuft. Die validierten Werte sind DISABLED, PUBLIC_IP und CALLABA.

Diese Auswahl beeinflusst, welche Laufzeitvorlage ausgewählt wird: Standalone, PUSH oder PULL-Routing-Modus.

routing_type
string
Direktlink kopieren

Das Servermodell definiert PUSH und PULL.

routing_hosts
array
Direktlink kopieren

Liste der Routing-Ziele.

Beim CALLABA-Routing muss jedes Element routing_host, routing_port und routing_server_name enthalten. Bei PUBLIC_IP sind Host und Port erforderlich; der Servername ist optional.

Das Produkt verknüpft diesen Modus auch mit Backup-Stream-Workflows. Siehe Wie man einen SRT-Backup-Stream im Falle einer Unterbrechung des Hauptstreams einrichtet.

Statistik-Callbacks
stats_host
string
Direktlink kopieren

Optionale Callback-URL für die Übermittlung von SRT-Statistiken. Bei der Einstellung muss der Wert ein gültiger http oder https-URI sein.

stats_interval
integer
Direktlink kopieren

Intervall für die Veröffentlichung von Statistiken in Sekunden.

Die Validierung beim Erstellen und Aktualisieren akzeptiert Werte von 1 bis 10. Wenn Statistiken aktiviert sind und kein Intervall bereitgestellt wird, verwendet der Dienst standardmäßig 1.

Zugriffskontrolle
stream_control_type
string
Direktlink kopieren

Modus zur Steuerung des Stream-Zugriffs: Wenn der Wert auf IP-adressbasierte Zugriffssteuerung gesetzt ist, validiert das Backend die zugehörigen access_settings-Einträge als Host- und Rollenobjekte.

access_settings
array
Direktlink kopieren

Optionale Liste von Zugriffsregeln oder Stream-Identitäten, die zusammen mit dem Server erstellt werden.

In Antworten werden diese als zugehörige access-Einträge und nicht als ursprünglicher Request-Body angezeigt.

SRT-Server erstellen
Code kopieren
curl --request POST \
--url http://localhost/api/srt-servers/create \
--header 'x-access-token: <your_api_token>' \
--header 'Content-Type: application/json' \
--data '{
"server_name": "Awesome SRT server",
"server_type": "SERVER_TYPE_SRT",
"server_port": 1935,
"server_receiver_port": 1936,
"server_latency": 200,
"server_maxbw": -1,
"server_timeout": 60,
"server_rcvbuf": 48234496,
"server_active": true
}'
Antwort
Kennungen und Ports
_id
string
Direktlink kopieren

Ressourcen-ID, die beim Erstellen oder Auflisten des SRT-Servers zurückgegeben wird.

id
string
Direktlink kopieren

In der API-Antwort stimmt id mit _id überein.

server_name
string
Direktlink kopieren

Name, der für den erstellten SRT-Server gespeichert ist.

server_name_code
string
Direktlink kopieren

URL-freundlicher Slug, der aus server_name erzeugt wird. Das Backend erzeugt ihn durch URL-Normalisierung.

server_type
string
Direktlink kopieren

Typ des erstellten Servers, zum Beispiel SERVER_TYPE_SRT.

server_port
string
Direktlink kopieren

Listener-Port, den die API für den erstellten SRT-Server zurückgibt.

server_receiver_port
string
Direktlink kopieren

Receiver-Port, den die API für den erstellten SRT-Server zurückgibt.

server_port_id
string
Direktlink kopieren

Zugehörige UDP-Portzuweisung für die Publisher-Seite des Servers.

server_receiver_port_id
string
Direktlink kopieren

Zugehörige UDP-Portzuweisung für die Receiver-Seite des Servers.

Laufzeitprofil
server_latency
integer
Direktlink kopieren

Konfigurierter Latenzwert in Millisekunden.

server_maxbw
integer
Direktlink kopieren

Konfigurierte maximale Bandbreite in Byte/s.

server_timeout
string
Direktlink kopieren

Konfiguriertes Inaktivitäts-Timeout in Sekunden. Die API-Antwort serialisiert den Wert derzeit als String.

server_rcvbuf
integer
Direktlink kopieren

Konfigurierte Größe des Empfangspuffers in Byte. Die Flusssteuerung wird aus diesem Wert abgeleitet.

server_active
boolean
Direktlink kopieren

Ob der erstellte Server unmittelbar nach der Erstellung aktiviert ist.

Sicherheit, Routing und Monitoring
passphrase
string
Direktlink kopieren

Gespeichertes Verschlüsselungsfeld für den Server: Wenn der Passphrasenschutz aktiviert ist, speichert das Backend einen verschlüsselten Wert anstelle eines Klartextgeheimnisses.

server_publisher
string
Direktlink kopieren

Mit dem Server gespeicherte publisherseitige Stream-ID beziehungsweise URL-Präfix.

server_player
string
Direktlink kopieren

Mit dem Server gespeicherte receiverseitige Stream-ID beziehungsweise URL-Präfix.

routing_hosts
array
Direktlink kopieren

Routing-Ziele, die mit dem Server gespeichert sind. Im minimalen Standard-Erstellungsablauf ist dies ein leeres Array.

stats_interval
integer
Direktlink kopieren

Aufgelöstes Statistikintervall. Der Standardwert beim Erstellen ist 1.

Zugriff und Metadaten
access
array
Direktlink kopieren

Verknüpfte Zugriffs- und Stream-Einträge für diesen SRT-Server. getById löst diese vollständiger auf als die Antworten beim Erstellen und Aktualisieren.

server_user_id
string
Direktlink kopieren

Vom Backend ergänzte Benutzerkennung des Besitzers.

server_created
string
Direktlink kopieren

Erstellungszeitstempel, der von der API zurückgegeben wird.

server_modified
string
Direktlink kopieren

Zeitstempel der letzten Änderung.

__v
integer
Direktlink kopieren

Dokumentversionsfeld, das von der Modellserialisierung zurückgegeben wird.

success
boolean
Direktlink kopieren

Die API gibt zusammen mit dem erstellten SRT-Serverobjekt ein boolesches Erfolgsflag zurück. Bei erfolgreicher Erstellung ist es true.

Antwort: SRT-Server erstellen
JSON
Code kopieren
{
"_id": "69c1d2af28c95839e0dfea90",
"__v": 0,
"access": [],
"id": "69c1d2af28c95839e0dfea90",
"passphrase": "",
"routing_hosts": [],
"server_active": true,
"server_created": "2026-03-23T23:54:23.979Z",
"server_latency": 200,
"server_maxbw": -1,
"server_modified": "2026-03-23T23:54:23.983Z",
"server_name": "Awesome SRT server",
"server_name_code": "awesome-srt-server",
"server_player": "receiver",
"server_port": "1935",
"server_port_id": "69c1d2af28c95839e0dfeaa0",
"server_publisher": "publisher",
"server_rcvbuf": 48234496,
"server_receiver_port": "1936",
"server_receiver_port_id": "69c1d2af28c95839e0dfeaa1",
"server_timeout": "60",
"server_type": "SERVER_TYPE_SRT",
"server_user_id": "69360341db559495f643de6a",
"stats_interval": 1,
"success": true
}
POST
/api/srt-servers/getCount
API-Token erforderlich
POST
/api/srt-servers/getAll
API-Token erforderlich
POST
/api/srt-servers/getById
API-Token erforderlich
POST
/api/srt-servers/start
API-Token erforderlich
POST
/api/srt-servers/stop
API-Token erforderlich
POST
/api/srt-servers/switchTo
API-Token erforderlich
POST
/api/srt-servers/update
API-Token erforderlich
DELETE
/api/srt-servers/remove
API-Token erforderlich