我有一个涉及SILK的 VoIP 呼叫的 pcap 。我可以在 Wireshark 中看到 RTP 有效负载。从 RTP 标头中,我可以了解采样率(例如 24 KHz)和帧大小(例如 20 毫秒)。我想做的是提取 RTP 有效负载并生成一个包含 SILK 编码音频的文件。从RTP有效载荷格式描述我可以看到,在存储在文件中的情况下,每个音频块都需要一个块头,来指定采样率和块大小(因为块大小是可变的,并且每帧可以不同)。
如何生成具有正确文件头(“幻数”)的文件并为每个音频块添加块头?
我可以使用几种不同的编程语言,所以我主要对所需的算法感兴趣,但希望能参考代码实现(或者可能是一些现有的工具?)。