这里是 Java 8。当我提到JCodec 时,我愿意接受任何可行的解决方案!
在JCodec README中,他们提供了一个不错的示例,说明如何将列表BufferedImages
转换为磁盘上的 MP4,如下所示:
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);
}
/tmp/output.mp4
我不想写入磁盘上的文件系统资源(例如“ ”),而是写入(完全符合 MP4 标准的)内存缓冲区,理想情况下是 abyte[]
或将转换为byte[]
.
这可能与 JCodec (可能是内部NIOUtils
或类似的东西)有关吗?