possibility to quickly encode video for portable players
[meviz.git] / src / main / java / eu / svjatoslav / meviz / encoder / converters / AvconvVideo.java
index c63837a..de295ca 100644 (file)
@@ -47,27 +47,36 @@ public class AvconvVideo extends AbstractConverter {
                // convert
                final StringBuffer codecParams = new StringBuffer();
 
-               codecParams.append("-acodec libmp3lame -vcodec libx264");
+               String videoCodec = "libx264 ";
 
-               codecParams.append(" -b " + videoBitrate + "k");
-               codecParams.append(" -b:a " + audioBitrate + "k");
+               if (options.forPortablePlayer) {
+                       videoBitrate = 1000;
+                       audioBitrate = 128;
+                       videoCodec = "libxvid ";
+                       codecParams.append("-s 640x480 ");
+               }
+
+               codecParams.append("-acodec libmp3lame -vcodec " + videoCodec);
+
+               codecParams.append("-b " + videoBitrate + "k ");
+               codecParams.append("-b:a " + audioBitrate + "k ");
 
                if (options.deinterlace)
-                       codecParams.append(" -filter:v yadif");
+                       codecParams.append("-filter:v yadif ");
 
                return "avconv -i \"" + inputFile.getAbsolutePath() + "\" "
-                               + codecParams.toString() + " \"" + targetFile.getAbsolutePath()
+                               + codecParams.toString() + "\"" + targetFile.getAbsolutePath()
                                + "\"";
        }
 
        @Override
        public List<String> getSourceFileExtensions() {
-               return toList("mkv", "mts");
+               return toList("mkv", "mts", "mp4", "avi");
        }
 
        @Override
        public List<String> getTargetFileExtensions() {
-               return toList("mp4");
+               return toList("mkv", "mts", "mp4", "avi");
        }
 
        @Override