请问下大佬们:
我们这里用 freeswitch 做了个通话系统,用户端是 web 用 jssip 通过 webrtc 。 目前排查出来问题应该就是用户的延迟高,出在用户电脑与 freeswitch 的纯语音流 webrtc 上。
后来一次远程用户电脑的时候,远程延迟大,并且发现远程画面中用户百度出的北京时间就比我百度的慢两秒多,让他语音中读秒确实也慢两秒,而 ping 服务器是 30ms 。 某成熟远程软件的通信和我们自己写的 webrtc 都存在这个问题,我觉得是用户网络环境有问题了。
后来为了更加准确,我找了一个地域距离更远的朋友远程和 webrtc 语音,ping 的结果是 40+,但是不管第三方远程画面还是我们自己写的 webrtc 语音流都只差了半秒不到。
不知道该如何排查,还望大佬们指点下
1
z1113456051 135 天前
有缓存吧
|
2
IsuYww83LvR48EaC 135 天前
我们当时也遇到该问题,可以看看是不是从呼入端到 FS 或者 FS 到呼出端的延迟时间导致的
|
3
txzh007 135 天前
走没走 turn?
|
4
toss156 135 天前
webrtc 和 ping 两者走的链路不一样,webrtc 可能走了服务端转发了
|
5
basncy 135 天前
语音有没有转码.
视频有没有硬编解码. |
7
iSNN OP @jiaqizhang 请问这个怎么看呢,我 sngrep 抓包也看不出所以然,只能看出建立 rtp 的时间,看不出中间流的延迟
|
8
iSNN OP @basncy 我记忆中好像是 opus ,我们只是语音服务,视频是我远程的时候发现的延迟。不过你说的这个可能确实是个问题,但是我当时任务管理器看了下客户那边系统负载不到 cpu 50%内存 70%
|
9
wnpllrzodiac 134 天前 via Android
一层层查,流里面加时间戳,看都慢在哪里了。数据说话。捕获,编码,发送,接受,显示。每个地方都可能慢。看看有没有缓存数据么地方。池子不能大
|
10
iSNN OP @wnpllrzodiac 请问大佬数据说话。捕获,编码,发送,接受,显......这些东西哪里可以打断点和流里加时间戳呢....我用的基于 webrtc 的 jssip ,各个回调有时间戳,但是获取语音权限后建立流后我理解的流中就不能处理了...原理上浏览器中 webrtc 的一些接口也能调用,请问下大概是什么样的思路,感谢
|