1、引入jar包

  • Jim2mov.jar

  • jmf-2.1.1e.jar

不引入第二个包 报错

Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/Media

2、img2mov代码

package img2mov;import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Comparator;import org.jim2mov.core.DefaultMovieInfoProvider;
import org.jim2mov.core.ImageProvider;
import org.jim2mov.core.Jim2Mov;
import org.jim2mov.core.MovieInfoProvider;
import org.jim2mov.core.MovieSaveException;
import org.jim2mov.utils.MovieUtils;public class Image2Mov {public static void main(String[] args) {// TODO Auto-generated method stubString jpgDirPath = "E:\\img2mov\\"; // jpg文件夹路径// 生成的mov视频文件名,路径为本工程下 (其他 类似 .avi格式不能直接播放)String aviFileName = "test.mov"; int fps = 3; // 每秒播放的帧数int mWidth = 1440; // 视频的宽度int mHeight = 860; // 视频的高度Image2Mov.convertPicToAvi(jpgDirPath, aviFileName, fps, mWidth, mHeight);}/*** 将图片转换成视频* * @param jpgDirPath  jpg图片文件夹绝对路径* @param aviFileName  生成的avi视频文件名* @param fps 每秒帧数* @param mWidth 视频的宽度* @param mHeight 视频的高度* @throws Exception*/public static void convertPicToAvi(String jpgDirPath, String aviFileName, int fps, int mWidth, int mHeight) {// jpgs目录放置jpg图片,图片文件名为(1.jpg,2.jpg...)final File[] jpgs = new File(jpgDirPath).listFiles();if (jpgs == null || jpgs.length == 0) {return;}// 对文件名进行排序(本示例假定文件名中的数字越小,生成视频的帧数越靠前)Arrays.sort(jpgs, new Comparator<File>() {public int compare(File file1, File file2) {String numberName1 = file1.getName().replace(".jpg", "");String numberName2 = file2.getName().replace(".jpg", "");return new Integer(numberName1) - new Integer(numberName2);}});// 生成视频的名称DefaultMovieInfoProvider dmip = new DefaultMovieInfoProvider(aviFileName);// 设置每秒帧数dmip.setFPS(fps > 0 ? fps : 3); // 如果未设置,默认为3// 设置总帧数dmip.setNumberOfFrames(jpgs.length);// 设置视频宽和高(最好与图片宽高保持一直)// 如果未设置,默认为1440 * 860dmip.setMWidth(mWidth > 0 ? mWidth : 1440); dmip.setMHeight(mHeight > 0 ? mHeight : 860); try {new Jim2Mov(new ImageProvider() {public byte[] getImage(int frame) {try {// 设置压缩比return MovieUtils.convertImageToJPEG((jpgs[frame]), 1.0f);} catch (IOException e) {System.err.println(e);}return null;}}, dmip, null).saveMovie(MovieInfoProvider.TYPE_QUICKTIME_JPEG);} catch (MovieSaveException e) {System.err.println(e);}System.out.println("create mov success.");}}

生成图片路径默认 项目文件夹下

生成文件没有问题,但是目前除了 .mov格式文件正常播放

其他格式提示视频编码 错误

java 多图片拼接 转 视频 AVI相关推荐

  1. ffmpeg入门及java操作ffmpeg对视频进行处理

    一.ffmpeg 1.简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非 ...

  2. Java+Windows+ffmpeg实现视频转换

    旧文,源地址见这里. 最近由于项目需要,研究了一下如何用Java实现视频转换,"着实"废了点心思,整理整理,写出给自己备忘下. 思路 由于之前没有没法过相关功能的经验,一开始来真不 ...

  3. mysql+视频文件转成流_详解java调用ffmpeg转换视频格式为flv

    详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:W ...

  4. java抖音字符视频_抖音上很火的字符画 Android 实现 | 视频转换实现

    最后像国际象棋格子一样,一块一块的替换掉,由于计算相对比较复杂,所以耗时比较长,因此当时那个demo也让我搁置了. 最近看到这篇日推,不由得眼前一亮,因为很少有人在android端做这种东西,因为算法 ...

  5. java + ffmped + mencoder搭建视频处理平台

    java + ffmped + mencoder搭建视频处理平台 ffmpeg+mencoder几乎可以完成目前基于web的播客平台任何音视频处理的操作.如果还需要添加一些什么的话,那么就是视频在线录 ...

  6. Java使用FFmpeg处理视频文件指南

    https://www.cnblogs.com/Dreamer-1/p/10394011.html Java使用FFmpeg处理视频文件指南 本文主要讲述如何使用Java + FFmpeg实现对视频文 ...

  7. 【FFmpeg】java实现利用ffmpeg视频上传转码同时截取一帧保存为同名图片,并获取视频分辨率

    〇.前情提要 完成了视频上传,接下来是给上传的视频保存一张同名的jpg文件在同样文件夹中,并且获取到视频的分辨率. macOS Catalina 10.15.1 ffmpeg version 4.3. ...

  8. Java架构师在线视频,架构师的7大必备技能

    优秀的架构师的核心能力模型包含:编程.性能调优.架构设计等能力等. 编程能力 对工程师而言,编程是最基础的能力,必备技能,其本质是一个翻译能力,将业务需求翻译成机器能懂的语言. 提升编程能力的书籍有很 ...

  9. java 微服务实践 视频,全新JAVA微服为务实战Spring Boot系列视频教程 小马哥 JAVA微服务实践视频课程...

    全新JAVA微服为务实战Spring Boot系列视频教程 小马哥 JAVA微服务实践视频课程 ===============课程目录=============== ├─(1) 03Java 微服务实 ...

最新文章

  1. STL——vector
  2. apache安装_Ubuntu20.04安装Sql+apache+php
  3. electron 使用中的注意事项
  4. pixhawk px4 commander.cpp
  5. 数据结构与算法--贪婪算法2
  6. linux常用命令总结-第一次考试
  7. JVM Specification 9th Edition (1) Cover
  8. 剑指offer面试题55 - I. 二叉树的深度(DFS)(递归)
  9. Java-模拟KTV点歌(控制台程序)
  10. 数字电路基础:系统设计优化
  11. 安装office2010提示错误25541的解决方法
  12. rust怎么上邮轮_实拍沉入海底的泰坦尼克号:被海水腐蚀严重,船体将于10年后消失...
  13. html p首字母缩进,css如何控制首行缩进2个字符?
  14. Qt自定义控件的实践——电池电量控件
  15. 微信账号和语音文件的结构分析
  16. scala2.11.8安装
  17. z自建服务器,《守望先锋》将加入自建服务器 自定规则
  18. 基于模型预测控制MPC的光伏并网系统设计|太阳能发电|模型预测控制
  19. 迭代阈值图像分割matlab,Matlab 图像分割 (阈值处理)
  20. VBA中窗体模块、标准模块和类模块的区别

热门文章

  1. css如何让背景上下居中显示,CSS有哪些方式可以实现垂直居中?
  2. 离散傅立叶变换推导(DF、IDFT)
  3. 背包九讲--完全背包
  4. 传感器自学笔记第九章——SW-420震动传感器、声控开关传感器、避障传感器模块、TCRT5000循迹传感器、倾斜开关
  5. mos管怎样选型?新人必备MOS管正确选择的过程!
  6. 极域电子教室系统 远程桌面 打不开 连不上 删除GATESRV.exe MasterHelper.exe
  7. 为什么说2020年会是科技并购好时机?
  8. Power Assist Wear
  9. 巴旦木树苗种植经历了几个周期?
  10. windows下安装nc