问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java 如何将多张JPG图片合成视频文件,比如:avi格式 或 mpg格式.

发布网友 发布时间:2022-02-24 06:14

我来回答

4个回答

热心网友 时间:2022-02-24 07:43

之前有做过图片合成视频的功能,大概代码就是这样,你可以看一下
/**
* 图片合成视频
* @param mp4SavePath 视频保存路径
* @param imageDir 图片地址
* @param rate 这个可以理解成视频每秒播放图片的数量
*/
public static boolean jpgToMp4(String mp4SavePath, String imageDir, double rate) {
FFmpegFrameRecorder recorder = null;
boolean flag = true;
try {
File[] files = FileUtils.fileSort(imageDir);
int [] widthArray = new int[files.length];
int [] heightArray = new int[files.length];

/**
* 获取合成视频图片的最大宽高,避免图片比例不一致最终合成效果差
*/
for (int i = 0; i < files.length; i++) {
BufferedImage bufferedImage = ImageIO.read(files[i]);
widthArray[i] = bufferedImage.getWidth();
heightArray[i] = bufferedImage.getHeight();
}

/**
* 这个方法主要是防止图片比例达不到视频合成比例的要求,如果达不到下面条件视频则会无法播放
* 图片宽:必须要被32整除
* 图片高:必须要被2整除
*/
int [] maxWH = getImgMaxWH(widthArray,heightArray);
recorder = new FFmpegFrameRecorder(mp4SavePath,maxWH[0],maxWH[1]);
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
/**
* 视频质量:目前测试出来的是25-30最清晰,视频质量范围好像是0-40,具体可以自己慢慢测
*/
recorder.setVideoQuality(25);
recorder.setFormat("mp4");
recorder.setFrameRate(rate > 0 ? rate : 1);
recorder.setPixelFormat(0);
recorder.start();

OpenCVFrameConverter.ToIplImage conveter = new OpenCVFrameConverter.ToIplImage();

/**
* 合成视频
*/
for(int i = 0; i < files.length; i++ ){
opencv_core.IplImage image = cvLoadImage(files[i].getPath());
recorder.record(conveter.convert(image));
opencv_core.cvReleaseImage(image);
}
logger.info("合成成功");
} catch(Exception e) {
e.printStackTrace();
flag = false;
logger.error("合成失败");
} finally {
try {
if (recorder != null){
recorder.stop();
recorder.release();
}
} catch (FrameRecorder.Exception e) {
e.printStackTrace();
}
}
return flag;
}

热心网友 时间:2022-02-24 09:01

绘声绘影 威力导演 等等追问我要的是java编写的程序代码实现方式,别给我推荐怎么 工具之类的!

追答OK! 不会! 楼主补充问题:她要的是java编写的程序代码实现方式,别给她推荐怎么 工具之类的!!!!!!!!!!!!!!!

热心网友 时间:2022-02-24 10:36

我也在找这个方法 。 你找到了么

热心网友 时间:2022-02-24 12:27

利用视频制作软件很简单就可以完成
数码大师 挺简单的,你可以尝试下一个,全中文的,0教程就能上手。
java 如何将多张JPG图片合成视频文件,比如:avi格式 或 mpg格式.

public static void jpgToMp4(String mp4SavePath, String imageDir, double rate) { FFmpegFrameRecorder recorder = null;try{ File[] files = FileUtils.fileSort(imageDir);BufferedImage bufferedImage = ImageIO.read(files[0]);int width = bufferedImage.getWidth(); //获取图片的宽 int h...

如何把doc文件转换成PDF格式?

"1.当然可以,首先要确定自己有一个pdf文档,而且确定目的是需要将pdf文档转换为word格式,然后我们将现有文档通过迅捷pdf转换器软件打开。2.通过选择PDF转换页面功能其中的PDF文件转WORD项目拖入文件。3.接着在迅捷pdf转换器下方按自己的需要是否更改文件名,然而在保存类型中选择*.doc选项。4.全部设置完成点击开始转换,确定自己设置好路径、更改文件名和保存类型即可。5.转换完成之后的word文档同样可以通过迅捷pdf转换器重新转换成一开始的pdf文档。"1.当然可以,首先要确定自己有一个pdf文档,而且确定目的是需要将pdf文档转换为word格式,然后我们将现有文档通过迅捷pdf转换器软件打开。2.通过选择PDF转换页面功能其中的PDF文件转WORD项目拖入文件。3.接着在迅捷pdf转换器下方按自己的需要是...

java 如何将多张JPG图片合成视频文件,比如:avi格式 或 mpg格式.

param mp4SavePath 视频保存路径 param imageDir 图片地址 param rate 这个可以理解成视频每秒播放图片的数量 / public static boolean jpgToMp4(String mp4SavePath, String imageDir, double rate) { FFmpegFrameRecorder recorder = null;boolean flag = true;try { File[] files = FileUtils.fileSo...

java中怎样将视频文件转换成二进制文件再转换回视频文件?求具体...

其实x.avi本身也是二进制文件,你只需要按照二进制文件读取方式读取就可以了,所以不理解你这里的x.dat又是什么样的?或者是说轮换成文本文件?如果这样的话你将x.avi一个字符一个字符地读取然后用16进制保存到x.dat中即可。再转换为y.avi时同理,读取x.dat中的两个文本字符,转换成byte再写入y.av...

java用jmf做的视频播放器 视频没画面

MJPG类与mpg是有区别的,前者由系列jpg图片组成的视频,不再时域压缩,也就是桢间的图像数据不相关。

quicktimejava版和quicktime windows版的区别

(图4-1) fromOSType()做相反的转换,转换整型的比特位为一个四字符的Java 字符串。 导出movie 最明显的有用的组件之一是MovieExporter,你可以用它来将一个QuickTime movie转换为一个非QuickTime 格式的movie,如AVI 或MPEG-4. 我们如何做呢? 类quicktime.std.qtcomponents.MovieExporter围绕movie导出组件提供了方便...

在Java中怎样把所有的视频都转换成flv格式

解决方案一: java调用ffmpeg执行视频转换 ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)对ffmpeg.exe无法解析的文件格式(wmv9,rm,rmvb等),可以先用别的工具(mencoder)转换为avi(ffmpeg能解析的)格式;mencoder.exe;drv43260.dll;pncrt.dll这3个文件是为文件格式(...

Java的JMF包编写的视频播放器能播放AVI格式的文件吗?

可以的,而且理论上可以播放任何格式的音频、视频文件。但是需要解码器。楼主可以搜一下avi解码器,然后将解码器安装之后,你的程序就可以播放avi了

java 的jmf 做了个视频播放 但是 一直都播放不出来 只能播放MP3 请问是...

jmf播放视频是可以的,至少我测试用MOV格式的电影是可以的,Player.getVisualComponent()这个方法是可以得到视频播放器控件的,不过如果你播放的是音乐文件这个方法返回null,只有播放视频文件才调用这个方法。sun用jmf写的JMStudio这个软件,可以查看jmf支持哪些格式,我看到jmf是支持AVI和MPG的,但是我测试了...

想制作电子书,求软件

下载地址:http://bersoft.com/hmhtml/hypermaker.exeHyperMakerHTML2000是同类产品中支援档案格式和效果最多的软件,性能相当出色。该软件支援HTML3.0及以后版本大部分的识别字;支援Flash、Acrobat、AVI和MPEG;可以嵌入Word、PowerPoint、Zip格式的档案;支援动态标识的使用;使用HyperMakerViewer存取支援点击音效。值的一提的...

MPG4是什么意思 怎么才能下载手机电影呢/ 还有JAVA怎么用?

mpg4是一种文件格式.要是放在手机中播放的画要把这种影片缩小下.首先是缩小到你手机屏幕那么大,再者播放的侦率也要慢点.就是1秒中放几张图.手机一般支持的是一秒中16张图,也有好的手机,或者好的播放器比如smartmovie就能放avi格式的画质很好,每秒中也能达到24张图.java是在手机上虚拟的一个环境,就...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
自深圳到厦门最佳途径 ...患者性别:女 患者年龄:23 我今年23岁。身体一向没有出什么病,但是最... 性别:女 年龄:23岁 经常心里发烧(胸前很热),提不上气,作呕,心跳加快,心... 厦门到江西自驾游最佳路线_北京到厦门自驾游路线推荐 最近脸上出现大片的豆豆,芳龄23岁,性别女,工作是对着电脑的,求高人指教... 年龄:23岁 性别:女 我本人生过孩子后,不知道什么时候腰部长出一块印记... 在梁山高速路口接济南历下区来人并送到家需要隔离吗? 首信易支付特点 ps怎么在文字外面加一圈白ps怎么在文字外面加一圈白色 哪一种酸奶含有活乳酸杆菌的 格式工厂怎样把多张图片转换成视频? 用手机怎么赚钱? 手机微信如何赚钱 怎么赚钱,亲身经历教大家用手机微信赚 合肥新房契税怎么算的 用手机微信怎么赚钱 快影怎么去掉视频上的快手号 快影怎么把图片的字沫了 京东客服被投诉会有什么样的后果呢? 照片上如何去掉水印 京东没有自己的客服,没有自己的投诉服务部了吗? 京东就不能投诉吗 京东客服电话24小时投诉 。微信还有黑名单吗,在哪里设置的 怎么把小视频放到今日头条的微头条照片里面去 微信需要上传身份证照片怎么办 微信零钱需要上传身份证照片,怎么上传? 苹果6plus id锁了怎么办 微信上传实名认证,上传身份证,审核大概需要多久? 苹果手机id忘记激活密码了怎么办&#47;iphone6plus被锁如何解锁 现在怎么在手机上赚钱,利用微信赚钱的5种 在AE或是Premiere 中,怎样将多张图导成视频? 如何用PR将多张照片合成为一个30帧甚至60帧的视频,求过程。 怎样用手机微信赚钱 教大家现在怎么在手机上赚钱,利用微信赚 怎么样能把淘宝的会员名给改掉 在手机微信上点什么可往银行卡上赚钱 淘宝怎么修改会员名字 淘宝的会员名怎么改 手机微信挣钱? 淘宝会员名能不能修改? 怎么样修改淘宝会员名 我的空调不制冷了是怎么回事啊 如何做PPT中插入柱形图 格力空调老是制热不制冷怎么回事? 空调有冷风但是不制冷是怎么回事? 空调有时制冷有时又不制冷是怎么回事 空调有冷媒不制冷是怎么回事? 空调在高温环境下不制冷怎么办? 可以在电脑桌面上设置提醒便签的软件是什么? 空调不制冷了怎么回事