ffmpeg - Audio Streaming mit vorbis Codec über RTP


0

Ich versuche, Audio-Streaming mit einzurichten RTP Protokoll und Vorbis Codec. Beginnend mit einem minimalen Beispiel - generierte Mono - Samples mit Sender und Empfänger auf demselben Computer (zwei Instanzen von ffmpeg, Version N-91266-g8c20ea8ee0):

Zuerst Absender ausführen und SDP in Datei speichern:

ffmpeg -re -f lavfi -i aevalsrc="sin(400*2*PI*t)" -acodec libvorbis -f rtp rtp://127.0.0.1:1234 -sdp_file "g:\sinwave.sdp"

Dann Empfänger:

ffmpeg -protocol_whitelist "file,udp,rtp" -i "g:\sinwave.sdp" -v debug "g:\1.ogg"

Die empfangenen Daten werden nur zum Beispiel in einer Datei gespeichert. Eigentlich ist geplant, sie in eine Pipe oder einen Socket zu schreiben.

Aber ich verstehe ffmpeg Fehler auf der Empfängerseite:

[sdp @ 0000000000573580] Bad packed header lengths (30,0,2923,3219)
[vorbis @ 0000000000587940] Extradata missing.
Error while opening decoder for input stream #0:0 : Invalid data found when processing input

Welche Optionen habe ich verpasst ffmpeg auf einer der seiten?

Antworten:


0

Sieht aus wie das Erstellen der SDP-Datei mit -sdp_file Parameter funktioniert nicht richtig, hier ist die funktionierende Befehlszeile für den Absender, in der die SDP-Datei mit der Umleitung der Prozessausgabe erstellt wurde ( > Charakter):

ffmpeg -re -f lavfi -i aevalsrc="sin(400*2*PI*t)" -acodec libvorbis
-f rtp rtp://127.0.0.1:1234 > "g:\sinwave.sdp"

Die resultierende SDP-Datei hat eine Größe von 4503 Bytes (anstelle von 4095 Bytes) und ist größer configuration= Linie; endlich beides ffmpeg und ffplayer kann Streams mit dieser SDP-Datei empfangen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.