【问题标题】:cURL downloading images of camera (http request)cURL 下载相机图像(http 请求)
【发布时间】:2013-02-25 23:44:32
【问题描述】:

我已经安装了 cURL,我可以从网站上下载一张图片,而且效果很好。

代码如下:

#define CURL_STATICLIB
#include <stdio.h>
#include <stdlib.h>
#include </usr/include/curl/curl.h>
#include </usr/include/curl/stdcheaders.h>
#include </usr/include/curl/easy.h>

size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *stream) {
   size_t written = fwrite(ptr, size, nmemb, stream);
   return written;
}

int main(void) {
   CURL *curl;
   FILE *fp;
   CURLcode res;

   char *url = "http://www.example.com/test_img.png"; 
   char outfilename[FILENAME_MAX] = "/home/c++_proj/output/web_req_img.png";
   curl = curl_easy_init();
   if (curl) {
       fp = fopen(outfilename,"wb");
       curl_easy_setopt(curl, CURLOPT_URL, url);
       curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
       curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
       res = curl_easy_perform(curl);
       /* always cleanup */
       curl_easy_cleanup(curl);
       fclose(fp);
   }
   return 0;
}

我还有一台 dlink DCS-930L 相机。我可以轻松地将我的相机连接到静态 IP 地址,并且可以通过登录相机(例如http://192.168.1.5)在相机上查看实时视频。 我不需要任何特殊软件或任何东西即可开始观看视频。

现在,我想使用 cURL 从相机下载图像。但我不知道该怎么做。 有人可以告诉我,或者提供一些代码吗? 我要做的就是捕获(采样)一些正在流式传输的图像。 我如何知道何时发出请求,以及图像之间的边界何时出现。

我真的很感激一些可以让我继续前进的建议和代码。

T

【问题讨论】:

  • 这完全取决于相机提供的接口,即http://192.168.1.5上显示的图像/视频的内容类型实际上是什么。唯一能够为您提供帮助的人是那些在家中拥有精确摄像头的人。
  • @Ruby:请避免在发布问题时使用签名,谢谢,:)

标签: c++ image curl camera


【解决方案1】:

根据本相机的手册[1],您需要使用Java或ActiveX插件来接收和观看视频:

请确保您拥有最新版本的 Java 应用程序 安装在您的计算机上,以确保在查看 Java 模式下的视频。可以免费下载 Java 应用程序 来自 Sun 的网站 (http://www.java.com)。

当您连接到相机主页时,系统会提示您 下载 ActiveX。如果您想使用 ActiveX 查看您的视频 图像而不是 Java,那么您必须下载 ActiveX。

这表明抓取图像将比简单地发出 HTTP 请求更困难。

[1] http://www.dlink.com/us/en/support/product/-/media/Consumer_Products/DCS/DCS%20930L/Manual/DCS%20930L_Manual_EN_US.pdf

【讨论】:

  • 我之所以要抓取图像,是因为我想对其进行一些图像处理。所以,不知何故,我需要下载图像,以便将其带入编程语言。我可以用 C/C++/Python/Java 程序以某种方式做到这一点吗?
  • 我对这款相机不熟悉,所以不知道。查看带有插件的网页的源代码,也许尝试嗅探网络流量 - 也许它只是一个 JPG 流,然后您可以截取并保存它。
猜你喜欢
  • 1970-01-01
  • 2021-04-03
  • 2015-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-05
相关资源
最近更新 更多