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

     

  • 相关阅读:
    Android中setContentView与inflate的区别
    Android RelativeLayout(相对布局)
    web移动开发最佳实践之js篇(转)
    SQL Server全文索引 (简单的搜索引擎)
    浅谈SQL Server中的三种物理连接操作 (转)
    sql server 优化顾问学习(转)
    IIS优化网站性能(转)
    js,css文件压缩
    SQL Server Profiler学习
    有效提高命中率的缓存设计
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/15294401.html
Copyright © 2011-2022 走看看