• EasyNVR摄像机网页无插件直播方案H5前端构建之:接口调用获取实时信息


    背景分析

    熟悉EasyNVR产品的小伙伴应该知道,EasyNVR主要针对的是安防类的项目,通过RTSP/onvif协议将前端高清网络摄像机IPC、NVR等接入进来,然后将设备端的音视频通过采集、转换,输出RTMP、HLS、HTTP-Flv格式直播流,进行全平台无插件直播。
    EasyNVR

    对于动态网站,要实时更新网站的信息,通过接口来获取实时信息是一个必不可少的部分。EasyNVR可以接入IPC等前端设备,必须要实时获取到对应的IPC实时信息进行展示。

    本篇主要说明Ajax来获取数据

    以EasyNVR通道接口进行说明:

    • 操作: H5列表显示;
    • 接口:/api/v1/getchannels

    返回:

    • 所有设备列表信息,在线&不在线 通道(包含快照信息)
    • 通道名称、通道号、通道快照、通道是否在线

    报文:

    {
    "EasyDarwin" : {
    		"Body" : {
    		"ChannelCount" : "2",
    		"Channels" : [
    				{
    				"Channel" : 1,
    				"Name" : "channel1",
    				"Online" : 1,
    				"SnapURL" : "/snap/1/2016-10-24/20161024125212.jpg"
    				},
    				{
    				"Channel" : 2,
    				"Name" : "channel2",
    				"Online" : 0,
    				"SnapURL" : ""
    				}
    		]
    },
    "Header" : {
    "CSeq" : "1",
    "ErrorNum" : "200",
    "ErrorString" : "Success OK",
    "MessageType" : "MSG_SC_SERVER_GET_CHANNELS_ACK",
    "Version" : "1.0"
    }
    }
    }
    

    前端可以通过Ajax进行接口的访问以获取接口数据;首先观察返回数据的类型;符返回数据进行处理进行分析;将返回的数据以对象形式进行遍历展示;

    • 返回数据形式:
    
    	{EasyDarwin: {…}}
    	EasyDarwin
    	:
    	Body
    	:
    	ChannelCount
    	:
    	"6"
    	Channels
    	:
    	Array(6)
    	0
    	:
    	{Channel: 1, Name: "黄山小镇", Online: 1, SnapURL: "/snap/1/channel_1.jpg"}
    	1
    	:
    	{Channel: 2, Name: "科学大道与黄山路交口", Online: 0, SnapURL: ""}
    	2
    	:
    	{Channel: 3, Name: "办公室ONVIF", Online: 0, SnapURL: ""}
    	3
    	:
    	{Channel: 4, Name: "办公室", Online: 0, SnapURL: ""}
    	4
    	:
    	{Channel: 5, Name: "留学生创业园", Online: 0, SnapURL: ""}
    	5
    	:
    	{Channel: 6, Name: "北一环与阜阳北路高架交口", Online: 1, SnapURL: "/snap/6/channel_6.jpg"}
    	length
    	:
    	6
    	__proto__
    	:
    	Array(0)
    	__proto__
    	:
    	Object
    	Header
    	:
    	{CSeq: "1", ErrorNum: "200", ErrorString: "Success OK", MessageType: "MSG_SC_SERVER_GET_CHANNELS_ACK", Version: "v1"}
    	__proto__
    	:
    	Object
    	__proto__
    	:
    	Object
    

    下一篇主要说明对接收到数据进行处理来进行前端展示;

    EasyNVR部署架构

    EasyNVR方案一

    单点内网

    在局域网内部署EasyNVR系统,通过RTSP/Onvif协议采集音视频数据转成HLS/FLV格式的视频流,给内网的手机、电脑、电视墙来播放展示。该方案适合只需在企业内使用的客户,如企业内部监控。

    EasyNVR方案二

    单点公网

    在局域网内部署EasyNVR系统,将EasyNVR的地址映射到公网,手机、电脑等客户端即可通过互联网访问EasyNVR所采集的视频。该方案适合需要在互联网访问,但是访问量不大的企业。

    EasyNVR方案二

    多点公网

    在多个网点部署各部署单独EasyNVR系统,对接在公网部署的EasyNVS管理系统,实现对各网点的集中管理。该方案适合视频采集设备分散在不同局域网,需要统一管理和对外视频输出的项目

    EasyNVR方案四

    RTMP推流

    在单位内部署EasyNVR系统,并转成RTMP,然后推送到CDN或第三方视频分发系统。该方案适合访问并发用户较大的项目。

    EasyNVR应用场景

    EasyNVR在互联网安防直播行业已有多年实战经验,通过各行业的市场检验已成为一套便捷、安全、覆盖范围广的成熟产品,结合硬件产品,服务于各行各业视频基础建设,同时提供二次开发接口便于企业集成到自己的业务系统中,打造专属于自己的互联网视频监控平台。
    EasyNVR稳定可靠

    EasyNVR手机看家

    手机看家

    EasyNVR航空监控

    航空监控

    EasyNVR景区监控

    景区监控

    关于EasyNVR

    EasyNVR是一款拥有完整、自主、可控知识产权,同时又能够具备软硬一体功能的安防互联网化流媒体服务器,能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP、Onvif协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。详情可访问EasyNVR官网:http://www.easynvr.com

  • 相关阅读:
    The network bridge on device VMnet0 is not running
    QuickContactBadge去掉三角
    在Android Studio中调用so中的方法
    Android Studio动态调试smali代码
    用AndroidStudio创建so
    Android逆向 破解第一个Android程序
    Java配置----JDK开发环境搭建及环境变量配置
    AndroidKiller报.smali文件丢失问题解决(关闭Android Studio的Instant Run)
    Android逆向 Android平台虚拟机
    Android逆向 APK文件组成
  • 原文地址:https://www.cnblogs.com/babosa/p/11123974.html
Copyright © 2020-2023  润新知