【问题标题】:Convert a RTP sequence payload (coded with GSM\ opus\speex ) in a .wav file在 .wav 文件中转换 RTP 序列有效负载(使用 GSM\ opus\speex 编码)
【发布时间】:2014-05-25 06:48:31
【问题描述】:

我有一个包含 RTP 数据包负载的文本文件(十六进制,用 GSM\ opus\speex 编码)属于 VoIP 对话,有人知道如何将此文件转换为 .wav 音频文件吗?

我正在使用 Windows。

谢谢

【问题讨论】:

  • 通常你需要为此编写一些代码,你已经有代码了吗?
  • 不,我没有任何代码!你有吗?你能帮帮我吗?
  • 任何答案??????????????

标签: voip rtp codec speech


【解决方案1】:

.wav 只是一个文件容器,您可以拥有任何编解码器格式,并使播放器能够识别其中的编解码器。请参阅 Wiki:WAV,有关更多技术细节,请参阅 WaveFormat。它只是包装原始编解码器内容。如果您有 C 程序经验,可以使用开源代码将一种编解码器转换为 PCM。由于 PCM 是 16 位格式的原始音频数据。

但我建议了一个解决方案,但不知道它是否能满足您的要求。

  1. 安装最新的wireshark
  2. 使用wireshark 捕获RTP 数据包。
  3. 选择UDP数据包并右键单击并选择解码为选项
  4. 选择传输选项卡并选择 RTP 协议
  5. 现在您可以看到带有正确编解码器的 RTP 数据包
  6. 转到电话 -> RTP -> 流分析 -> 将 RTP 有效负载另存为 .raw

在此阶段,编解码器数据以 .raw 文件格式提供。

有可用的开放软件如SoX、ffmpeg 等...

从那里您可以将 .raw 转换为 .wav 格式。

之后您可以在 VLC (PCM, GSM, ADPM, Alaw , uLaw) 或任何其他支持的播放器 (Amr) 中播放 您不会找到 Speex、g729,因为这些是付费的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 2018-01-23
    • 2015-02-26
    • 1970-01-01
    • 2022-11-30
    相关资源
    最近更新 更多