Udp stream delay mit ffmpeg erzeugen

0

Ich habe einen Stream von einem RTP-Stream über UDP. Mit FFMPEG leite ich diesen Stream an einen anderen Port um. Ich würde gerne wissen, ob es eine Möglichkeit gibt, diesen Ausgangsstrom absichtlich zu verzögern.

Ein Beispiel für die aktuelle Stream-Funktion:

ffmpeg -an -i rtsp://stream-ip:port -an -r 10 -tune zerolatency -preset fast -vcodec libx264 -f mpegts udp://outgoing-ip:port

Ich möchte dem Stream eine beabsichtigte Latenzzeit von 30 bis 180 Sekunden hinzufügen. Auf diese Weise könnten Systeme am ausgehenden Ende gewarnt werden, um Videoverarbeitung mit einem gesunden Puffer durchzuführen. Hat ffmpeg eine solche Funktion, wenn nicht eine alternative Route zur Erzeugung einer solchen absichtlichen Verzögerung vorhanden ist?

scicalculator
quelle

Antworten:

0

Keine direkte Funktion, aber Sie können einen leeren Stream von N Sekunden voranstellen, um dasselbe Ziel zu erreichen.

ffmpeg -f lavfi -i nullsrc=s=WxH:d=N -an -i rtsp://stream-ip:port -filter_complex "concat" -an -r 10 -tune zerolatency -preset fast -vcodec libx264 -f mpegts udp://outgoing-ip:port

Sie müssen WxH durch die Auflösung des Eingangs-Feeds und N durch die Dauer der Verzögerung in Sekunden ersetzen.

Gyan
quelle