使用JCodec错误将图像编码成视频

时间:2018-09-04 14:21:58

标签: java android jcodec

我需要将多个图像(其中有完整的路径)编码为Android上某个FPS的视频。

试用: How to create a video from an array of images in Android?

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

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

)

然后我将代码粘贴到一个函数中,这就是我得到的: 如您所见,我设法导入SequenceEncoder(导入org.jcodec.api.SequenceEncoder;) 但这无法识别缓冲图像(我认为是因为我必须使用位图)

这给我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方法。

我在做什么错?

1 个答案:

答案 0 :(得分:0)

好的,我找到了问题的答案,从技术上来说,这是在此问题的答案中: How to create a video from an array of images in Android?

但是只有两张选票,尽管它是唯一为我工作的选票,但我发现只有一票应该工作。您无法在android中使用BufferedImages,而投票率最高的问题却被我未找到的 SequenceEncoder 替换为 AndroidSequenceEncoder