2009-12-08 21 views
11

いつか前に.NETクラスを作成したIPウェブカメラがあります。これは基本的に、カメラから5秒ごとにスナップショットCGIスクリプトにpingを実行するタイマー実装です。カメラ自体は非常に根本的です。それは私のためのAPIの任意の並べ替えを持っていない、私はプログラムで(リモート)を行うことができます唯一のこのスクリプトを呼び出すです。スクリプトは640x480のJPEG画像を返します。シンプル。一連の画像からビデオストリーム(AVI)を作成する

私ができる必要があるのは、これらの画像の価値を取り、最終的にウェブページに埋め込まれる「タイムラプス」AVIビデオストリームを作成することです。どうすればVB.NETでこれを行うことができますか?

+2

このプロジェクトをチェックアウト:http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx –

+0

ニース!!あなたはMSDNのフォーラムから同じnobugzですか? –

答えて

15

.netはビデオフォーマットを直接サポートしていません。あなたの最善のオプションは、.aviを生成するためにサードパーティのツールを使用することです。

ffmpegは1つのオプションです。あなたは、このようなコマンドラインを経由して直接アクセスできます。

ffmpeg -f image2 -i img%d.jpg /output/a.mpg 

をあなたは詳細についてはimg2.jpgなど、あなたのイメージのimg1.jpgに名前を付ける必要がありますffmpeg faqを参照してください。さまざまなビデオ形式を出力する方法については、faqの詳細も参照する必要があります。

Process.Start()を使用してvbからプロセスを開始できます。このような何か:

Process.Start("ffmpeg.exe", "-f image2 -i img%d.jpg /output/a.mpg") 

ます。またffmpeg-sharpまたはTao.FFmpegを見てみることができ、彼らはffmpegのライブラリの.NETラッパーです。私はどちらも個人的には試していませんが、それはあなたを助けるかもしれないようです。

もう1つの方法は、同様の機能を持つMEncoderです。このツールでも同様のコマンドラインを参照することができます。

【関連のSOの質問:271003]:ラッパーはあなたが必要なものを提供しなければならない

http://www.codeproject.com/KB/audio-video/avifilewrapper.aspx

+0

良い解決策のように見えます。ライブラリを期待していましたが、私はこの別個のプロセスを問題なく起動できます。 –

+0

@ Josh。私はあなたがチェックアウトしたいかもしれないラッパーライブラリへのいくつかのリンクを追加しました。 –

+0

ffmpeg-sharpがコンパイルされず、Tao.FFmpegをダウンロードする場所が見つかりません –

0

一連のイメージを取り、AVIファイルを出力できるコマンドラインツールがいくつかあります。私はあなたのアプリからそれらの1つを呼び出すことをお勧めします。

私は提案へのリンクを提供しますが、私が1つを使用してから数年が経ちました。

編集:多数の画像から動画を作成するためのhttp://ffmpeg.org/ffmpeg-doc.html

:どうやらあなたは、この使用して行うことができますffmpegの

のffmpegを-f画像2 -i foo-%03d.jpeg -r 12 - シーケンス番号を表現するためにゼロで埋め幅x高構文foo-%の03d.jpeg三 桁からなる小数を使用 に指定foo.avi

です。 Cのprintf 関数でサポートされているのと同じですが、 構文ですが、 の正整数を受け入れる形式のみが適しています。

+1

あまりにも遅いです。私が編集を追加している間に他の人が投稿しました。 – Jermismo

1

これは、CodeProjectので誰かによってC#のラッパーです。

+0

nobugzがコメントのリンクを提供しました。 –

+0

ああ、私はこの回答を投稿したときにそこにはなかった(ページをリフレッシュしていない) –

関連する問題