我想通过 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);
}
但是我收不到任何东西..有什么方法可以添加用户名和密码或完整地址来寻址套接字?
如果您愿意重用开源库,那么请看一下 AForge。
http://en.wikipedia.org/wiki/AForge.NET
它可以处理一堆 IP 摄像机。
如果您不想使用现有的库,您可以将现有客户端从另一种语言转换。这是在nodejs中用javascript编写的一个。该客户端通过 http 客户端连接并将图像保存到磁盘。
https://github.com/mjohnsullivan/axiscam
我不相信它从头开始实现 httpclient 或文件系统编写器,因为这是一项复杂的练习。
您是相机的客户端,因此侦听器将无法工作,因为那是“服务器”。
您将从 cam 获得 mjpg 流 = jpg 图像的连续流。
为了从流中获取图像,codeplex 上有 mjpg 解码器:mjpeg.codeplex.com
23 年 11 月 17 日编辑:链接不再存在