云端录像是我们前几年开发的功能,在EasyGBS、EasyCVR中均有运用。在多数项目中,云端录像的可控性、回溯性都给管理者提供了很大的便捷性。云端录像的接口需要被调用后才能使用,同时也支持修改云端录像的存储位置。
EasyGBS在添加新内核过后,测试云端录像时将录像本地存在录像文件中,但是下载的时候出现录像文件未找到的情况。
排查代码发现,此时云端录像下载拼接的录像地址不对,地址是设备号_通道号,而正确的地址应该是设备号_通道号_序列码。所以我们修改代码如下,更改获取平台云端录像的文件夹地址,然后根据设备号_通道号_序列码的规则来查找本地文件夹内容。
devPath := filepath.Join(mediaserver.GetHlsPath(), streamID) //dss.RecordDir(), streamID)
dayPath := filepath.Join(devPath, period[0:8])
timePath := filepath.Join(dayPath, period)
recordPath := filepath.Join(timePath, fmt.Sprintf("%s_record.m3u8", streamID))
if !utils.Exist(recordPath) {
c.AbortWithStatusJSON(http.StatusBadRequest, "录像文件未找到")
return
}
dest := ff.M3U8ToMP4(recordPath)
再次操作,成功下载录像
本文就和大家分享到这里,如果大家对EasyGBS感兴趣的话,欢迎联系我们。EasyGBS平台能够给大家提供测试版本,让大家直观面对EasyGBS功能,欢迎试用。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。