0

我想通过 c# 从 Axis IP 摄像机获取实时视频。我想使用套接字编程来获取数据包并反序列化它们以获取视频。有什么办法吗?

编辑:视频在:

 http://root:pass@192.168.0.90/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);
            }

但是我什么也收不到。有什么方法可以添加用户名和密码或完整的地址来寻址套接字吗?

4

2 回答 2

0

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

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

它处理一堆IP摄像机。


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

https://github.com/mjohnsullivan/axiscam

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

于 2013-11-05T08:20:44.747 回答
0

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

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

要从流中获取图像,例如 codeplex 上的 mjpg 解码器:http: //mjpeg.codeplex.com/

于 2013-11-05T19:23:09.157 回答