前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过国标GB28181协议级联出现报错,视频也播放不了,如何解决?

通过国标GB28181协议级联出现报错,视频也播放不了,如何解决?

原创
作者头像
TSINGSEE青犀视频
修改2021-11-04 16:38:16
6280
修改2021-11-04 16:38:16
举报
文章被收录于专栏:TSINGSEE青犀视频

经常使用EasyNVR产品的用户都知道,作为音视频行业互联网直播平台,EasyNVR主要功能在于通过RTSP/ONVIF协议,接入前端音视频采集设备,通过EasyNVR软硬件将拉取过来的音视频流转化给适合全平台播放的RTMP、HTTP-FLV、HLS格式,极大方便了用户进行网页直播、微信直播及接入自身业务平台。

在经过今年年初的调整之后,EasyNVR已经支持GB国标级联了,部分用户在测试新版EasyNVR时反馈EasyNVR国标级联出现了两个问题:

1.EasyNVR国标级联保存配置时会一直提示:上一个配置在启动中,请稍后启动!

查看代码后发现级联注册失败会出现递归死循环:

此处需要将递归的代码注释了,并在调用函数的地方传递退出的通道信号就可以解决。

2.另一个情况是EasyNVR配置了国标级联信息和通道后,上级平台播放不了,查看日志发现代码panic了:

panic: runtime error: invalid memory address or nil pointer dereference

在查看具体的报错的代码后,发现是因为普通的推流和国标的推流是分开的,StreamClient是分开实例化的,而最终调用的推流方法是一致的。但是前几天优化了推流代码,加了几个属性,而属性值的初始化只在普通推流实现了,所以在国标推流中会出现panic。

该问题的解决就是在国标的StreamClient实例化时也初始化了几个新加的属性,测试播放后正常了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档