首页| 论坛| 消息

标题:Qt/C++开发监控GB28181系统/视频点播没有ssrc问题的处理/兼容各种设备和应用场景需求
作者:liudianwu
日期:2025-07-17 13:42
内容:

## 一、前言说明
搞监控拉流,如果仅仅是在开发机器,基本上每个程序员都能做到没有问题,把把都能正常运行,可是到了现场往往就容易掉链子,哪怕是你测试用过的一样的设备,所以必须不断的迭代代码,不断的兼容各种实际场景。比如近期就遇到某些厂家的设备,在发送点播指令后,返回的sdp信息中居然没有ssrc,而且点播后传过来的rtp数据包也没有ssrc,理论上来说肯定是不允许的,按照标准的话这种设备肯定不能经过检测,但是没办法这种厂家的设备往往有个巨大的优势,就是便宜,所以不少客户会选择这种设备,没办法,谁叫客户就是上帝呢,软件这边也要无条件支持才行。
对于没有ssrc的设备,只能每个点播都用单独的端口,这是最基本的前提,否则无法通过ssrc去分包。然后就是在点播请求的时候,对应设备通道记住下发的ssrc,在应答后更新通道点播信息队列中,将记住的ssrc赋值到队列中,这里做个兼容性的处理,如果应答的sdp数据中有y字段(这个字段就是ssrc),则取y字段的值,没有的话就从记住的值取出。为什么一定需要这个ssrc,因为每个设备每个通道都可以点播多个流,而关闭的时候必须通过ssrc才能区分唯一的一个流,包括软件界面上的视频控件也是,都是唯一的一个画面对应一个ssrc,可以关闭单个的点播流。
## 二、效果图


## 三、相关地址
1. 国内站点:[https://gitee.com/feiyangqingyun](https://gitee.com/feiyangqingyun)
2. 国际站点:[https://github.com/feiyangqingyun](https://github.com/feiyangqingyun)
3. 个人作品:[https://blog.csdn.net/feiyangqingyun/article/details/97565652](https://blog.csdn.net/feiyangqingyun/article/details/97565652)
4. 文件地址:[https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g](https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g) 提取码:01jf 文件名:bin_video_gb28181。
## 四、功能特点
1. 支持设备注册、注销、心跳、校时、注册认证、注销认证等。
2. 设备上线后可以手动获取设备状态、设备信息、配置信息、预置位信息等。
3. 设备上线后自动获取设备通道信息,包括中文通道名称。识别到通道上线离线变化,会重新获取该设备的所有通道信息。
4. 支持视频点播,可以分别点播主码流和子码流,内置rtp解包线程,解包后发给视频播放组件解码播放。
5. 每个设备每个通道支持点播多个视频,通过ssrc区分,支持 ..

回复 发表
主题 版块