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()
    

     

  • 相关阅读:
    [转载]ASP.NET实现数字和字符相混合的验证码
    [分享]软件开发全套规范
    [转载]混沌理论简介
    [原创]利用WM_COPYDATA实现进程间通信
    [转载]I like the subtle...
    [原创]DES算法的介绍以及实现(含上次DES程序1.0的源码)
    [转载]高校自动排课系统的实践
    [公告]对DES算法源码的bug道歉
    [转载]基于混沌理论的资本投资研究
    使用 异步多线程TCP Socket 实现进程间通信(VC 6.0 , BCB6.0调试通过)
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15294401.html
Copyright © 2011-2022 走看看