我需要将多个图像(其中有完整的路径)编码为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进行识别。
我究竟做错了什么?
最佳答案
好的,我找到了问题的答案,从技术上来说,这是在此问题的答案中:
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/