private String[] internalGetSinglePass() { switch (type) { case TYPE_NO_GOOD: Log.v(""); case TYPE_NO_CHANGE: case TYPE_TWO_PASS: return null; } ArrayList<String> cmd = new ArrayList<String>(); cmd.add("ffmpeg"); cmd.add("-i"); cmd.add(conversionSetting.getOriginalVideoFile().getAbsolutePath()); cmd.add("-vcodec"); cmd.add("copy"); if (type == TYPE_CONVERT_ONLY_AUDIO) { addAudioConversion(cmd); } else { cmd.add("-acodec"); cmd.add("copy"); } cmd.add("-movflags"); cmd.add("+faststart"); cmd.add(conversionSetting.getTempVideoFile().getAbsolutePath()); return getArray(cmd); }
private String[] internalGetCrfSinglePass() { if (type != TYPE_CRF) return null; ArrayList<String> cmd = new ArrayList<String>(); cmd.add("ffmpeg"); cmd.add("-i"); cmd.add(conversionSetting.getOriginalVideoFile().getAbsolutePath()); cmd.add("-c:v"); cmd.add("libx264"); cmd.add("-profile:v"); cmd.add("high"); cmd.add("-level"); cmd.add("5"); cmd.add("-preset"); cmd.add(Settings.ARRAY_SPEED[conversionSetting.getSpeed()]); cmd.add("-crf"); switch (conversionSetting.getQuality()) { case Settings.QUALITY_SUPER: cmd.add("15"); break; case Settings.QUALITY_NORMAL: cmd.add("23"); break; case Settings.QUALITY_HIGH: default: cmd.add("18"); break; } String videoBitRate = getVideoBitrate(); if (videoBitRate != null) { cmd.add("-maxrate"); cmd.add(videoBitRate); cmd.add("-bufsize"); cmd.add("5M"); } addAudioConversion(cmd); cmd.add("-movflags"); cmd.add("+faststart"); cmd.add(conversionSetting.getTempVideoFile().getAbsolutePath()); return getArray(cmd); }
// // ffmpeg command generation // ================================================================================================================= private String[] internalGetFirstPass() { if (type != TYPE_TWO_PASS) return null; ArrayList<String> cmd = new ArrayList<String>(); cmd.add("ffmpeg"); cmd.add("-i"); cmd.add(conversionSetting.getOriginalVideoFile().getAbsolutePath()); String videoBitrate = getVideoBitrate(); if (videoBitrate == null) return null; addVideoConversion(cmd, videoBitrate); cmd.add("-an"); cmd.add("-pass"); cmd.add("1"); cmd.add(conversionSetting.getTempVideoFile().getAbsolutePath()); return getArray(cmd); }