当前位置: 首页 > 知识库问答 >
问题:

从海康威视的IP摄像机中获取帧

耿弘阔
2023-03-14

我在从远程IP摄像头中抓取帧时遇到了问题。我的雇主希望在C#.NET(用于Windows)中完成,如果可能的话,使用轻量级的解决方案,即不使用任何庞大的框架。

该设备型号为DS-2CD2632F-I,它目前连接到我的局域网,相机的网络界面工作非常好。

我已经试用了几个流行的框架,例如AForge、EmguCV、OzekiSDK和directshow.net,但它们似乎都不起作用。特别是OzekiSDK(显然是海康威视推荐的?)即使我简单地使用提供的示例项目,也无法从相机获取视频流,如果我试图抓取一个帧,它只是显示一个黑屏,并抛出一个“空相机对象”异常。

我想过使用libvlcnet,但我不确定这是一个可行的解决方案。

你有什么推荐吗?

共有1个答案

阚原
2023-03-14

好吧,所以我想我想明白了。我会把解决方案贴在这里,以备将来有人需要。我发现,对于这种特殊类型的相机,有一个url,它只是将相机的当前帧作为JPEG图片返回,如下所示:http://ip_address:port/streaming/channels/1/picture?snapshotimagetype=JPEG

因为我的雇主只需要在他想要的时候从相机中抓取一帧,而不需要流式传输视频本身,所以我编写了一个应用程序,通过使用异步Web请求从那个url复制这个JPEG:

private Bitmap loadedBitmap;
...
private void requestFrame()
{    
 string cameraUrl = @"http://192.168.0.1XX:80/Streaming/channels/1/picture?snapShotImageType=JPEG";
 var request = System.Net.HttpWebRequest.Create(cameraUrl);   
 request.Credentials = new NetworkCredential(cameraLogin, cameraPassword);
 request.Proxy = null;
 request.BeginGetResponse(new AsyncCallback(finishRequestFrame), request);
}

void finishRequestFrame(IAsyncResult result)
{
 HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse;
 Stream responseStream = response.GetResponseStream();

 using (Bitmap frame = new Bitmap(responseStream)) {
  if (frame != null) {
   loadedBitmap = (Bitmap) frame.Clone();                        
  }
 }
}
...
requestFrame(); // call the function
 类似资料:
  • 我有下一台海康威视IP摄像机http://www.Hikvision.com/es/products_accessries_161_i11969.html我在本地网络中配置了它,并且与浏览器连接,我可以看到摄像机工作得很好。我曾在不同的帖子中寻找像这样的镜头,但我做不到。这里我放了我用来尝试它的代码和响应。我想获得一个框架,并保存在我的去库存后处理。 用这个代码我不能获得一个帧。 这段代码来自其他

  • null 我如何向摄像机发送重置请求?或者有没有我们可以与HTTP get post方法一起使用的命令列表?有海康威视CGI的名单吗?和Onvif命令来重置相机? 任何帮助都是感激的

  • 我有一个海康威视IP摄像机内置的人计数应用程序。我正在尝试构建一个桌面/Web应用程序,它读取通过的人数并对其进行处理。我只想知道我怎样才能知道这些人的数量,不管用什么编程语言。相机型号为海康威视IDS-2CD6412FWD/C。任何回答都很重要。谢谢你。

  • 技术支持工程师-医疗方向-杭州 时间线: 9.04:测评 9.06:笔试 9.21:一面 1、一面(钉钉)(第一个面试) 1.01 自我介绍 1.02 问项目 1.03 项目中的主要工作 1.04 最有成就感的事情,详细说下 1.05 当班长的体会 1.06 对这个岗位的了解 1.07 课余爱好 1.08 长期坚持的爱好 1.09 为什么选这个城市 1.10 反问

  • 刚刚面的海康威视。找的是Java开发。一进是线下面的。然后他开始也不问,我技术啊,他就问我一些七七八八的学校做什么,你怎么自学的?你觉得你可算了多少嗯什么你最精通的什么框架?笑死了,我说我就会一个是公布的,其他不是很熟练。他说他这边要求必须精通三个以上的框架。真**笑死我了。然后说什么妮蔻,你这才刷至少得刷200道题啊?然后就是说你技术上不行。然后问我练了多少家公司了,怎么有没有考虑,为什么没有通

  • 项目遇到的难点 项目有哪些功能 vue中的指令 computed使用场景 js深浅拷贝 路由跳转方法 如果让你设计一个任务面板,你会实现哪些功能 被突然来的电话吓到了 我和面试官都在咳 有些忘了,感觉没戏答的不怎么好