我希望通过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);
}
但我无法接受任何事情..是否可以添加用户名和密码或完整地址来解决套接字?
答案 0 :(得分:0)
如果您愿意重复使用开源库,那么请看看AForge。
http://en.wikipedia.org/wiki/AForge.NET
它可以处理一堆IP摄像机。
如果您不想使用现有库,则可以使用其他语言转换现有客户端。这是一个用nodejs中的javascript编写的。此客户端通过http客户端连接并将映像保存到磁盘。
https://github.com/mjohnsullivan/axiscam
我不相信它会从头开始实现httpclient或文件系统编写器,因为这是一项复杂的练习。
答案 1 :(得分:0)
你是相机的客户,所以听众不会工作,因为那是“服务器”。
你将从cam =连续的jpg图像流中获得一个mjpg流。
要从流中获取图像,例如在codeplex上有mjpg解码器:http://mjpeg.codeplex.com/