Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[技术咨询] GB28181 UDP推流持续丢包 #1221

Closed
addriumruss opened this issue Nov 17, 2021 · 10 comments
Closed

[技术咨询] GB28181 UDP推流持续丢包 #1221

addriumruss opened this issue Nov 17, 2021 · 10 comments

Comments

@addriumruss
Copy link

1784317cfe6bbbbb2670a849b2f2428

@addriumruss
Copy link
Author

感谢回应!
抱歉上午着急问题定位和修复,没说明清楚环境!
镜头是今年年中采购的海康镜头,用国标2016版udp协议向平台推流,千兆电信专线带宽,用网线直连交换机和镜头,流媒体用zlm, 国标信令服务采用wvp那个。总共10个镜头,都采用720P分辨率。服务器是100M阿里云固定带宽。
连续测试了一个多月都很正常,今天早上忽然服务器系统盘空间不足,导致所有图像无法播放,于是清理日志释放了几十G磁盘空间,发现视频流还是没有;然后重启zlm和wvp,发现还是不行,具体来说,zlm反复出现上面的rtp丢包错误, wvp似乎国标信令通讯有错, 类似这样:
image

最后是1个半小时后去现场,看镜头配置页面都显示国标状态是在线,于是重启了一个镜头,这个镜头就立即恢复了国标通讯、视频流上报,能播放;然后大约又等待半小时,其它9个镜头都自动恢复了国标通讯和视频流上报。整个系统恢复正常。 推测是镜头需要大约2小时才能自动恢复。

在镜头都推流正常的情况下,重启zlm和wvp,发现只需要10分钟都能自动恢复。

看了代码CommonRtp.cpp 52行,说是网络问题导致丢包。可惜在现场没找到证据,带宽似乎都正常。
实在没搞懂深层原因,因此写出这些细节供项目研发人员参考。如果有相关思路请随时通知,多谢!

@xia-chu
Copy link
Member

xia-chu commented Nov 17, 2021

图片

@addriumruss
Copy link
Author

大佬,那个页面好像访问不了:
image

@xia-chu
Copy link
Member

xia-chu commented Nov 17, 2021

图片

@addriumruss
Copy link
Author

神奇了 为啥我打不开啊

@addriumruss
Copy link
Author

我10个720P镜头,试下加到10M看行不行

@xia-chu
Copy link
Member

xia-chu commented Nov 17, 2021

长大的孩子2021-1-6 09:04:16
img只有一个

子悦2021-1-6 09:04:45
https://www.cnblogs.com/yorkyang/p/7689096.html

子悦2021-1-6 09:05:18
img

长大的孩子2021-1-6 09:07:15
我的是212992

子悦2021-1-6 09:07:56
加大成4MB

子悦2021-1-6 09:08:13
应该不会丢了

长大的孩子2021-1-6 09:14:42
还是会 哈哈哈

长大的孩子2021-1-6 09:14:43
img

子悦2021-1-6 09:17:47
用cat /proc/net/snmp | grep -w Udp查看,InErrors 列显示当操作系统UDP队列溢出时丢失的UDP数据包总个数

子悦2021-1-6 09:17:54
看看内核丢包没

子悦2021-1-6 09:19:27
zlm显示丢包时 再看看

长大的孩子2021-1-6 09:20:29
img

长大的孩子2021-1-6 09:20:32
一直都在的

长大的孩子2021-1-6 09:20:48
img

子悦2021-1-6 09:21:42
那应该是真的丢包了

子悦2021-1-6 09:21:55
你是udp走的公网吧?

长大的孩子2021-1-6 09:22:18
是的

子悦2021-1-6 09:22:21
内核没丢包 说明内核收到的udp数据都被zlm消费掉了

@addriumruss
Copy link
Author

多谢大佬!

现在没丢包,打印好多遍都是这样:
[root@video guandao]# cat /proc/net/snmp | grep -w Udp
Udp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors
Udp: 11388741680 4992196728 26338 2260572 26338 0 0
[root@video guandao]# cat /proc/net/snmp | grep -w Udp
Udp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors
Udp: 11388755602 4992196728 26338 2260576 26338 0 0
[root@video guandao]# cat /proc/net/snmp | grep -w Udp
Udp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors
Udp: 11388906948 4992196728 26338 2260596 26338 0 0

现在每天盯着,万一出现丢包再看这个值的情况

@xia-chu xia-chu changed the title 国标流全部被Rtp丢包,怎么办 [技术咨询] GB28181 UDP推流持续丢包 Dec 1, 2021
@xia-chu xia-chu closed this as completed Dec 1, 2021
@xia-chu xia-chu pinned this issue Mar 29, 2023
@xia-chu xia-chu unpinned this issue Apr 3, 2023
@xia-chu
Copy link
Member

xia-chu commented Apr 14, 2023

如果使用10000单端口多流模式 需要设置下多队列网卡CPU中断均衡提供性能:
https://blog.csdn.net/linggang_123/article/details/113186750

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants