惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
宝玉的分享
宝玉的分享
美团技术团队
量子位
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
IT之家
IT之家
爱范儿
爱范儿
J
Java Code Geeks
博客园 - Franky
Last Week in AI
Last Week in AI
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
GbyAI
GbyAI
Recent Announcements
Recent Announcements
小众软件
小众软件
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
MyScale Blog
MyScale Blog

博客园 - Zion0707

Codex接入DeepSeek token实现对话与操作,so easy! Openclaw只能聊天不能操作解决方案 Ubuntu从零搭建Openclaw Openclaw安装问题记录 React数字滚动,增加或减少效果 react hooks实现对元素拖拽及鼠标滚轮缩放 前端实现图片文字识别并提取 ECharts实现两条曲线数据比较,数据高出区域高亮显示 canvas实现视频播放并支持自动播放 fabricjs实现虚线流动动画效果 React国际化方案及示例 fabricjs如何导入echarts fabricjs元素对齐方式实现 React仿photoshop参考线功能 react-router-dom v6 使用 “DatePicker”不能用作 JSX 组件。 Element plus的tree组件实现单选和搜索功能 16进制相关操作方法 js 版 AES-128 算法加解密 js 版 React 下拉多选,全选/全不选功能组件
萤石云视频监控和回放方案
Zion0707 · 2022-12-05 · via 博客园 - Zion0707

采用方案:

1、采用了萤石云(属于海康威视旗下的云服务)视频方案。

2、支持第三方、海康部分及萤石云摄像头接入。

3、萤石云接入登录入口:登录-用户认证中心 (ys7.com)

绑定流程:

1、注册并登录萤石云平台。

2、在【我的账号 -> 应用信息】填写相关应用信息得到应用秘钥:AppKey、Secret、AccessToken 重要信息需妥善保管。

3、其中可通过AppKey + Secret 可获取到AccessToken,获取方式参见:获取Access Token · 萤石开放平台API文档 (ys7.com) ,其中AccessToken为7天有效期,不可频繁获取,可采用相关存储方案进行储存。

4、在【我的资源 -> 设备列表】接入设备,其中海康部分或萤石云摄像头,可点击 **萤石协议接入 **按钮,填写  设备序列号  及 设备验证码 即可接入,第三方接入则需要选择符合国际协议的设备进行接入,接入之后视频设备详情列表中会出现一条设备信息,并注意该设备是否是在线状态,如果不是在线状态则无法连接。

5、接下来即可编写前端代码进行接入。

代码实现:

1、采用了 ezuikit-js 进行视频接入,其相关文档地址:UIKit Javascript · 萤石开放平台API文档 (ys7.com)

2、视频直播及回放相关案例展示:https://open.ys7.com/console/ezuikit/template.html

3、代码二次封装组件案例(实现直播和回放):video-ezuikit.zip

4、调用示例: <VideoEzuikit accessToken="需要获取到的AccessToken" deviceName="G53164888" controller={false} autoplay={false} audioplay={false} width={400} height={200} />

5、按正常步骤都无法获取视频信息,那么则检查视频是否处于加密状态,如果属于加密状态,那么视频则无法播放,必须解密才能进行视频播放,解密方案参见文档:提示“视频已加密”怎么办? - 萤石服务中心 - 萤石官网 - EZVIZ

注意事项:

1、其中在使用的时候,组件卸载并不会暂停或卸载视频,反而还会占用很高的内存,所以需要在页面离开的时候把视频暂停(注意:暂停的视频不能再次暂停否则会报错,这个属于video-ezuikit的bug,需要自行进行处理)。

2、这里解决这个bug采用的方式是:在视频组件中赋值了 window._ezuikit_list 相关数组变量进行存储,记录每个video-ezuikit组件中的视频对象,并记录了该对象是否是暂停还是播放状态,那么在切换页面的时候需先进行对 window._ezuikit_list 数组进行遍历查找是否有在播放的视频,有的话则需要调用 .stop() 方法进行暂停(这里采用了setTimeout稍微进行延时处理,先把视频进行暂停),再跳转到其它页面方案进行解决(当然有更好的方案也可以告知我进行改进)。

3、接入多个视频流注意事项,参见ezuikit-js文档: