public static Rational R1(int num) { return R(num, 1); }
public static Rational R(int num) { return R(num, 1); }
public static Rational R(int num) { return R(num, 1); }
public static Rational parse(String string) { int idx = string.indexOf(":"); if (idx < 0) { idx = string.indexOf("/"); } if (idx > 0) { String num = string.substring(0, idx); String den = string.substring(idx + 1); return new Rational(parseInt(num), parseInt(den)); } return R(parseInt(string), 1); }
public static SequenceEncoder create2997Fps(File out) throws IOException { return new SequenceEncoder(NIOUtils.writableChannel(out), Rational.R(30000, 1001), MOV, H264, null); }
public static SequenceEncoder create24Fps(File out) throws IOException { return new SequenceEncoder(NIOUtils.writableChannel(out), Rational.R(24, 1), MOV, H264, null); }
public static SequenceEncoder createSequenceEncoder(File out, int fps) throws IOException { return new SequenceEncoder(NIOUtils.writableChannel(out), Rational.R(fps, 1), MOV, H264, null); }
public static AWTSequenceEncoder create30Fps(File out) throws IOException { return new AWTSequenceEncoder(NIOUtils.writableChannel(out), Rational.R(30, 1)); }
public static SequenceEncoder create25Fps(File out) throws IOException { return new SequenceEncoder(NIOUtils.writableChannel(out), Rational.R(25, 1), MOV, H264, null); }
public static AWTSequenceEncoder create2997Fps(File out) throws IOException { return new AWTSequenceEncoder(NIOUtils.writableChannel(out), Rational.R(30000, 1001)); }
public static AWTSequenceEncoder create24Fps(File out) throws IOException { return new AWTSequenceEncoder(NIOUtils.writableChannel(out), Rational.R(24, 1)); }
public static SequenceEncoder create30Fps(File out) throws IOException { return new SequenceEncoder(NIOUtils.writableChannel(out), Rational.R(30, 1), MOV, H264, null); }
public static AWTSequenceEncoder createSequenceEncoder(File out, int fps) throws IOException { return new AWTSequenceEncoder(NIOUtils.writableChannel(out), Rational.R(fps, 1)); }
public static AWTSequenceEncoder create25Fps(File out) throws IOException { return new AWTSequenceEncoder(NIOUtils.writableChannel(out), Rational.R(25, 1)); }
public static void picToVideo(String fileName, List<String> list){ SeekableByteChannel out = null; AWTSequenceEncoder encoder = null; int size = list.size(); int index = 0; try { out = NIOUtils.writableFileChannel(fileName); encoder = new AWTSequenceEncoder(out, Rational.R(1, 1)); for(String file : list) { index ++; BufferedImage image = ImageIO.read(new File(file)); image = rotateImage(image); encoder.encodeImage(image); if((index % 5) == 0){ log.info("Video generation complete " + (index*100/size) + "%"); } } }catch (Exception e){ log.error("Fail to generate video!"); e.printStackTrace(); } finally { try { encoder.finish(); }catch (Exception e){ e.printStackTrace(); } NIOUtils.closeQuietly(out); } }