当前位置:网站首页>EasyGBS视频平台TCP主动模式拉流异常情况修复
EasyGBS视频平台TCP主动模式拉流异常情况修复
2022-06-24 17:35:00 【TSINGSEE青犀视频】
EasyGBS是基于国标GB28181协议的视频平台,可支持视频直播、录像、云存储、检索与回放、云台控制、告警上报、语音对讲等功能。EasyGBS平台功能全面、综合性强、视频能力灵活,能够涵盖所有视频监控领域的需求,已经在大量的项目中落地应用,如明厨亮灶、平安乡村、雪亮工程等。
EasyGBS平台可以设置三种拉流模式,UDP、TCP主动、TCP被动。
1)UDP: 服务端监听UDP端口,通过INVITE信令告知设备端口,设备主动向服务端发起流传输。
2)TCP被动: 服务端监听TCP端口,通过INVITE信令告知设备端口,设备向服务端发起流传输。
3)TCP主动: 设备端告知服务端监听的TCP端口情况,服务端主动向设备拉流,但是此种场景较少。
在某用户的项目中,EasyGBS作为上级平台,下级设备拉流设置为TCP被动,那么相对应上级EasyGBS要设置TCP主动模式拉流,但是在用户现场,则是一直拉流超时报错,于是我们对此情况进行了排查。查看主动模式拉流代码是否存在问题。
TCP主动模式中,EasyGBS需要向设备端发送INVITE消息,等待收流前发送SYN消息与下级建立连接,而现场则在发送SYN的时候,一直报端口占用(如下图)错误,于是我们分析是在发送SYN之前,程序已经对本次的拉流端口进行监听了。
查看代码发现,在拉流的时候,判断主动模式未成功,进入了TCP被动模式中,所以一直无法使用TCP主动拉流,修改后如下图:
修改后,上述问题已经成功解决。
EasyGBS强大的视频能力既可以作为业务平台,也能作为视频能力平台进行调用。通过GB28181标准协议实现平台之间的级联,可实现与其他平台系统的数据共享共用,在应用场景中达到视频资源汇聚、协同监督、平台联动等目的,感兴趣的用户可以前往演示平台进行体验或部署测试。
边栏推荐
- [version upgrade] Tencent cloud firewall version 2.1.0 was officially released!
- Example description and case of ansible playbook automated cluster server management
- Uncover the secrets of Tencent R & D! 30% of the demand will be responded within 1 day!
- Meituan financial report: making money while burning money
- Why do you develop middleware when you are young? "You can choose your own way"
- Constantly changing the emergency dialing of harmonyos ETS during the new year
- Customizing security groups using BPF
- As for IOT safety, 20 CSOs from major manufacturers say
- 2021-04-02: given a square or rectangular matrix, zigzag printing can be realized.
- What securities dealers recommend? Is it safe to open an account online now?
猜你喜欢

Etching process flow for PCB fabrication

Mengyou Technology: tiktok current limiting? Teach you to create popular copywriting + popular background music selection
About swagger
Using flex to implement common layouts
Using consistent hash algorithm in Presto to enhance the data cache locality of dynamic clusters

How to create simple shapes in illustrator 2022
SQL basic tutorial (learning notes)

The 'ng' entry cannot be recognized as the name of a cmdlet, function, script file, or runnable program. Check the spelling of the name. If you include a path, make sure the path is correct, and then

NVM download, installation and use

LC 300. Longest increasing subsequence
随机推荐
How to learn go language happily? Let's go!
Coding enhances security vulnerability scanning capability and helps the team "move left safely"
"Gambler" bubble Matt turns around
Cloud native monitoring practice (2) monitoring and collection of components outside the TKE cluster
2021-04-02: given a square or rectangular matrix, zigzag printing can be realized.
Noi Mathematics: solution of quadratic congruence equation
2. Leveldb design principle -- LSM
Install MySQL using Yum for Linux
[kotlin] constructor summary
LC 300. Longest increasing subsequence
New MySQL 8.0 feature - enhanced logical backup recovery
Let ups "Impressionist users" re understand reliability
QQ domain name detection API interface sharing (with internal access automatic jump PHP code)
Analysis of signal preemptive scheduling based on go language from source code
About swagger
Zblog system realizes the tutorial of the number of articles published on the same day when the foreground calls
See through the new financial report of Tencent music, online music needs b+c
How to compile and debug go runtime source code
[version upgrade] Tencent cloud firewall version 2.1.0 was officially released!
Customizing security groups using BPF