如何使用c#中的套接字编程从网络摄像机捕获

问题描述 投票:0回答:2

我想通过 C# 从 Axis IP 摄像机获取实时视频。我想使用套接字编程来获取数据包并将其反序列化以获取视频。有什么办法可以做到这一点吗?

编辑: 视频位于:

 http://root:[email protected]/axis-cgi/mjpg/video.cgi

我的代码是:

   Socket sock = new Socket(AddressFamily.InterNetwork
    , SocketType.Stream, ProtocolType.Tcp);      
           sock.Connect("192.168.0.90", 80);

            if (sock.Connected)
            {
                byte[] bytes = new byte[256];

                int i = sock.Receive(bytes);
            }

但是我收不到任何东西..有什么方法可以添加用户名和密码或完整地址来寻址套接字?

c# sockets tcpclient tcplistener
2个回答
0
投票

如果您愿意重用开源库,那么请看一下 AForge。

http://en.wikipedia.org/wiki/AForge.NET

它可以处理一堆 IP 摄像机。


如果您不想使用现有的库,您可以将现有客户端从另一种语言转换。这是在nodejs中用javascript编写的一个。该客户端通过 http 客户端连接并将图像保存到磁盘。

https://github.com/mjohnsullivan/axiscam

我不相信它从头开始实现 httpclient 或文件系统编写器,因为这是一项复杂的练习。


0
投票

您是相机的客户端,因此侦听器将无法工作,因为那是“服务器”。

您将从 cam 获得 mjpg 流 = jpg 图像的连续流。

为了从流中获取图像,codeplex 上有 mjpg 解码器:mjpeg.codeplex.com

23 年 11 月 17 日编辑:链接不再存在

© www.soinside.com 2019 - 2024. All rights reserved.