EasyCVR是我们接入协议最广泛的视频管理平台,除了标准协议GB28181、RTSP/Onvif、RTMP等,还支持厂家的私有协议与SDK,如海康Ehome、海康SDK、大华SDK等。平台支持海量视频汇聚与管理,基于云边端一体化架构,具有强大的数据接入、处理及分发能力,在功能上,可提供视频直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、智能分析等。
我们在测试时发现,EasyCVR的接入设备开启音频后,出现了无法播放的情况,于是对此进行了排查。
排查中分析原因,是由于程序没有解析设备传过来的音频数据。
添加如下参考代码,设置通道音频参数,传递给设备播放,之后在设备发过来的回调数据中,解析出具体的音视频数据,再进行转码播放即可。
代码语言:javascript复制multi := utils.Conf().Section("ehome").Key("enable_realplay_multi_port").MustInt(0)
if multi == 0 {
enableEHomeChannel(channel, devID, 1, false)
return enableEHomeChannel(channel, devID, 0, false)
} else {
playPortPoolLock.Lock()
defer playPortPoolLock.Unlock()
port := setPort(devID, channel, 1, 0)
enableEHomeChannelV2(channel, devID, 1, port, false)
port = setPort(devID, channel, 0, 0)
return enableEHomeChannelV2(channel, devID, 0, port, false)
}
再次测试播放,此时视频已经能够正常播放了。
EasyCVR平台可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、智能分析等,围绕“视频汇聚、数据融合、共享共用”原则,将视频能力赋能到各行业与领域,满足多元化的业务场景需求。