Added additional args for FFmpeg
This commit is contained in:
parent
2eb62ac0a8
commit
2606cd8811
2 changed files with 29 additions and 0 deletions
|
|
@ -24,6 +24,12 @@
|
||||||
|
|
||||||
package zutil.osal.app.ffmpeg;
|
package zutil.osal.app.ffmpeg;
|
||||||
|
|
||||||
|
import zutil.StringUtil;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class includes data related to a single input into FFmpeg
|
* Class includes data related to a single input into FFmpeg
|
||||||
*/
|
*/
|
||||||
|
|
@ -34,6 +40,7 @@ public class FFmpegInput {
|
||||||
private Float duration;
|
private Float duration;
|
||||||
private Float positionStart;
|
private Float positionStart;
|
||||||
private Float positionEnd;
|
private Float positionEnd;
|
||||||
|
private List<String> additionalArgs = new ArrayList<>();
|
||||||
|
|
||||||
// Audio Options
|
// Audio Options
|
||||||
|
|
||||||
|
|
@ -77,6 +84,13 @@ public class FFmpegInput {
|
||||||
this.positionEnd = position;
|
this.positionEnd = position;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add additional args that may not be supported by the API, these values will be inserted to the command line as is.
|
||||||
|
*/
|
||||||
|
public void addAdditionalArg(String... args) {
|
||||||
|
additionalArgs.addAll(Arrays.asList(args));
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------
|
// ----------------------------------------------------
|
||||||
// Audio Options
|
// Audio Options
|
||||||
// ----------------------------------------------------
|
// ----------------------------------------------------
|
||||||
|
|
@ -135,6 +149,7 @@ public class FFmpegInput {
|
||||||
if (!subtitleEnabled)
|
if (!subtitleEnabled)
|
||||||
command.append(" -sn");
|
command.append(" -sn");
|
||||||
|
|
||||||
|
command.append(StringUtil.join(" ", additionalArgs));
|
||||||
command.append(" -i ").append(input);
|
command.append(" -i ").append(input);
|
||||||
return command.toString().trim();
|
return command.toString().trim();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,15 @@
|
||||||
|
|
||||||
package zutil.osal.app.ffmpeg;
|
package zutil.osal.app.ffmpeg;
|
||||||
|
|
||||||
|
import zutil.StringUtil;
|
||||||
import zutil.osal.app.ffmpeg.FFmpegConstants.FFmpegAudioCodec;
|
import zutil.osal.app.ffmpeg.FFmpegConstants.FFmpegAudioCodec;
|
||||||
import zutil.osal.app.ffmpeg.FFmpegConstants.FFmpegSubtitleCodec;
|
import zutil.osal.app.ffmpeg.FFmpegConstants.FFmpegSubtitleCodec;
|
||||||
import zutil.osal.app.ffmpeg.FFmpegConstants.FFmpegVideoCodec;
|
import zutil.osal.app.ffmpeg.FFmpegConstants.FFmpegVideoCodec;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class includes data related to a single output from FFmpeg
|
* Class includes data related to a single output from FFmpeg
|
||||||
*/
|
*/
|
||||||
|
|
@ -40,6 +45,7 @@ public class FFmpegOutput {
|
||||||
private Float positionEnd;
|
private Float positionEnd;
|
||||||
private Long fileSize;
|
private Long fileSize;
|
||||||
private Integer encodingPass;
|
private Integer encodingPass;
|
||||||
|
private List<String> additionalArgs = new ArrayList<>();
|
||||||
|
|
||||||
// Video Options
|
// Video Options
|
||||||
|
|
||||||
|
|
@ -115,6 +121,13 @@ public class FFmpegOutput {
|
||||||
this.encodingPass = pass;
|
this.encodingPass = pass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add additional args that may not be supported by the API, these values will be inserted to the command line as is.
|
||||||
|
*/
|
||||||
|
public void addAdditionalArg(String... args) {
|
||||||
|
additionalArgs.addAll(Arrays.asList(args));
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------
|
// ----------------------------------------------------
|
||||||
// Video Options
|
// Video Options
|
||||||
// ----------------------------------------------------
|
// ----------------------------------------------------
|
||||||
|
|
@ -336,6 +349,7 @@ public class FFmpegOutput {
|
||||||
if (!subtitleEnabled)
|
if (!subtitleEnabled)
|
||||||
command.append(" -sn");
|
command.append(" -sn");
|
||||||
|
|
||||||
|
command.append(StringUtil.join(" ", additionalArgs));
|
||||||
command.append(' ').append(output);
|
command.append(' ').append(output);
|
||||||
return command.toString().trim();
|
return command.toString().trim();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue