gpt4 book ai didi

audio - Websocket丢帧?

转载 作者:行者123 更新时间:2023-12-03 01:37:43 25 4
gpt4 key购买 nike

试图解决一个令人困惑的问题,即通过网络套接字流音频。我们正在使用Nexmo(Twilio的竞争对手),它可以通过websocket双向传输 call 音频。 Nexmo连接到我们的Websocket服务器,并开始发送每个长度为640字节的16khz采样音频帧。

一切都运转良好,直到最近Websocket音频突然开始掉落成帧的帧,从而导致音频间隙。

但是,最有趣的是以下内容:

  • 当Nexmo直接连接到我们的digitalocean vps时,帧被丢弃
  • 当Nexmo通过ngrok隧道连接时,一切再次开始工作

  • 关于在哪里寻找真正的解决方案的任何想法都会很棒。

    最佳答案

    确保接收websocket流量的进程有一个单独的线程来处理该流量...如果任何系统都忙于其他任务,任何系统都会丢弃流量...如果您的接收端有一些事件循环在抢占时保持通过传入的websocket中断,您将丢弃数据包

    我做了一个项目,其中接收端是浏览器,该浏览器正在运行事件循环以执行音频呈现,同时还处理websocket流量-这不是一个好主意,因为必须不允许抢占该事件循环的关键部分。我必须在浏览器端创建一个webworker进程来处理所有websocket流量,然后填充一个环形音频缓冲区...该Webworker被浏览器事件循环视为客户端,该循环呈现音频,但现在从未允许被传入的流量抢占...仅当浏览器事件循环达到其平静期时,它才请求检索由Webworker音频缓冲区队列缓冲的另一数据数据

    关于audio - Websocket丢帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50881593/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com