将图像编码为带有 JCodec 错误的视频

Encoding Images Into Video with JCodec Errors

我需要在android上将多个图像(其中我有完整的路径)编码成一个特定FPS的视频。

试验:

为什么我无法让它工作: 我将 Jcodec Dependecy 添加到 gradle 文件(

compile 'org.jcodec:jcodec:0.2.3'
compile 'org.jcodec:jcodec-android:0.2.2'

)

然后我将代码粘贴到一个函数中,这就是我得到的: 如您所见,我设法导入了 SequenceEncoder(导入 org.jcodec.api.SequenceEncoder;) 但是它不识别 Buffered Image(我想是因为我必须使用 Bitmap)

它在 SequenceEncoder 中给我一个错误。

也无法识别 encodeImage 方法。

然后我尝试使用我在 JCodec 网站上找到的代码:

SeekableByteChannel out = null;
    try {
        out = NIOUtils.writableFileChannel("/tmp/output.mp4");
        // for Android use: AndroidSequenceEncoder
        AWTSequenceEncoder encoder = new AWTSequenceEncoder(out, Rational.R(25, 1));
        for (...) {
            // Generate the image, for Android use Bitmap
            BufferedImage image = ...;
            // Encode the image
            encoder.encodeImage(image);
        }
        // Finalize the encoding, i.e. clear the buffers, write the header, etc.
        encoder.finish();
    } finally {
        NIOUtils.closeQuietly(out);
    }

但它无法识别 AWTSequenceEncoder,因此无法识别方法 encodeImage 和 finish。

我做错了什么?

好的,我找到了问题的答案,从技术上讲,它在这个问题的答案中:

但是只有两票,尽管它是唯一对我有用的,而且我发现唯一应该有用的。您不能在 android 中使用 BufferedImages,而投票最多的问题可以,而我没有找到的 SequenceEncoder 被替换为 AndroidSequenceEncoder .