Nreco.videoconverter ffmpeg ラッパーを使用して、一連の .jpg ファイルからビデオを作成しようとしています。私はこのフォーラムで答えを探し、ほとんど私を助けるトピックは
http://stackoverflow.com/questions/15280199/how-to-make-a-video-file-from-images
画像ファイルが既にある場合は、特別な「image2」形式 (FFMpeg demuxer) を使用するのが最善の方法です。FFMpeg は、ビデオを作成するためにファイルを直接読み取ります。ビデオは、VideoConverter でサポートされているライブ ストリーム変換を使用してリアルタイムで作成できます。この場合、「rawvideo」を入力形式として指定する必要があり、C# アプリケーションはライブ ストリーム コンバーターの入力として (質問に記載されているように) RAW ビットマップ バイトを渡す必要があります。
このコードを試してみましたが、常に 1 フレーム (配列の最初のフレーム) でビデオを取得します。
NReco.VideoConverter.FFMpegConverter c = new FFMpegConverter();
ConcatSettings set = new ConcatSettings();
set.VideoFrameRate = 5;
set.VideoFrameCount = 10;
set.ConcatVideoStream = true;
set.ConcatAudioStream = false;
set.SetVideoFrameSize(704, 576);
string[] _fileNames = new string[25];
_fileNames[0] = "g:\\Storage\\001.jpg";
_fileNames[1] = "g:\\Storage\\002.jpg";
_fileNames[2] = "g:\\Storage\\003.jpg";
_fileNames[3] = "g:\\Storage\\004.jpg";
_fileNames[4] = "g:\\Storage\\005.jpg";
_fileNames[5] = "g:\\Storage\\006.jpg";
_fileNames[6] = "g:\\Storage\\007.jpg";
_fileNames[7] = "g:\\Storage\\008.jpg";
_fileNames[8] = "g:\\Storage\\009.jpg";
_fileNames[9] = "g:\\Storage\\010.jpg";
c.ConcatMedia(_fileNames, "g:\\Storage\\test2.mp4", Format.mp4, set);
また、 ConcatMedia の代わりに ConvertMedia() メソッドを使用しようとしましたが、結果は同じです。
これが画像のシーケンスであることをコンバータに伝える方法はありますか?
これを行う他のFFMPEGラッパーまたは方法はありますか?
良いが.NET 3.5でしか動作しないAForgeクラスを見つけました
Tnx!