视频监控平台:支持交通部行业标准JT/T905协议(即:出租汽车服务管理信息系统)的源代码的函数和功能介绍及分享

目录

一、视频监控平台介绍

(一)概述

(二)视频接入能力介绍

(三)功能介绍

二、JT/T905协议介绍

(一)概述

(二)主要内容

1、设备要求

2、业务功能要求

3、技术功能要求

4、性能要求

5、接口要求

6、设备通信协议与数据格式

三、代码和解释

(一)代码和注释

(二)函数功能说明

1. 头文件保护

2. 包含必要的头文件

3. 引入命名空间std

4. CNetSdkForJT905类定义

5. 公共成员函数

6. 私有成员变量

四、效果展示


一、视频监控平台介绍

(一)概述

        威迪斯特视频监控接入平台AS-V1000,也可以称为:视频监控综合资源管理平台,视频监控平台,视频监控汇聚平台(或视频监控汇集平台),视频监控管理平台,视频监控综合管理平台,是一套集成了用户设备权限管理、视音频监控、大容量存储、电子地图的系统平台软件。它结合了现代视频技术、网络通讯技术、计算机控制技术、流媒体传输技术的综合解决方案,为用户提供了强大的、灵活的组网和应用能力。

(二)视频接入能力介绍

        系统平台能够实现接入不同品牌的视频监控平台、视频相关设备、外围设备等等;支持国际和国内的一些标准对接协议,包括sdk协议、GB/T28181协议、ehome协议等等。可以通过各种协议,接入IPC、DVR、DVS、NVR等设备,以及一些大型的视频监控平台,包括海康威视、浙江大华、苏州科达、杭州宇视等主流品牌的监控平台,对于有些特有品牌的平台, 也能够通过SDK接口、私有协议等方式接入进入本系统平台(国外品牌包括:Panasonicaxis);反过来,本平台也提供开放接口,能够接入到其他标准或者非标准的平台。

(三)功能介绍

        平台实现了丰富的功能,包含:实时多媒体数据转发和管理、移动流媒体转发管理、不间断录像、录像文件检索和回放、录像下载、设备状态管理、系统报警管理、视频转码、视频点播等等;整个平台具备稳定可靠、使用安全、兼容性强、接口开放、服务可堆叠、服务可多级级联、系统可平滑扩容等特点。

二、JT/T905协议介绍

(一)概述

        JT /T 905-2014是交通运输行业标准,即《出租汽车服务管理信息系统》;JT/T 905协议由交通运输部制定,旨在规范出租汽车服务管理信息系统运营专用设备的设计、开发、检验与安装。该协议涵盖了设备的基本构成、一般要求、业务功能要求、技术功能要求、性能要求、接口要求以及设备通信协议与数据格式等关键内容。

(二)主要内容

1、设备要求

        基本构成:协议规定了出租汽车服务管理信息系统运营专用设备的基本构成。

        一般要求:设备应符合国家相关标准,确保安全、稳定、可靠运行。

2、业务功能要求

        协议详细描述了出租汽车服务管理信息系统运营专用设备应支持的业务功能,包括但不限于订单管理、定位监控、服务评价等。

3、技术功能要求

        协议规定了设备应具备的技术功能,如数据传输、远程控制、数据存储等,确保系统的高效运行和数据的准确传输。

4、性能要求

        协议对设备的性能进行了具体规定,如响应时间、传输速度、存储容量等,以保证系统的稳定性和响应速度。

5、接口要求

        协议定义了设备之间的接口标准和通信协议,确保不同设备之间的兼容性和互联互通。

6、设备通信协议与数据格式

        协议规定了设备通信的协议和数据格式,确保数据的准确性和一致性,方便数据的处理和分析。

三、代码和解释

        这段C++头文件代码定义了一个名为 CNetSdkForJT905 的类,该类是为了通过交通部JT/T905协议,接入符合JT/T905协议的设备进行通信而设计的。

(一)代码和注释

以下是为代码和注释:


#if !defined(__NETSDK_FOR_JT905_H__)  // 如果__NETSDK_FOR_JT905_H__未定义,则定义它
#define __NETSDK_FOR_JT905_H__        // 定义__NETSDK_FOR_JT905_H__宏
#include "JT905NetSDKAPI.h"           // 包含JT905NetSDKAPI头文件
#include <string>                     // 包含string头文件
#include "NetSdkApp.h"                // 包含NetSdkApp头文件
// 使用std命名空间中的元素
using namespace std;
// CNetSdkForJT905类继承自CNetSdkApp
class CNetSdkForJT905 : public CNetSdkApp
{
public:
    // 构造函数
    CNetSdkForJT905();
    // 析构函数
    ~CNetSdkForJT905();
public: // 公共成员函数
    // 设置海康威视设备报警回调函数
    int SetAlarmCallBack(long& UserData); 
    // 为设备设置报警
    int SetupAlarm(long LoginID);    
    // 取消设备的报警
    int CancelAlarm(long lHandle);  
    // 初始化ZX模块
    int ZXInit(void);
    // 清理ZX模块
    int ZXClean(void);
    
    // ZX登录
    long ZXLogin(char* pDevIp, UINT16 DevPort, char* pUsername, char* pPasswd, char *pOnvifURL, long& UserData);
    // ZX登出
    int ZXLogout(long LoginID,long& UserData);
    // ZX实时播放
    long ZXRealPlay(long LoginID, int Channel, int StreamId, StreamInfo *pStreamInfo,/*VideoStreamCallBack CBFunc,*/ long& UserData);
    // 停止ZX实时播放
    int ZXStopRealPlay(long VideoHdl);
    // ZX保活
    bool ZXKeepAlive(long LoginID);
    // 设置ZX日期和时间
    int  ZXSetDateTime(long LoginID,int iYear, int iMonth, int iDay, int iHour, int iMinute, int iSecond);
    // 查找公共文件
    int ZXFindCommonFile(long LoginID,int Channel, char *pBeginTime, char *pEndTime, TRecordInfoQueryResp* RecordInfo, DevInfo *pDevInfo);
    // 开始回放
    long ZXPlayBackStart(long LoginID, int Channel, char *pBeginTime, char *pEndTime,long long& FileSize, long UserData, bool bDownLoad, DevInfo *pDevInfo);
    // 停止回放
    int ZXPlayBackStop(long PlayBackHdl);
    // 控制回放
    int ZXPlayBackControl(long PlayBackHdl, ZXPlayControl_E CMD, long& Postion,long AllFileTime=0);
    // 控制云台
    int ZXPtzControl(long LoginID, int channelid,int opt, int param1,TExtPtzInfo *pExtPtzInfo);
    // 开始被动解码
    long ZXStartPassiveDec(long LoginID, int Channel);
    // 发送被动数据
    int ZXSendPassiveData(long DecHdl, UINT8* pBuf, int BufLen);
    // 停止被动解码
    int ZXStopPassiveDec(long DecHdl);
    // 获取选项查询参数
    int ZXGetOptQueryParam(long LoginID, int channelid, int opt){return -1;}
private: // 私有成员变量
    char m_DevIp[IPSTR_MAX_LEN];   // 设备的IP地址
    int m_DevPort;                 // 设备的端口号
    CJT905NetSDKAPI m_JT905NetSDK; // JT905网络SDK实例
    // CMuduoTcpTransMgr *pMuduoT

(二)函数功能说明

        这段C++头文件代码定义了一个名为 CNetSdkForJT905 的类,该类是为了通过交通部JT/T905协议,接入符合JT/T905协议的设备进行通信而设计的。

1. 头文件保护

           #if !defined(__NETSDK_FOR_JT905_H__)

           #define __NETSDK_FOR_JT905_H__

      这两行代码是头文件保护机制,确保这个头文件不会被多次包含。如果__NETSDK_FOR_JT905_H__定义,则不会再次包含。

2. 包含必要的头文件

   #include "JT905NetSDKAPI.h"

   #include <string>

   #include "NetSdkApp.h"

        这些指令包含了其他相关的头文件,JT905NetSDKAPI.h可能包含了与JT/T905协议相关的API声明,<string>提供了C++标准库中的字符串支持,NetSdkApp.h可能包含了网络应用相关的类和函数声明。

3. 引入命名空间std

      using namespace std;

        这一行代码告诉编译器在接下来的代码中使用标准命名空间std,这样就可以直接使用标准库中的元素,如字符串(string)等,而不需要前缀std::。

4. CNetSdkForJT905类定义

        这个类继承自CNetSdkApp,它可能是一个与网络设备交互的基类。类中定义了许多成员函数,这些函数可能用于实现JT/T905协议所要求的视频设备控制和数据交互。

5. 公共成员函数

   - SetAlarmCallBack: 设置设备的报警回调函数。

   - SetupAlarm: 为设备设置报警。

   - CancelAlarm: 取消设备的报警。

   - ZXInit: 初始化某种操作。

   - ZXClean: 清理资源。

   - ZXLogin: 登录视频设备。

   - ZXLogout: 登出视频设备。

   - ZXRealPlay: 开始实时播放视频。

   - ZXStopRealPlay: 停止实时播放视频。

   - ZXKeepAlive: 保持与设备的连接活跃。

   - ZXSetDateTime: 设置设备的日期和时间。

   - ZXFindCommonFile: 查找共同的文件。

   - ZXPlayBackStart: 开始视频回放。

   - ZXPlayBackStop: 停止视频回放。

   - ZXPlayBackControl: 控制视频回放。

   - ZXPtzControl: 控制设备的PTZ(Pan-Tilt-Zoom)。

   - ZXStartPassiveDec: 开始被动解码。

   - ZXSendPassiveData: 发送被动数据。

   - ZXStopPassiveDec: 停止被动解码。

   - ZXGetOptQueryParam: 获取查询参数。

6. 私有成员变量

   - m_DevIp: 设备IP地址。

   - m_DevPort: 设备端口号。

   - m_JT905NetSDK: 可能是一个与JT/T905协议相关的网络SDK实例。

四、效果展示

        可以通过视频监控平台的web客户端,查看符合JT/T905的视频终端的视频图像,如下图示:

        由上图可以看出通过出租车内的符合协议T905JT设备,可以方便的获取出租车内的实时视频图像。


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


  • 24
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值