Javascript 如何获取闭路电视DVR';s广播用于定制应用程序

Javascript 如何获取闭路电视DVR';s广播用于定制应用程序,javascript,cordova,Javascript,Cordova,我的Defender DVR有16个模拟摄像头。我可以通过进入特定端口并使用IE中的ActiveX控件输入登录详细信息,在本地访问摄像头提要。我还可以通过iPad上苹果应用程序存储的应用程序查看这些内容,只需输入外部IP地址、端口号和登录凭据 我的问题是,如果我想创建一个类似于应用商店中的应用程序。我将如何与DVR的视频/图像流进行通信 我想我需要轮询IP地址来获取数据,但我不确定需要什么类型的连接,也不确定需要什么类型的连接 在市场上,似乎许多DVR都遵循相同的应用程序,所以我猜它们在输出数据

我的Defender DVR有16个模拟摄像头。我可以通过进入特定端口并使用IE中的ActiveX控件输入登录详细信息,在本地访问摄像头提要。我还可以通过iPad上苹果应用程序存储的应用程序查看这些内容,只需输入外部IP地址、端口号和登录凭据

我的问题是,如果我想创建一个类似于应用商店中的应用程序。我将如何与DVR的视频/图像流进行通信

我想我需要轮询IP地址来获取数据,但我不确定需要什么类型的连接,也不确定需要什么类型的连接

在市场上,似乎许多DVR都遵循相同的应用程序,所以我猜它们在输出数据时都符合某些标准


谢谢。

有一些标准,所以你只需要四处看看,也不要指望任何dvr制造商会给你api访问权限。许多人已经尝试过,他们只是不想以任何方式泄露,你不想被束缚在特定的dvr实现上。我建议你从ispy c代码开始,这会让你了解它是如何实现的由于Ispy支持多种类型的摄像头,无论是ip摄像头还是网络摄像头,所以通常都能正常工作


模拟摄像机的代码将更难找到,所以祝你好运…

很多摄像机使用内容类型通过HTTP传输数据。如果您可以在浏览器上访问相机,则很可能它使用HTTP

假设这是您的情况,您将必须找出您的相机用于服务流的URL。所以你可以:

  • 通过谷歌搜索你的相机型号,尝试在互联网上找到类似的列表
  • 自己检查浏览器(这需要一些HTML5知识)
一旦您有了URL,您就可以确定,如果您正在处理混合替换请求,如果您有一个带有curl的终端,您可以使用如下内容:

$ curl --head http://user:password@192.168.99.230/video.cgi
我的相机返回以下标题:

HTTP/1.0 200 OK
Server: alphapd
Date: Thu Jan  9 09:04:59 2014
Pragma: no-cache
Cache-Control: no-cache
Content-Type: multipart/x-mixed-replace;boundary=video boundary--
这意味着我有一个混合替换响应,由“-video boundary--”字符串分隔(查看Content Type字段)

请求主体如下所示:

--video boundary--
<metadata>
<image>
--video boundary--
<metadata>
<image>
...
(Neverending request body of real time delivered images)
——视频边界--
--视频边界--
...
(实时交付图像的无延迟请求体)
现在,您的方法将取决于要嵌入流的应用程序。就我而言,我只需要把它们放在一个网页上,所以Firefox帮了我一个忙,我可以将其与:

<img src="http://user:password@192.168.99.230/video.cgi">


但是,根据应用程序的不同,您可能需要自己解析和捕获每个传入图像。

您需要获取DVR的API规范。询问制造商。制造商不想提供此信息。感谢您在此处详细介绍。这很好。我会跟着这个,看看它会带我去哪里。我想我也可以通过观察其他iPad应用程序的流量来了解它们在哪里以及如何查找图像。