ktoto2011
ktoto2011
> 大timeout,多试几组数据看哪个比 谢谢,我们这边调整试试效果
> 卡顿的问题主要是丢数据 https://github.com/espressif/esp-adf/blob/master/examples/protocols/components/av_stream/av_stream.c#L695 这一行代码没有任何等待,如果fifo满了就会有问题,可以通过加大buffer或者适当的delay来实现。如果是实时流的话由于进入的比较均衡问题不大,如果是生成的stream由于瞬间会产生大量的数据,导致没有可用buffer就会丢数据。加大buffer会导致delay加大,增加delay会导致卡住网络发送。这里需要一个权衡,你可以加大下fifo size,加大timeout,多试几组数据看哪个比较理想 > > av_stream->ringbuf_dec = rb_create(3*av_stream->config.hal.audio_framesize, 1); 加大fifo size 是调整 av_stream->ringbuf_dec = rb_create(3*av_stream->config.hal.audio_framesize, 1); n*av_stream->config.hal.audio_framesize 中n的值吗,调 成8/20 ,AI 对讲还是卡顿,跟sip 传过来的声音有关系吗
@TempoTian 还得麻烦你有空帮忙分析下
I (562991) SIP: [2025-07-08/10:47:29]=======================>> read 00 70 read 00 ffffffe6 W (565993) SIP: read timeout W (565993) SIP: CHANGE STATE FROM 96, TO 2, :func: _sip_request_bye:1657 卡顿的时候,偶尔会出现read timeout,还有出现卡顿后,就会影响产品挂断的相关操作,是解码过程中占用芯片资源太多导致的吗,可以在那个方向优化
> 抓个包看下,感觉网络进不来数据了 好的,测试发现网络对通话影响比较大。我这边再测试看看效果
sip 每次注册端口号都是随机变化的
这个抓包是,设备端更换端口号重新注册sip,但是它上一个链接(端口号56099)已经建立通话了,此时服务端往旧端口56099给的bye应答,设备端没办法回复。
> 试一下attach的库看看, 库本身支持过期之后自动register的之前代码有bug应该导致RTP连接之后不能register了。 [libesp_media_protocols.zip](https://github.com/user-attachments/files/17698934/libesp_media_protocols1.zip) 好的,非常感谢您及时回复。我这边先测试下
> Register每次注册使用随机的port是出于安全考虑,在RTP连接的过程中重新register对RTP没啥影响,不过register之后服务器还用之前的port发送BYE应该是server有问题,用了缓存的port,我一会改一个版本让在RTP连接的过程中如果发送过期重新Register的动作就用之前的port,你再试试看有没有改善。 您好,请问一下这边实现的是在esp32 上面吗,我这边的硬件是esp32s3(ESP32-S3-Korvo-2),idf 是4.4.7 adf 2.7。现在覆盖文件到C:\Espressif\frameworks\esp-adf-v2.7\components\esp-adf-libs\esp_media_protocols\lib\esp32s3,编译报错。
或者您告知你这边的编译环境版本是那个版本。我试试