私はどこでも解決策を探していました!このウェブサイトおよび他のウェブサイトで。私はいくつかの興味深いものを見つけましたが、それらは私の問題を解決しませんでした. 説明します。
ビデオが 1 つあり、その各フレームを xuggler でグレーディングしています。すべてのフレームを取得したら、それらすべてをカラー アルゴリズムで編集します。また、オーディオを mp3 ファイルに保存します。
ここで、すべてのフレームからビデオを作成する必要があります。もちろん、このビデオは、フレームレートと持続時間と同じ特性を持つ必要があります。その後、オーディオをマージする必要があります。
前編はやったのですが、同じ特徴の動画の作り方がわかりません。私はこのコードに従っています:
http://www.javacodegeeks.com/2011/02/xuggler-tutorial-frames-capture-video.html
しかし、スナップショットを取得し、奇妙なループを使用します。
for (int index = 0; index < SECONDS_TO_RUN_FOR * FRAME_RATE; index++)
正しい特性を設定する方法がわかりません。私はビデオについてすべてを知っているので、それは簡単なはずです! サイズ、フレームレート、フレーム数。
私のコード:
public static void main(String[] args) throws IOException {
final IMediaWriter writer = ToolFactory.makeWriter(outputFilename);
writer.addVideoStream(0, 0, ICodec.ID.CODEC_ID_MPEG4,
720, 304);
long nextFrameTime = 0;
final long frameRate =25/1000;
long startTime = System.nanoTime();
while (indexVideo<1597) {
BufferedImage videoImage = null;
try {
videoImage = getVideoImage();
} catch (AWTException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
writer.encodeVideo(0, videoImage,nextFrameTime,
TimeUnit.MILLISECONDS);
nextFrameTime += frameRate;
}
writer.close();
}
private static BufferedImage getVideoImage() throws IOException, AWTException {
File imgLoc = new File("D:/Gianfranco/Sample/"+indexVideo+".png");
BufferedImage img;
img = ImageIO.read(imgLoc);
System.out.println(imgLoc.getName());
indexVideo++;
return img;
}
誰か助けてくれませんか?