C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 画像ファイルのストリーミング取得


(過去ログ 115 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■67779 / inTopicNo.1)  画像ファイルのストリーミング取得
  
□投稿者/ ハミジン (1回)-(2013/09/01(Sun) 11:29:52)

分類:[C#] 

画像ファイルのストリーミング取得

ネットワークカメラにHttp(80)にて接続し、画像ファイルを取得しようとしております。
ネットワークカメラにはAPIが用意されておりhttp://カメラIP?framelate=0と入力すれば画像データが取得できます。
フレームレート0の場合は1枚のみの画像のため
WebClient.DownloadFile (url)メソッドにて取得できましたが
http://カメラIP?framelate=2
とすると 毎秒2枚の画像が常に送られてくるため処理がおわりません。
こういった場合常にストリームで取得しながら一枚単位でダウンロードできしだい吐き出す方法はあるのでしょうか。

ちなみに画像のフォーマットは
length=50000<CR><LF>
<CR><LF>
画像データ(jpeg)<CR><LF>
length=4000<CR><LF>
<CR><LF>
画像データ(jpeg)<CR><LF>
length=5000<CR><LF>
<CR><LF>
・・・・
という風に続いていく感じです。
lengthは画像データバイト数となっております。

以上説明がへたで申し訳ありませんが、ヒントをいただけないでしょうか。

引用返信 編集キー/
■67780 / inTopicNo.2)  Re[1]: 画像ファイルのストリーミング取得
□投稿者/ 魔界の仮面弁士 (322回)-(2013/09/01(Sun) 12:04:38)
No67779 (ハミジン さん) に返信
> WebClient.DownloadFile (url)メソッドにて取得できましたが
> http://カメラIP?framelate=2
> とすると 毎秒2枚の画像が常に送られてくるため処理がおわりません。

非同期系メソッドの呼び出しに切り替えて、WebClient.DownloadProgressChanged イベントに
随時届くデータから、length=データ長 と CR,LF,CR,LF を切り出し、切り出したデータを
ファイルに吐きだす(あるいはメインスレッドに渡す)ようにしてみては如何でしょうか。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -