【问题标题】:How to get audio data from rtp packet...?如何从 rtp 数据包中获取音频数据...?
【发布时间】:2012-10-18 12:16:27
【问题描述】:

我正在使用 .net 通过 pcap.net 进行通话记录。

到现在我已经得到了 rtp 数据包。长度为32字节。

使用的编解码器是G729,载荷类型是18。

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

我需要获取实际的 rtp 有效负载。 请帮助我...

【问题讨论】:

  • 为什么使用 ASCII? RTP 是否使用 ASCII 编码对数据进行编码?
  • 对不起,那是我的错误。只有 udp.Payload.ToHexadecimalString() 就足够了。不需要 ascii 编码。

标签: c# .net rtp pcap.net


【解决方案1】:

我从 rtp 数据包中得到了声音。

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

然后完成以下步骤....

  1. 通过 g729 解码器将原始文件转换为 pcm 文件。 (下载自www.voiceage.com/openinit_g729.php
  2. 将该 pcm 文件导入到类似 , import->raw data 的大胆中。
  3. 然后播放声音。
  4. 导出为 wav 格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    相关资源
    最近更新 更多