/*
* Meviz - Various tools collection to work with multimedia.
* Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of version 2 of the GNU General Public License
* as published by the Free Software Foundation.
import eu.svjatoslav.commons.file.CommonPathResolver;
import eu.svjatoslav.commons.file.FilePathParser;
import eu.svjatoslav.meviz.Module;
+import eu.svjatoslav.meviz.encoder.BitrateParameter;
import eu.svjatoslav.meviz.encoder.EncodingOptions;
import eu.svjatoslav.meviz.encoder.EncodingPlan;
import eu.svjatoslav.meviz.encoder.EncodingTask;
-import eu.svjatoslav.meviz.encoder.converters.Converter;
-import eu.svjatoslav.meviz.encoder.converters.Mts2Mp4;
+import eu.svjatoslav.meviz.encoder.converters.AbstractConverter;
+import eu.svjatoslav.meviz.encoder.converters.AvconvVideo;
public class Main implements Module {
}
public File[] getDiskVideos(final File file) {
- final String videosPath = file.getAbsolutePath()
- + "/AVCHD/BDMV/STREAM/";
+ final String videosPath = file.getAbsolutePath() + "/AVCHD/BDMV/STREAM/";
final File videosDirectory = new File(videosPath);
if (!videosDirectory.exists())
return valueString;
};
+ private EncodingOptions getEncodingOptions() {
+ final EncodingOptions options = new EncodingOptions();
+ options.setVideoBitrate(BitrateParameter.bitrate.COPY);
+ options.setAudioBitrate(BitrateParameter.bitrate.COPY);
+ return options;
+ }
+
@Override
public String getModuleCommand() {
return "grabmemcard";
final GregorianCalendar calendar = new GregorianCalendar();
final StringBuffer directoryName = new StringBuffer();
- directoryName.append(calendar.get(GregorianCalendar.YEAR) + "."
- + getDoubleDigit(calendar.get(GregorianCalendar.MONTH) + 1)
- + "."
- + getDoubleDigit(calendar.get(GregorianCalendar.DAY_OF_MONTH))
- + " ");
-
- directoryName.append(getDoubleDigit(now.getHours()) + ":"
- + getDoubleDigit(now.getMinutes()) + ":"
+ directoryName.append(
+ calendar.get(GregorianCalendar.YEAR) + "." + getDoubleDigit(calendar.get(GregorianCalendar.MONTH) + 1)
+ + "." + getDoubleDigit(calendar.get(GregorianCalendar.DAY_OF_MONTH)) + " ");
+
+ directoryName.append(getDoubleDigit(now.getHours()) + ":" + getDoubleDigit(now.getMinutes()) + ":"
+ getDoubleDigit(now.getSeconds()));
- final String targetDirectoryPath = CommonPathResolver
- .getDesktopDirectory().getAbsolutePath()
- + "/"
+ final String targetDirectoryPath = CommonPathResolver.getDesktopDirectory().getAbsolutePath() + "/"
+ directoryName.toString() + "/";
System.out.println("Target directory path: " + targetDirectoryPath);
return new File(targetDirectoryPath);
}
+ private File getTargetFile(final File targetDirectory, final File sourceFile) {
+ // compute target file path
+ final StringBuffer targetFilePath = new StringBuffer();
+ targetFilePath.append(targetDirectory.getAbsolutePath());
+ targetFilePath.append("/");
+ targetFilePath.append(FilePathParser.getFileNameWithoutExtension(sourceFile));
+ targetFilePath.append(".mp4");
+ final File targetFile = new File(targetFilePath.toString());
+ return targetFile;
+ }
+
@Override
public void run(final String[] args) throws IOException {
final File targetDirectory = getTargetDirectory();
targetDirectory.mkdirs();
- final Converter converter = new Mts2Mp4();
+ final AbstractConverter converter = new AvconvVideo();
final EncodingPlan encodingPlan = new EncodingPlan();
final String userName = System.getProperty("user.name");
for (final File sourceFile : diskVideos) {
- // compute target file path
- final StringBuffer targetFilePath = new StringBuffer();
- targetFilePath.append(targetDirectory.getAbsolutePath());
- targetFilePath.append("/");
- targetFilePath.append(FilePathParser
- .getFileNameWithoutExtension(sourceFile));
- targetFilePath.append(".mp4");
- final File targetFile = new File(targetFilePath.toString());
-
- final EncodingTask encodingTask = new EncodingTask(sourceFile,
- targetFile, converter);
+ final File targetFile = getTargetFile(targetDirectory, sourceFile);
+
+ final EncodingTask encodingTask = new EncodingTask(sourceFile, targetFile, converter, "mp4");
+ encodingTask.setUseTerminal(true);
encodingPlan.scheduleTask(encodingTask);
}
}
- final EncodingOptions options = new EncodingOptions();
-
- encodingPlan.execute(options);
+ encodingPlan.execute(getEncodingOptions());
}
@Override