[英]Set the duration of each frame in a video using Xuggler
如何使用Xuggler設置視頻中每一幀的持續時間?
我想使用Xuggler通過Java應用程序創建視頻。 我想要的真的很簡單。 我有一些JPG文件,我想將它們編碼為視頻。 我已經使用了一些有用的示例代碼來做到這一點。 我的問題是如何設置每個幀的持續時間?
例如,如果我希望將每張圖片投影10秒。 我將在到目前為止的實際示例代碼下發布。
for (int index = 0; index < filenames.size(); index++) {
if(filenames.get(index).toString().contains("jpg")){
System.err.println(filenames.get(index).toString());
// take the screen shot
// BufferedImage screen = getDesktopScreenshot();
BufferedImage screen = ImageIO.read(filenames.get(index));
// convert to the right image type
BufferedImage bgrScreen = convertToType(screen,BufferedImage.TYPE_3BYTE_BGR);
int i=0;
while(i<FRAME_RATE){
writer.encodeVideo(0, bgrScreen, System.nanoTime() - startTime,
TimeUnit.NANOSECONDS);
++i;
}
// sleep for frame rate milliseconds
try {
Thread.sleep((long) (1000 / FRAME_RATE));
}
catch (InterruptedException e) {
// ignore
}
}
}
我想要的(使用Xuggler設置視頻中每一幀的持續時間)非常簡單
不,不是。 描述起來很簡單。 我所知道的任何視頻格式都不支持每個幀的持續時間。
例如,如果我希望將每張圖片投影10秒
但這與“設置每個幀的持續時間”不同。 一些視頻格式允許非常低的幀速率(我認為,不確定)。 如果失敗,請根據需要添加每個圖像多次,以填充所需的“ 10秒”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.