C# 搜索海康威视网络摄像头

这篇具有很好参考价值的文章主要介绍了C# 搜索海康威视网络摄像头。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

private (string, string, int) InquiryHikvisionWebCamera()
{
    string deviceType = string.Empty;
    string name = string.Empty;
    string ip = string.Empty;
    int port = 0;
    string mac = string.Empty;

    string msg = string.Empty;

    IPEndPoint ipend = new IPEndPoint(IPAddress.Any, 0);
    using (UdpClient client = new UdpClient(ipend))
    {
        client.Client.ReceiveTimeout = 1000;
        client.EnableBroadcast = false;
        client.JoinMulticastGroup(IPAddress.Parse("239.255.255.250"));
        IPEndPoint multicast = new IPEndPoint(IPAddress.Parse("239.255.255.250"), 37020);

        var uuid = Guid.NewGuid().ToString().ToUpper();
        msg = $"<?xml version=\"1.0\" encoding=\"utf-8\"?><Probe><Uuid>{uuid}</Uuid><Types>inquiry</Types></Probe>";

        byte[] buf = Encoding.Default.GetBytes(msg);
        Console.WriteLine("Send Message :" + msg);
        client.Send(buf, buf.Length, multicast);

        while (true)
        {
            try
            {
                buf = client.Receive(ref multicast);
                msg = Encoding.Default.GetString(buf);

                XmlDocument doc = new XmlDocument();
                doc.LoadXml(msg);

                XmlNodeList nodes = doc.DocumentElement.ChildNodes;
                foreach (XmlNode node in nodes)
                {
                    Console.WriteLine(node.Name + ": " + node.InnerText);
                    switch (node.Name)
                    {
                        case "DeviceType":
                            deviceType = node.InnerText;
                            break;
                        case "DeviceDescription":
                            name = node.InnerText;
                            break;
                        case "DeviceSN":
                            break;
                        case "IPv4Address":
                            ip = node.InnerText;
                            break;
                        case "CommandPort":
                            port = Convert.ToInt32(node.InnerText);
                            break;
                        case "MAC":
                            mac = node.InnerText;
                            break;
                        case "Encrypt":
                            break;
                        default:
                            break;
                    }
                }
            }
            catch(System.Net.Sockets.SocketException ex)
            {
                Console.WriteLine(ex.Message);
                if (ex.SocketErrorCode == SocketError.TimedOut)
                {
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                buf = null;
            }
        }

        client.Close();
    }

    
    if (deviceType.Equals("10110"))
    {
        return (name, ip, port);
    }
    else
    {
        return (string.Empty, string.Empty, 0);
    }
}

private void button1_Click(object sender, EventArgs e)
{
    (string name, string ip, int port) retVal = InquiryHikvisionWebCamera();
    if (!retVal.name.Equals(string.Empty))
    {
        this.textBox1.Text = retVal.name;
        this.textBox2.Text = retVal.ip;
        this.textBox3.Text = retVal.port.ToString();
    }
}

源代码

https://download.csdn.net/download/syukugai/88299251文章来源地址https://www.toymoban.com/news/detail-694750.html

到了这里,关于C# 搜索海康威视网络摄像头的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何降低海康、大华等网络摄像头调用的高延迟问题(一):海康威视网络摄像头的python sdk使用(opencv读取sdk流)

    目录 1.python sdk使用 1.海康SDK下载  2.opencv读取sdk流  先说效果,我是用的AI推理的实时流,延迟从高达7秒降到小于1秒 如果觉得这个延迟还不能接受,下一章,给大家介绍点上不得台面的小方法 SDK(Software Development Kit)是软件开发工具包的缩写,它是一组用于开发特定软件或

    2024年02月07日
    浏览(75)
  • 使用QT的QML实时显示海康威视网络摄像头的视频数据

    需求背景: 开发的监控软件中有个监控页面需要实时显示网络摄像头的数据,整个监控软件是基于QT的QML语言开发的。在QML中播放视频使用MediaPlayer组件就可以,但网上看到的一些都是播放录制好的视频文件,对于实时播放摄像头数据介绍的比较少。 开发环境: Debian11.3 Qt

    2024年02月09日
    浏览(69)
  • unity海康威视原生SDK拉取网络摄像头画面,并展示在一个Material上

    untiy版本是2019.4,低版本会有问题,速度比UMP插件快得多 原理是使用sdk获取视频流,格式为YUV,然后分离YUV通道到三张不同的Texture2D上,通过shader将三个通道重新输出为原始图像。 我将所用的各个部分已经整理成一个压缩包,免积分下载 压缩包结构如下 使用步骤 1 DLL:放在

    2024年02月13日
    浏览(32)
  • 海康威视摄像头二次开发_云台控制_视频画面实时预览(基于Qt实现)

    需求:需要在公司的产品里集成海康威视摄像头的SDK,用于控制海康威视的摄像头。 拍照抓图、视频录制、云台控制、视频实时预览等等功能。 开发环境: windows-X64(系统) + Qt5.12.6(Qt版本) + MSVC2017_X64(使用的编译器) 海康威视提供了 设备网络SDK ,设备网络SDK是基于设备私有网

    2024年02月13日
    浏览(36)
  • 海康威视摄像头选型号指南

    看了一个星期的摄像头,经过无数的踩坑和扯皮,看了无数的说明书和博文,终于从茫茫的摄像头型号中浮上岸了,对这个摄像头是什么玩意儿有了大致清晰的认识。我只是用来开发的,怎么简单怎么来,所以和民用的方向不一样,但也可做个参考。 像素:200-400万(根据需求

    2024年02月09日
    浏览(160)
  • opencv调用海康威视工业摄像头

    opencv调用海康威视工业摄像头需要用到官方接口VideoCapture() 接口:cv2.VideoCapture() 作用:获取本地目录下的视频文件或者使用本电脑的摄像头获取实时数据;  “0” ,调用的是本地电脑摄像头 “1” ,调用的是外接摄像头 打开MVS  正常设置使画面正常  然后找到宽度和长度

    2024年02月13日
    浏览(35)
  • 海康威视监控摄像头连接电脑教程

    官网下载SADP软件:https://www.wolai.com/wM6rWeBrRtrfmMH2BTVUXZ 双击下载的软件进行安装 打开软件,将设备连接到摄像头,便可在软件中搜索到摄像头 选择摄像头,输入管理员密码,即可完成对摄像头的控制 设置摄像机IP地址与网口地址处于同一网段 设置网络摄像机IP地址时,保持设

    2024年02月04日
    浏览(147)
  • 海康威视摄像头播放录像视频(RTSP协议)

    旧URL:rtsp://[username]:[password]@[ipaddress]/[videotype]/ch[number]/[streamtype] 如:rtsp://admin:12345@192.168.25.64:554/h264/ch1/main/av_stream 新URL:rtsp://[username]:[password]@[IP]:554/Streaming/Channels/[channelID][streamID] 如:rtsp://admin:12345@192.168.25.64:554/Streaming/Channels/101 录像机其实和摄像机基本一样,旧URL中摄像

    2024年02月12日
    浏览(59)
  • SpringBoot+海康威视摄像头实现在前端的预览

    本文是之前文章的一篇完善文,如果你是才接触海康威视摄像头的二次开发请先阅读入门篇 在实现摄像头的预览的时候需要搞懂什么是rtsp。 rtsp是一种实时流传输协议(Real Time Streaming Protocol,RTSP),主要使用TCP和UDP完成数据的传输。 1.1 了解海康威视rtsp的url规范 【老版本】

    2023年04月08日
    浏览(39)
  • 海康威视摄像头的多通道rtsp地址格式

    海康摄像头的rtsp地址通常格式为: “rtsp://username:password@192.168.1.64:554//Streaming/Channels/1” ### 1 代表主流,2代表子流 但在多通道的摄像机,例如红外摄像机,既有rgb图也有红外图,分别在两个通道里,需要独立打开时,就需要指定通道号。 那么可以这样来给rtsp最后的数字串:

    2024年02月13日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包