如何为双向音频发送音频API HIKVISION?

Jos*_*dez 5 camera

我需要帮助以了解为什么在将音频发送到相机时会很快听到丑陋的声音。相机已配置音频编解码器G711Ulaw

我正在做的过程如下:

  • 我下载了wav音频并转换为配置了摄像机的编解码器,这些都是证据转换。

    ffmpeg -i padrino.wav -acodec pcm_mulaw -ar 8000 -ac 1 -b:a 32k output.wav  
    ffmpeg -i padrino.wav -acodec pcm_mulaw -ar 8000 -ac 2 -b:a 32000 output.wav  
    ffmpeg -i padrino.wav -f mulaw -acodec pcm_mulaw -ac 1 output.wav  
    ffmpeg -i padrino.wav -ar 8000 -ac 1 -ab 64k -f mulaw output.ulaw
    
    Run Code Online (Sandbox Code Playgroud)
  • 启用双向音频,在“ data.xml”中的是启用双向音频的xml:

    curl -H "application/xml" -X PUT -d @data.xml USER:PASS@IPCAM/ISAPI/System/...hannels/1/open
    
    Run Code Online (Sandbox Code Playgroud)
  • 我通过卷发发送

    curl -H "application/binary" -X PUT -d @output.ulaw USER:PASS@IPCAM/ISAPI/System/...ls/1/audioData
    
    Run Code Online (Sandbox Code Playgroud)

    要么

    curl -H "application/binary" -X PUT -d @output.wav USER:PASS@IPCAM/ISAPI/System/...ls/1/audioData
    
    Run Code Online (Sandbox Code Playgroud)

这是在相机中听到的,但是正如我一开始所解释的那样,我听错了,我失真得很快。我究竟做错了什么?

问候

tob*_*oby 1

我已经找到了原因 - 它与编码无关。我编写了一个 C# 应用程序来测试这一点,如果您以预期的速率(每秒 8000 个样本)发送数据,那么它会正确播放。

我以数据包的形式发送音频数据(目前为 160 字节,但正在尝试最佳值,但只要延迟正确,似乎并不重要),并在再次发送之前延迟适当的时间,以便获得正确的样本量一秒钟就发送了。