前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EasyNVR视频流直播时实时录像开发过程分享

EasyNVR视频流直播时实时录像开发过程分享

原创
作者头像
TSINGSEE青犀视频
修改2021-06-15 11:25:57
4670
修改2021-06-15 11:25:57
举报
文章被收录于专栏:TSINGSEE青犀视频

部分用户在使用EasyNVR的过程中,迫切希望我们能够提供视频流实时开启录像功能,并在点击结束录像的同时,将该时段的录像文件直接下载到用户本地。对该需求做评估后我们决定来实现该功能,因此在这里和大家分享一下我们的实现过程和方法。

由于原本的EasyNVR现有的模板录像功能是由nginx的录制模板实现的,因此并不支持实时录像的功能,所以需要另外的独立模块实现此功能。方法则是通过GO端直接获取流数据并通过FMPAG转换,最终保存成指定的视频文件。

实现此功能并不需要依赖原先的ChannelInfo信息,只需要通过设备ID找到需要开启实时录像的StreamClient并保存对应的流数据即可,因此可以单独设计。

当接受到前端开启实时录像请求后,首先判断任务池里是否存在对应的录像任务。如果不存在则开启一个新的录像任务,并根据请求时间自动产生一个录像文件名。

后端接受流数据结构:

当接受到流数据的时候判断该流ID是否有实时录像任务,如果有则将流数据写到对应的文件中。

收到停止录像请求后,对保存的文件进行转码,并删除录像任务。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
实时音视频
实时音视频(Tencent RTC)基于腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时互动直播两大场景化方案,通过腾讯云服务向开发者开放,致力于帮助开发者快速搭建低成本、低延时、高品质的音视频互动解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档