首页

录制JPEG到Avi视频(JpgToMov)

java

2020-6-28

录制JPEG到Avi视频

package com.fl.capture;

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.utils.MovieUtils;

public class JpgToAvi {

	/**
	 * @param args
	 */

	public static void main(String[] args) throws Exception {

		// jpgs目录放置jpg图片,图片文件名为(1.jpg,2.jpg...)
		final File[] jpgs = new File("F:\\record\\").listFiles();

		// 对文件名进行排序(本示例假定文件名中的数字越小,生成视频的帧数越靠前)
		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("dst.avi");
		dmip.setFPS(3); // 设置每秒帧数
		dmip.setNumberOfFrames(jpgs.length); // 总帧数
		dmip.setMWidth(1440);
		dmip.setMHeight(860);

		new Jim2Mov(new ImageProvider() {
			public byte[] getImage(int frame) {
				try {
					// 设置压缩比
					return MovieUtils.convertImageToJPEG((jpgs[frame]), 1.0f);
				} catch (IOException e) {
					e.printStackTrace();
				}
				return null;
			}
		}, dmip, null).saveMovie(MovieInfoProvider.TYPE_AVI_MJPEG);
	}
}

资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
JpgToMov/.classpath , 355
JpgToMov/.project , 384
JpgToMov/.settings/org.eclipse.jdt.core.prefs , 629
JpgToMov/bin/com/fl/capture/JpgToAvi$1.class , 1184
JpgToMov/bin/com/fl/capture/JpgToAvi$2.class , 864
JpgToMov/bin/com/fl/capture/JpgToAvi.class , 1352
JpgToMov/lib/Jim2mov.jar , 23578
JpgToMov/src/com/fl/capture/JpgToAvi.java , 1503
没有账号? 忘记密码?

社交账号快速登录