public class AvconvVideo extends AbstractConverter {
- private void constructCodecParamsString(final EncodingOptions options,
+ private String constructCodecParamsString(final EncodingOptions options,
final int videoBitrate, final int audioBitrate,
- final StringBuffer codecParams, final String videoCodec,
- final String audioCodec) {
+ final String videoCodec, final String audioCodec) {
+
+ StringBuffer codecParams = new StringBuffer();
if (audioCodec == null)
codecParams.append("-an ");
if (options.deinterlace)
codecParams.append("-filter:v yadif ");
+
+ return codecParams.toString();
}
private int getAudioBitrateValue(final BitrateParameter.bitrate bitRate) {
@Override
public String getCommand(final File inputFile, final File targetFile,
- final EncodingOptions options) {
+ final EncodingOptions options, String targetFormat) {
int videoBitrate = getVideoBitrateValue(options.getVideoBitrate());
int audioBitrate = getAudioBitrateValue(options.getAudioBitrate());
String videoCodec = "libx264";
String audioCodec = "libmp3lame";
+ if (targetFormat.equals("webm")) {
+ videoCodec = "vp9";
+ audioCodec = "opus";
+ }
+
if (options.getVideoBitrate() == bitrate.COPY)
videoCodec = "copy";
codecParams.append("-s 640x480 ");
}
- constructCodecParamsString(options, videoBitrate, audioBitrate,
- codecParams, videoCodec, audioCodec);
+ codecParams.append(constructCodecParamsString(options, videoBitrate,
+ audioBitrate, videoCodec, audioCodec));
return "avconv -i \"" + inputFile.getAbsolutePath() + "\" "
+ codecParams.toString() + "\"" + targetFile.getAbsolutePath()
@Override
public List<String> getSourceFileExtensions() {
- return toList("mkv", "mts", "mp4", "avi", "mpg", "mpeg", "vob", "m4v");
+ return toList("mkv", "mts", "mp4", "avi", "mpg", "mpeg", "vob", "m4v",
+ "webm");
}
@Override
public List<String> getTargetFileExtensions() {
- return toList("mkv", "mts", "mp4", "avi", "mpg", "mpeg", "vob", "m4v");
+ return toList("mkv", "mts", "mp4", "avi", "mpg", "mpeg", "vob", "m4v",
+ "webm");
}
private int getVideoBitrateValue(final BitrateParameter.bitrate bitRate) {