2013-06-12 50 views
0

如何使用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 
      } 
     } 
    } 
+0

一個空白的空白行總是足夠的。 –

回答

1

我想要什麼(設置每一幀的使用Xuggler視頻時長)是非常簡單的

不,它不是。描述很簡單。沒有我知道的視頻格式支持每幀的不同持續時間。

例如,如果我想成爲預計10secs

每張圖片但是,這是不一樣的東西「設定的每個幀的持續時間」。一些視頻格式允許非常低的幀速率(我認爲,不確定)。如果沒有,請根據需要多次添加每張圖片以填充所需的「10秒」。

+0

好吧,這就是我迄今爲止所做的,但我認爲這是另一種方式。如果這是正確的,那麼沒問題.Thx – user1746708