zoukankan      html  css  js  c++  java
  • TSINGSEE青犀视频平台接入海康解码器SDK实时解码流程

    TSINGSEE青犀视频平台前端设备可以接入不同设备,包括NVR、摄像头、编码器等,EasyGBS还可以接入我们独立开发的国标推流平台EasyGBD。一般接入NVR和接入摄像头的项目现场比较多,但也有部分用户是将海康编码器设备接入平台。

    本文我们和大家分享一下海康解码器SDK实时解码的流程,大家可以对此有个大致了解。

    登录解码器后需要先配置解码器显示通道参数,设置显示通道关联的解码通道,否则无法正常启动设备网络。

    相关接口:NET_DVR_MatrixGetDisplayCfg_V41、NET_DVR_MatrixSetDisplayCfg_V41。

    调用 NET_DVR_MatrixStartDynamic_V41 即启动主动解码,解码器从设备直接取流获取通过流媒体取流进行解码并且上墙显示,取流方式、通道或者流 ID 等都在该接口中指定。如果显示通道配置中的分辨率和制式没有指定,则必须指定一个有效的分辨率或制式,否则无法正常动态解码。

    解码器直接轮巡解码,通过 NET_DVR_MatrixSetLoopDecChanInfo_V41 设置轮巡组,然后调用NET_DVR_MatrixSetLoopDecChanEnable 启动轮巡。

    以下为部分代码:

    void main() 
    { 
    int i=0,j=0; 
    BYTE byDispMode; 
    //初始化 SDK 
    NET_DVR_Init(); 
    //注册设备 
    NET_DVR_DEVICEINFO_V30 struDeviceInfo; 
    memset(&struDeviceInfo, 0, sizeof(NET_DVR_DEVICEINFO_V30));//存放设备参数的结构体 
    LONG lUserID = NET_DVR_Login_V30("172.6.22.178", 8000, "admin", "12345", &struDeviceInfo); 
    if (lUserID < 0) 
    { 
    printf("Login error, %d
    ", NET_DVR_GetLastError()); 
    NET_DVR_Cleanup(); 
    return; 
    } 
    //获取解码器能力集 
    NET_DVR_MATRIX_ABILITY_V41 struDecoderCapability; 
    if (!NET_DVR_GetDeviceAbility(lUserID,MATRIXDECODER_ABILITY_V41,NULL,0,(char *)&struDecoderCapability, 
    sizeof(struDecoderCapability))) 
    { 
    printf("NET_DVR_GetDeviceAbility error, %d
    ", NET_DVR_GetLastError()); 
    NET_DVR_Logout(lUserID); 
    NET_DVR_Cleanup()
    

     

  • 相关阅读:
    css划隔横线的两种方法
    GET与POST方法的区别
    前端常用技巧整理
    结合个人经历总结的前端入门方法 (转自https://github.com/qiu-deqing/FE-learning)
    前端资源教程(转自 前端资源教程)
    如何在本地电脑安装phpmyadmin及访问地址
    鼠标放上去会变色的按钮
    Linux内核学习总结-linux内核学习笔记(九)
    进程调度和切换---linux内核学习笔记(八)
    可执行程序的装载和启动---linux内核学习笔记(七)
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15294401.html
Copyright © 2011-2022 走看看