使用Wireshark解码Opus-48

时间:2014-05-15 16:00:47

标签: wireshark opus

我想使用Opus-48编解码器捕获和解码VoIP会话。我正在使用Wireshark来捕获数据包。网上有免费的解码器吗? Wireshark不会保存双向会话,因为它适用于其他编码方案,如G-729。

2 个答案:

答案 0 :(得分:1)

你有两个选择。可以直接使用libopus库,也可以将RTP数据包转换为Ogg Opus文件,然后使用任何支持Opus(Firefox,Chrome,VLC,...)的播放器播放Ogg文件。在所有情况下,您应该从http://opus-codec.org/

开始

答案 1 :(得分:0)

在此处https://github.com/kamanashisroy/opus_stream_tool使用python脚本解码opus RTP pcap

一旦有了pcap,我们就可以在流中选择一个UDP数据包,然后通过udp.srcport / udp.dstportrtp.ssrc对其进行过滤。

现在,我们可以将pcap文件转换为十六进制转储。

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

最后,我们可以使用 hex_to_opus 工具来记录ogg编码的opus文件。

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

通常如果是IPv4,则rtp-offset为42。请从数据包的wireshark描述中找到udp有效负载的开始。