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