簡體   English   中英

使用Xuggler設置視頻中每一幀的持續時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM