testing video encoding parameters
[meviz.git] / src / main / java / eu / svjatoslav / meviz / encoder / converters / Mts2Mp4.java
1 /*
2  * Meviz - Various tools collection to work with multimedia.
3  * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
4  * 
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of version 2 of the GNU General Public License
7  * as published by the Free Software Foundation.
8  */
9
10 package eu.svjatoslav.meviz.encoder.converters;
11
12 import java.io.File;
13
14 import eu.svjatoslav.meviz.encoder.EncodingOptions;
15
16 public class Mts2Mp4 implements Converter {
17
18         @Override
19         public String getCommand(final File inputFile, final File targetFile,
20                         final EncodingOptions options) {
21                 //
22                 // int videoBitrate;
23                 //
24                 // switch (options.videoBitrate) {
25                 // case LOW:
26                 // videoBitrate = 3000;
27                 // break;
28                 //
29                 // case MEDIUM:
30                 // videoBitrate = 7000;
31                 // break;
32                 //
33                 // case HIGH:
34                 // videoBitrate = 15000;
35                 // break;
36                 //
37                 // default:
38                 // throw new RuntimeException("Video bitrate: " + options.videoBitrate
39                 // + " is not supported.");
40                 // }
41
42                 // convert
43                 // final String codecParams =
44                 // "-acodec libmp3lame -vcodec libx264 -b 10000k -b:a 500k -filter:v yadif";
45
46                 final String codecParams = "-acodec libmp3lame -vcodec libx264 -b 3500k -b:a 128k";
47
48                 // pass through
49                 // final String codecParams = "-acodec copy -vcodec copy";
50
51                 return "avconv -i \"" + inputFile.getAbsolutePath() + "\" "
52                                 + codecParams + " \"" + targetFile.getAbsolutePath() + "\"";
53         }
54
55         @Override
56         public String getSourceFileExtension() {
57                 return "mts";
58         }
59
60         @Override
61         public String getTargetFileExtension() {
62                 return "mp4";
63         }
64
65         @Override
66         public boolean isTerminalMandatory() {
67                 return true;
68         }
69
70 }