Konvertieren einer Raw-g722-Datei in eine WAV-Datei mit SOX

4944
Joel Lewis

Ich versuche, einige VOIP-Probleme zu beheben, und habe die Pakete für die Problemanrufe erfasst. Meine Anrufe sind jedoch alle in g722 codiert, und ich habe Probleme, dies zu decodieren.

Ich habe die RTP-Payload extrahiert und habe sie derzeit als Rohdatei. Die einzige Information, die ich finden kann, ist dieser Link:

https://ask.wireshark.org/questions/26607/coverting-g722-payload-to-wav

Aber ich kann nicht herausfinden, wie man das g722 raw in eine verwendbare Wave-Datei bringt. Alle Punkte in die richtige Richtung wären hilfreich.

0
Ich bin auch auf der gleichen Spur gewesen. Was ich gefunden habe war, dass SOX g722 nicht unterstützt !! Am Ende musste ich meinen eigenen Konverter schreiben :( Shane Powell vor 8 Jahren 0
@ShanePowell Eine Chance, die Sie mit der Welt teilen möchten? Joel Lewis vor 8 Jahren 0

3 Antworten auf die Frage

2
Peter Cox

FFMPEG funktioniert gut, aber die vorgeschlagenen Argumente funktionieren nicht. Ich benutzte:

ffmpeg -f g722 -i input.raw -acodec pcm_s16le -ar 16000 output.wav 

Optionen, die auf Eingabedateien angewendet werden, sollten vor dem Dateinamen stehen, wobei .wavin der Ausgabedatei das Format definiert wird.

1
Shane Powell

Laut meinem Kommentar unterstützt SOX g722 nicht.

Am Ende habe ich einen eigenen Konverter mit interner Codec-Unterstützung innerhalb des Unternehmens erstellt, für das ich arbeite. Aus diesem Grund kann ich diese Version nicht veröffentlichen.

Ich habe es dann mit der Open Source-Bibliothek NAudio neu geschrieben .

Sie finden es hier: https://github.com/shanepowell/G722Converter

Sie können eine kompilierte Version hier herunterladen: https://github.com/shanepowell/G722Converter/releases/latest

Das .net Framework v4.5 muss installiert sein, damit es ausgeführt werden kann.

1
user1772710

FFMPEG kann auch die Arbeit erledigen

ffmpeg -i g722_input_file.raw -f g722 -acodec pcm_s16le -ar 16000 out.pcm