后端图片合成(如何使用Java实现多张图片转换为视频)

后端图片合成(如何使用Java实现多张图片转换为视频)

大家好,今天来为大家分享后端图片合成的一些知识点,和后端图片合成的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!



虽然前端也可以直接把一个几秒的视频传给后端,后端拿着这个视频继续做别的业务流程,但是前端这种操作的方式,有两个问题:

打开摄像头录制视频会跳转到另外一个页面,对客户使用不友好;苹果手机不支持跳转到另外一个页面录制视频。

基于以上两个前端处理不了的问题,只能交给后端的开发人员去慢慢探索了。

刚开始我也是在网上搜集相关资料,但是这方面的资料非常稀少,并且还不是免费的。

最终我也没消费,就是到处搜罗相关Java的API,最终编码实现了多张图片转换成视频。

代码demo如下:

解释下编码过程中需特别注意的地方:

设置每秒帧数:帧数越大,转换后的视频越清晰,但是文件占内存也越大。所以按实际业务情况综合考虑,设定一个数值即可。设置视频宽和高:一般根据图片的长宽设定即可,也可与前端开发人员商定一个具体的值。设置图像的无头模式:如果没有该设置,运行程序会抛出如下异常java.awt.HeadlessException

Caused by: javax.media.NoProcessorException: Error instantiating class: com.sun.media.processor.unknown.Handler : java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. at javax.media.Manager.createProcessorForSource(Manager.java:1755) at javax.media.Manager.createProcessor(Manager.java:666) at org.jim2mov.sun.ImagesToMovie.saveMovie(ImagesToMovie.java:81) at org.jim2mov.core.Jim2Mov.saveMovie(Jim2Mov.java:143) ... 47 more设置压缩比:修改代码示例中的0.7f即可,它的数值范围为0.0到1.0之间。生成视频的清晰度与它息息相关,数值越大,越清晰,随之文件的内存占用越来越大。所以该值的设置也需按实际业务情况综合考虑。涉及的jar依赖:要正常使用上面的示例代码,必须添加这两个依赖包,Jim2mov.jar和jmf.jar。

必备的jar包

添加外部jar包到maven项目的方式

Jim2mov.jar和jmf.jar这两个包在maven的中心仓库中是找不到的,所以只能用其他方式来满足开发的需要。

第一种方式:将jar包上传到公司的maven私服仓库中,然后在pom.xml文件中引用。一般是项目经理或者主管才有权限上传。

使用仓库的web管理界面或者命令行的方式,都可以上传jar包私服上。

第二种方式:将jar包放置在本地项目的目录下,然后在pom.xml文件中直接引用。

我的项目下放置jar的目录

然后pom.xml文件引入即可,${project.basedir}表示项目的根目录

后端图片合成(如何使用Java实现多张图片转换为视频)

只需把以上两部分的内容在自己的电脑上准备好,即可使用Java语言将多张图片转换成视频。

下面两张截图是我在实现功能时,使用的图片以及最后生成的视频。

到此,本次知识分享就结束了,谢谢大家对我的创作方面的鼓励。我会继续努力。

关于后端图片合成后端图片合成的介绍到此结束,希望对大家有所帮助。

文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有

相关阅读