我需要将多个图像(其中有完整的路径)编码为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'

)


然后,我将代码粘贴到一个函数中,这就是我得到的:
java - 使用JCodec错误将图像编码成视频-LMLPHP
如您所见,我设法导入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进行识别。

我究竟做错了什么?

最佳答案

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

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

关于java - 使用JCodec错误将图像编码成视频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52168452/

10-10 09:45