我想调用一个函数并从图像列表中构建视频,然后将其保存在设备本地:
public void CreateAndSaveVideoFile(List<Bitmap> MyBitmapArray)
{
// ..
}
Trials:
下列的java/xuggle - 将图像数组编码到电影中 https://stackoverflow.com/questions/6933708/java-xuggle-encode-array-of-images-into-a-movie,答案中的链接是死链接
下列的如何在Java中通过编程将图像编码成视频文件? https://stackoverflow.com/questions/37963625/how-to-encode-images-into-a-video-file-in-java-through-programming,接受的答案中建议的库不支持Android。
上面的下一个答案有一个针对 Android 用户的方法,但我不清楚该函数的输入和输出(他在哪里提供图像?他从哪里获得视频?) - 我留下了问题评论
上面的下一个答案提供了整个类,但是要包含的所需库有一个损坏的文件(当我尝试从提供的链接下载它时) - 我留下了一个问题评论
下列的Java:如何从图像数组创建电影? https://stackoverflow.com/questions/8856757/java-how-do-i-create-a-movie-from-an-array-of-images,顶部答案中建议的库使用了我不熟悉的命令,我什至不知道如何使用它们。喜欢:
从当前的所有 JPEG 文件创建 MPEG-4 文件
目录:
mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi
我不知道如何在 Java / Android 项目中使用上面的内容。
任何人都可以帮助指导我或/并为我提供完成任务的方法吗?提前致谢。
您可以使用jcodecSequenceEncoder
将图像序列转换为 MP4 文件。
示例代码:
import org.jcodec.api.awt.SequenceEncoder;
...
SequenceEncoder enc = new SequenceEncoder(new File("filename"));
// GOP size will be supported in 0.2
// enc.getEncoder().setKeyInterval(25);
for(...) {
BufferedImage image = ... // Obtain an image to encode
enc.encodeImage(image);
}
enc.finish();
它是一个 java 库,因此很容易将其导入到 Android 项目中,您不必像 ffmpeg 那样使用 NDK。
Refer http://jcodec.org/ http://jcodec.org/示例代码和下载。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)