X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fmeviz%2Fencoder%2Fconverters%2FMts2Mp4.java;h=9af415f5c3ed912065dd086e0c5ae7f82dd01a5f;hb=1615d61199bf23f22829d8d05c7253d815b15799;hp=011282f5712fbbfa506c3d697cf64c7c353d76af;hpb=50cb7085d553fdd82cd06806cd27b1675299f719;p=meviz.git diff --git a/src/main/java/eu/svjatoslav/meviz/encoder/converters/Mts2Mp4.java b/src/main/java/eu/svjatoslav/meviz/encoder/converters/Mts2Mp4.java index 011282f..9af415f 100755 --- a/src/main/java/eu/svjatoslav/meviz/encoder/converters/Mts2Mp4.java +++ b/src/main/java/eu/svjatoslav/meviz/encoder/converters/Mts2Mp4.java @@ -11,6 +11,7 @@ package eu.svjatoslav.meviz.encoder.converters; import java.io.File; +import eu.svjatoslav.meviz.encoder.BitrateParameter; import eu.svjatoslav.meviz.encoder.EncodingOptions; public class Mts2Mp4 implements Converter { @@ -18,35 +19,54 @@ public class Mts2Mp4 implements Converter { @Override public String getCommand(final File inputFile, final File targetFile, final EncodingOptions options) { - // - // int videoBitrate; - // - // switch (options.videoBitrate) { - // case LOW: - // videoBitrate = 3000; - // break; - // - // case MEDIUM: - // videoBitrate = 7000; - // break; - // - // case HIGH: - // videoBitrate = 15000; - // break; - // - // default: - // throw new RuntimeException("Video bitrate: " + options.videoBitrate - // + " is not supported."); - // } + + int videoBitrate = 0; + int audioBitrate = 0; + + switch (options.videoBitrate) { + case LOW: + videoBitrate = 1000; + audioBitrate = 128; + break; + + case MEDIUM: + videoBitrate = 3500; + audioBitrate = 128; + break; + + case HIGH: + videoBitrate = 15000; + audioBitrate = 500; + break; + + case COPY: + break; + + default: + throw new RuntimeException("Video bitrate: " + options.videoBitrate + + " is not supported."); + } // convert - final String codecParams = "-acodec libmp3lame -vcodec libx264 -b 3500k -b:a 192k"; + final StringBuffer codecParams = new StringBuffer(); + + if (options.videoBitrate == BitrateParameter.bitrate.COPY) { + // pass through + codecParams.append("-acodec copy -vcodec copy"); + + } else { + codecParams.append("-acodec libmp3lame -vcodec libx264"); + codecParams.append(" -b " + videoBitrate + "k"); + codecParams.append(" -b:a " + audioBitrate + "k"); + } - // pass through - // final String codecParams = "-acodec copy -vcodec copy"; + if (options.deinterlace) { + codecParams.append(" -filter:v yadif"); + } return "avconv -i \"" + inputFile.getAbsolutePath() + "\" " - + codecParams + " \"" + targetFile.getAbsolutePath() + "\""; + + codecParams.toString() + " \"" + targetFile.getAbsolutePath() + + "\""; } @Override