最近调用了视频解码器的接口  因为dll是c++编写的 而我在c#中调用  所以有一个结构体中的类型转换一直报错  今天得到高人指点  把问题解决了  发到网上 供有问题的同胞参考(我之前在网上找了很多  没有一个是真正正确的)

c++中的声明方式(SDK说明文档提供)

struct DEV_ENCODER_INFO{
char   szDevIp[DH_MAX_IPADDR_LEN];
WORD   wDevPort;
BYTE   bDevChnEnable;
BYTE   byDecoderID;
char   szDevUser[DH_USER_NAME_LENGTH_EX];
char   szDevPwd[DH_USER_PSW_LENGTH_EX];
int    nDevChannel;
int    nStreamType;
BYTE   byConnType;
BYTE   byWorkMode;
WORD   wListenPort;
DWORD  dwProtoType;
char   szDevName[64];
BYTE   byVideoInType;
char   szDevIpEx[DH_MAX_IPADDR_OR_DOMAIN_LEN];
BYTE   bySnapMode;
BYTE   byManuFactory;
BYTE   byDeviceType;
BYTE   byDecodePolicy;
BYTE   bReserved[3];
DWORD  dwHttpPort;
DWORD  dwRtspPort;
char   szChnName[32];
char   reserved[4];
};

c#中声明的方式

public struct DEV_DECODER_INFO
    {
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
        public byte[] szDecType;
        public Int32 nMonitorNum;
        public Int32 nEncoderNum;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
        public byte[] szSplitMode;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
        public byte[] bMonitorEnable;
        public byte bTVTipDisplay;          // 指示是否支持TV提示信息叠加设置, 0:不支持 1:支持.
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
        public byte[] reserved1;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 48)]
        public byte[] byLayoutEnable;
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
        public byte[] reserved;
    }

使用结构体时

DEV_ENCODER_INFO lpencoder_info = new DEV_ENCODER_INFO();
                    lpencoder_info.byDecoderID = (byte)decoderID;

//这块必须给变量赋一个长度

lpencoder_info.szDevIpEx = new byte[64];
                    lpencoder_info.szDevPwd = new byte[16];
                    lpencoder_info.szDevUser = new byte[16];
                    lpencoder_info.wDevPort = 37777;
                    lpencoder_info.nDevChannel = 1; //通道 
                    lpencoder_info.nStreamType = 0; //主码流
                    lpencoder_info.bDevChnEnable = 1;
                    lpencoder_info.byConnType = 0; //TCP
                    lpencoder_info.byWorkMode = 0; //直连

//给予byte[]数组类型的数据赋值

System.Text.Encoding.Default.GetBytes("192.168.1.1").CopyTo(lpencoder_info.szDevIpEx, 0);
                    System.Text.Encoding.Default.GetBytes("admin").CopyTo(lpencoder_info.szDevPwd, 0);
                    System.Text.Encoding.Default.GetBytes("admin").CopyTo(lpencoder_info.szDevUser, 0);

经测试  无异常

NVD视频解码器SDK使用、大华视频解码器SDK使用相关推荐

  1. 大华视频服务器sdk显示,大华网络摄像机SDK对接

    1)演示程序\Mfc分类Demo中有04.远程抓图19.枪球联动等功能说明 关于视音频的数据格式有两种 // 编码格式, 包括音频和视频 struct AV_CFG_EncodeFormat { AV ...

  2. java制作h5视频聊天_JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路。...

    JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路. 2018-09-17 问题:大华IPC枪型摄像头需要在WEB中显示实时监控视频,官方提供的SDK只有C#的桌面程序访问方式. 解决 ...

  3. 海康、大华视频监控在浏览器端无插件低延时播放解决方案

    海康.大华视频监控无插件低延时播放解决方案 第一章 应用简介 第二章 方案的实现方式 2.1 方案的技术架构 2.2 功能模块构成 第三章 平台的安装和部署 3.1 视频转码工作站的搭建 3.2 流媒 ...

  4. 在网页上实现大华视频监控摄像头在线

    在网页上实现大华视频监控摄像头在线 1.编写代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  5. LiveGBS流媒体平台GB/T28181功能-摄像头报警告警预案触发图片截取视频录制海康大华华为宇视等摄像头报警触发截图录像

    LiveGBS摄像头报警告警预案触发图片截取视频录制海康大华华为宇视等摄像头报警触发截图录像 1.报警信息 1.1.报警查询 1.2.配置开启报警订阅 1.2.1.国标设备编辑 1.2.2.勾选订阅项 ...

  6. php大华视频监控接入,大华摄像头实时视频接入Demo

    [实例简介] 亲测可用,这是使用大华sdk接入大华摄像头实时视频的winform测试程序 [实例截图] [核心代码] 大华摄像头实时视频demo-源码 ├── NetSDKCS │   ├── bin ...

  7. 大华sdk对接php,大华网络摄像机SDK对接

    1)演示程序\Mfc分类Demo中有04.远程抓图19.枪球联动等功能说明 关于视音频的数据格式有两种 // 编码格式, 包括音频和视频 struct AV_CFG_EncodeFormat { AV ...

  8. 使用QT对接大华网络摄像头SDK的示例程序(建议收藏)

    初始化 大华网络摄像头的默认 IP 地址都是 192.168.1.108,首先将你的电脑和摄像头连接到同一个路由器下,假如你的路由器不是1网段,则对路由器进行设置. 然后在 IE 浏览器下输入192. ...

  9. All in one,EasyCVR解决所有类型的视频协议设备接入的问题(RTSP/Onvif/RTMP/GB28181/Ehome/DSS/IMOS/海康大华宇视SDK)

    之前我有一篇博客<我们为什么要做一款EasyCVR这样的视频平台>专门聊到过为什么已经有了EasyNVR.EasyDSS.EasyGBS这样的专业视频服务器,我们还要做EasyCVR这样的 ...

  10. 大华视频监控后端存储的远程访问

    客户学校的视频监控系统使用的大华品牌,前端POE摄像机,后端网络存储EVS,局域网内部访问不对外发布,运行一直良好. 今日学校承接考试,需要将部分教室的视频分发给主考单位进行远程监看.具体操作如下: ...

最新文章

  1. 为什么需要批判性思维 -- 读《学会提问》
  2. 智能假手与机器人融合可以灵活抓取物品
  3. 需要某个字体包才能正确显示此页面_如何做设计,才能做好设计
  4. 使用VSCode连接到IBM Cloud区块链网络
  5. 2020年工作总结大会感悟
  6. [小白进] 大佬们学习为什么简单?小白该如何学习?学历不高如何找工作?副业很好赚?了解后少走弯路
  7. [vue] 开发过程中有使用过devtools吗?
  8. Practical Mathematical Handwriting
  9. 奥维互动地图自建服务器,免费开通奥维互动地图企业服务器
  10. 为什么游戏行业容易遭受DDoS攻击
  11. 大数据高级开发工程师——Spark学习笔记(9)
  12. 浏览器产生乱码的原因
  13. 开发一个Canvas小游戏 实现一个游戏“引擎”
  14. 是时候选择NewSQL数据库了
  15. java tif合成_JAI 多图片合成TIF格式
  16. 问卷设计:NPS/CSAT要先问还是后问?
  17. 第五章 [BX]和loop指令
  18. 使用Betaflight Configurator飞控刷写固件时各步骤的含义
  19. c 语言测量字节数,用C/C++测试编译器中关键字占多少个字节?以及16/32/64位平台下的字节数...
  20. 基于ros打开realsense摄像头

热门文章

  1. 月薪 60k*16薪,看看人家的项目经验和技术能力...,绝了!
  2. 37秒落后5分,你放弃了吗
  3. 侧边任务栏宽度调整到最小——7+ Taskbar Tweaker v5.6.0
  4. imos 学习笔记五 抓拍 c#
  5. 如何用python制作三维动画_课件中三维动画的Python实现
  6. 技术的发展推动了微型计算机的发展,微机原理第1章 习题答案(yyj)(3页)-原创力文档...
  7. 欢迎使用CSDN-markdown编辑器推荐一个好用的论文助手工具,不仅可以免费论文查重,还可以规范参考文献和一键规范论文格式,方便好用还免费。地址:www.bigan.net
  8. element-ui生成自定义主题
  9. Agora RTM云信令(原实时消息)示例跑通
  10. python带e的科学计数法转普通数字