2012-04-01 12 views

答えて

2

Xuggleをご覧ください。このtutorialがお手伝いします。簡単な例の下に - 簡単に構築することができます。個々のフレームからのビデオストリームを作成する

「リアルタイム」例:

IMediaWriter writer = ToolFactory.makeWriter("C:/movie.mp4"); 
// We tell it we're going to add one video stream, with id 0, 
// at position 0, and that it will have a fixed frame rate of 
// FRAME_RATE. 
writer.addVideoStream(0, 0, IRational.make(FRAME_RATE), width, height); 
try { 
    long startTime = System.nanoTime(); 
    while(true) { 
     final BufferedImage screen = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); 
     // Draw the frame 
     // encode the image to stream #0 
     writer.encodeVideo(0, screen, System.nanoTime() - startTime, TimeUnit.NANOSECONDS); 
     Thread.sleep(1000/FRAME_RATE); 
    } 
} catch (RuntimeException x) { 
    // Problem 
} finally { 
    writer.close(); 
} 
4

は、単純なAVIムービーを作成するための純粋なJavaソリューションであるヴェルナーRandelhoferのAVIDemoを見てください。間違いなくXuggleのようなネイティブのアプローチほど高速ではありませんが、セットアップと使用は非常に簡単です。 WernerにはAVIDemoに代わる新しいMonte Media Libraryがありますが、私はまだそれを使っていませんので、使い方が簡単ではありません。

アップデート2017分の8

JCodecは、H.264/MP4など、いくつかのムービーフォーマットのためのエンコーダを提供します。それは、一連のBufferedImage(例えば、Javaで撮影された自動スクリーンショット)を取ってビデオファイルに変換することができます。

関連する問題