2012年2月12日日曜日

OpenGLのウィンドウを動画でキャプチャするクラスを作ってみた - GLCapture

OpenGLのウィンドウを動画でキャプチャするクラスを作ってみました。

研究で、OpenGLを使っていますが
プレゼンを作るときにいつもキャプチャソフトを起動、設定して動画を撮るのが面倒でした。

そこで、プログラムの方から動画を書きだすプログラムを書きました。

動画サンプル



こんな感じで録画できます。




ダウンロード



使い方はこんな感じです。

   
GLCapture glCapture;
void init(){
    //glCaptureの設定
    glCapture.setWriteFile("output.avi");
}
void display(){
    glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); 
    //~描画するプログラム~
  
    glFlush();
    glutSwapBuffers();

    //動画ファイルに書き込み
    glCapture.write();
}
と、こんな感じです。

流れとしては

GLCapture glCapture;
でクラスの宣言行い。

glCapture.setWriteFile();
でインスタンスの設定を行う

その後描画関数内で
glCapture.write();
により、現在の描画された内容を動画に書き出す処理です。  


プログラム全体のサンプルはgithubに上げてます。


注意としては、このクラスは中でOpenCVを使っているので OpenCV2.0以降をインストールしてください。
github    


これでキャプチャソフトいらず\(^o^)/

キャプチャソフトよりこっちのほうがきれいだしね。

1 件のコメント:

  1. 始めましてnkshrです。
    丁度私が探していたものだったのでありがたく使わせていただきます。

    返信削除