Расшифровать Opus-48 с помощью Wireshark

Я хочу захватить и декодировать разговор VoIP с помощью кодеков Opus-48. Я использую Wireshark для захвата пакетов. Есть ли в сети бесплатные декодеры?? Wireshark не сохраняет двусторонний разговор, поскольку он работает для других схем кодирования, таких как G-729.


person user3640612    schedule 15.05.2014    source источник


Ответы (2)


У вас есть два варианта. Либо используйте библиотеку libopus напрямую, либо преобразуйте свои RTP-пакеты в файлы Ogg Opus, а затем используйте любой проигрыватель, поддерживающий Opus (Firefox, Chrome, VLC, ...), для воспроизведения файла Ogg. Во всех случаях следует начинать с http://opus-codec.org/.

person Jean-Marc Valin    schedule 15.05.2014
comment
любая идея, как конвертировать rtp-пакеты в файлы ogg opus. Пытался использовать инструменты opus, но, похоже, у него нет инструмента для этого. - person Shasi; 03.06.2015

Расшифруйте opus RTP pcap с помощью скрипта Python здесь https://github.com/kamanashisroy/opus_stream_tool

Получив pcap, мы можем выбрать UDP-пакет в потоке и отфильтровать его либо по udp.srcport/udp.dstport, либо по rtp.ssrc.

Теперь мы можем преобразовать файл pcap в шестнадцатеричный дамп.

tshark -x -r in.pcap -Y "udp.srcport == myport" | cut -d " " -f 1-20 > tmp.txt

Наконец, мы можем использовать инструмент hex_to_opus для записи файла opus в кодировке ogg.

hex_to_opus.py -x tmp.txt --recordfile out.opus --rtpoffset 42

Обычно, если это IPv4, rtp-смещение равно 42. Найдите начало полезной нагрузки udp в описании пакета wireshark.

person shuva    schedule 09.09.2019