3

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

4

2 回答 2

1

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

于 2014-05-15T19:57:37.540 回答
1

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

udp.srcport一旦我们有了 pcap,我们就可以在流中选择一个 UDP 数据包,并通过/udp.dstport或 by过滤掉它rtp.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 有效负载的开始。

于 2019-09-09T20:42:42.180 回答