【问题标题】:Convert an audio file into a pcap with codec G722使用编解码器 G722 将音频文件转换为 pcap
【发布时间】:2018-10-22 15:08:39
【问题描述】:

我需要将音频文件(任何常见格式)转换为rtp stream,并使用G.722 编解码器保存在.pcap 文件中。

生成的.pcap 文件将使用 SIPp 发送:

<exec play_pcap_audio="g722.pcap"/>

我知道如果.wavcorrectly encoded:,也可以使用以下命令发送.wav 文件

<exec rtp_stream="g711.wav"/>

但似乎不可能用G722 编码.wav

网络上有多种解决方案,关于如何将 .pcap 转换为音频文件,但我实际上正在寻找相反的解决方案。

【问题讨论】:

    标签: voip rtp pcap telephony sipp


    【解决方案1】:

    wav 音频转换为.pcap 文件的步骤:

    1. 将音频拆分为 20 毫秒的块
    2. 使用G.722 编码器对每个块进行编码
    3. 为每个编码块创建 RTP 标头
    4. 将RTP流保存​​到.pcap

    我没用过SIPp,但是如果它可以处理编码的G.722流,那就用ffmpeg进行编码:

    ffmpeg -i sample.wav -ar 16000 -acodec g722 sample.g722
    

    【讨论】:

    • 谢谢你的回答,我对这个回答很有信心。我需要一些时间来测试一下
    【解决方案2】:

    获取支持 wav 文件作为源和 G.722 编解码器的软电话,在仅启用 G.722 的情况下拨打电话,将 RTP 流捕获到 pcap。

    【讨论】:

    • 这是一个有趣的解决方法,但我找不到能够发送音频文件的软电话,而且我不会播放音频文件并将麦克风放在扬声器附近(或者我是吗? )。你知道一些可以让我流式传输音频文件的软件电话吗?
    • 一些带有 wav 输入的软电话:pjsua(跨平台)、baresip(跨平台)、tSIP(Windows)。对于 baresip 或 tSIP,您可能需要先将文件转换为具有 16k 采样的单声道、16 位 PCM(匹配 G.722),pjsua 更灵活。与任何软件电话一起使用的一种快速解决方案是使用音频线将信号连接到线路输入。
    猜你喜欢
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 2011-03-16
    • 2015-09-18
    • 1970-01-01
    相关资源
    最近更新 更多