我想使用Opus-48编解码器捕获和解码VoIP会话。我正在使用Wireshark来捕获数据包。网上有免费的解码器吗? Wireshark不会保存双向会话,因为它适用于其他编码方案,如G-729。
答案 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.dstport
或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有效负载的开始。