2012-10-29 47 views
1

我正在使用.net来调用pcap.net进行重新编码。如何从rtp数据包获取音频数据...?

到现在我已经得到了RTP包。它的长度是32个字节。

使用的编解码器是G729和有效载荷类型为18

byte[] bytes = HexString2Bytes(udp.Payload.ToHexadecimalString());   
string rtppayload = ASCIIEncoding.ASCII.GetString(bytes); 

我需要得到实际的RTP有效载荷。 Plz帮我...

+0

为何使用ASCII?是否RTP使用ASCII编码对数据进行编码? – brickner

+0

对不起,那是我的错误。只有udp.Payload.ToHexadecimalString()已经足够,不需要ASCII编码。 –

回答

1

我已经从rtp包得到了语音。

我所做的是,转换的最后20个字节的RTP有效载荷的字节到数组,然后写入到原始格式的文件。

然后进行下面的步骤....

  1. 通过G729解码器转换的原始文件以PCM文件。 (从www.voiceage.com/openinit_g729.php
  2. 下载导入的PCM文件厚颜无耻像,导入 - >原始数据。
  3. 然后播放的声音。
  4. 导出为wav格式。