1

cURL をインストールしました。Web サイトから画像をダウンロードできましたが、正常に動作します。

コードは次のとおりです。

#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

4

1 に答える 1

0

このカメラのマニュアル [1] によると、ビデオを受信して​​視聴するには、Java または ActiveX プラグインを使用する必要があります。

Java モードでビデオを表示する際に正しく動作するように、コンピュータに最新バージョンの Java アプリケーションがインストールされていることを確認してください。Java アプリケーションは、Sun の Web サイト ( http://www.java.com )から無料でダウンロードできます。

カメラのホームページに接続すると、ActiveX をダウンロードするように求められます。Java の代わりに ActiveX を使用してビデオ画像を表示する場合は、ActiveX をダウンロードする必要があります。

これは、単に HTTP リクエストを行うよりも画像を取得する方が難しいことを示唆しています。

[1] http://www.dlink.com/us/en/support/product/-/media/Consumer_Products/DCS/DCS%20930L/Manual/DCS%20930L_Manual_EN_US.pdf
于 2013-02-25T23:52:46.237 に答える