OpenGLでフレームバッファを作成するプログラムがあります。バッファを.pngまたは.jpgファイルとして保存できます。また、複数の画像ファイルを.mpgに変換するWindowsのユーティリティ( http://www.radgametools.com/bnkmain.htmなど)に精通しています。
しかし、私はオープンソースライブラリがすでにRAMにある私のバッファで呼び出すことを望みます。そのようなAPIは存在しますか?
OpenGLでフレームバッファを作成するプログラムがあります。バッファを.pngまたは.jpgファイルとして保存できます。また、複数の画像ファイルを.mpgに変換するWindowsのユーティリティ( http://www.radgametools.com/bnkmain.htmなど)に精通しています。
しかし、私はオープンソースライブラリがすでにRAMにある私のバッファで呼び出すことを望みます。そのようなAPIは存在しますか?
ffmpegのlibavcodecはおそらく始めるのに良い場所です。
ライブラリを探しているので、OpenCV(Windows / Linux / Macでサポートされているクロスプラットフォームライブラリ)を確認することをお勧めします。
私は少し前に以下のコードを書きました。現在のディレクトリから2つのJPG画像をロードし、それを使用してビデオファイルを作成します。始めるにはそれで十分だと思います。
#include <cv.h>
#include <highgui.h>
int main()
{
IplImage* img1 = cvLoadImage("img1.jpg", CV_LOAD_IMAGE_UNCHANGED);
IplImage* img2 = cvLoadImage("img2.jpg", CV_LOAD_IMAGE_UNCHANGED);
float fps = 20;
CvVideoWriter* writer = cvCreateVideoWriter("out.avi", CV_FOURCC('M','J','P','G'), fps, cvGetSize(img1), true);
if (!writer)
{
fprintf (stderr, "VideoWriter failed!\n");
return -1;
}
cvWriteFrame(writer, img1);
cvWriteFrame(writer, img2);
cvReleaseVideoWriter(&writer);
cvReleaseImage(&img1);
cvReleaseImage(&img2);
}