java - 使用 Xuggler 设置视频中每帧的持续时间

标签 java video 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
            }
        }
    }

最佳答案

What I want(Set the duration of each frame in a video using Xuggler) is really simple

不,不是。描述起来很简单。据我所知,没有视频格式支持每帧的不同持续时间。

For example if I want each picture to be projected for 10secs

但这与“设置每个帧的持续时间”不同。有些视频格式允许非常低的帧速率(我认为,不确定)。如果做不到这一点,请根据需要多次添加每个图像以填充所需的“10 秒”。

关于java - 使用 Xuggler 设置视频中每帧的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17065506/

相关文章:

java - Xuggler 是否有更高级别的 API?

java - 内容未添加到 pdf 页面

video - 如何在没有实际输入文件的情况下直接从 FFmpeg 过滤器生成视频文件?

html - mp4 视频无法在 iphone 上播放;盒子是空白的

java - 将视频从一种格式转码为另一种格式时出错

JAVA - Xuggler - 结合 MP3 音频文件和 MP4 电影

java - 如何在 Vuforia AR 库上渲染 LibGDX modelInstance?

java - 如何在JAVA中创建带有无符号整数的数据包

java - 0 使用图书馆项目时返回获取资源的 ID

ios - 在 iOS 8 中屏幕录制视频崩溃