我一直在尋找解決方案!在這個網站和其他人。 我發現了一些有趣的事情,但他們沒有解決我的問題。我會解釋它。使用xuggler從一組圖像中創建視頻
我有一個視頻,我用xuggler對它的每一幀進行了修改。當我得到所有的幀,我用顏色算法編輯所有的幀。另外,我將音頻存儲在mp3文件中。
現在我需要從所有幀中創建一個視頻,當然,這個視頻應該具有與幀速率e持續時間相同的特性。之後,我必須合併音頻。
我已經完成了第一部分,但我不知道如何創建具有相同特徵的視頻。我下面這段代碼:
http://www.javacodegeeks.com/2011/02/xuggler-tutorial-frames-capture-video.html
Can't encode video with Xuggler
但它需要的快照,它使用一個奇怪的循環:
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;
}
鈣誰能幫助我嗎?