Class FFmpegKit
- java.lang.Object
-
- com.arthenica.ffmpegkit.FFmpegKit
-
public class FFmpegKit extends java.lang.Object
Main class to run
FFmpeg
commands. Supports executing commands both synchronously and asynchronously.FFmpegSession session = FFmpegKit.execute("-i file1.mp4 -c:v libxvid file1.avi"); FFmpegSession asyncSession = FFmpegKit.executeAsync("-i file1.mp4 -c:v libxvid file1.avi", executeCallback);
Provides overloaded
execute
methods to define session specific callbacks.FFmpegSession asyncSession = FFmpegKit.executeAsync("-i file1.mp4 -c:v libxvid file1.avi", executeCallback, logCallback, statisticsCallback);
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
argumentsToString(java.lang.String[] arguments)
Concatenates arguments into a string adding a space character between two arguments.static void
cancel()
Cancels all running sessions.static void
cancel(long sessionId)
Cancels the session specified withsessionId
.static FFmpegSession
execute(java.lang.String command)
Synchronously executes FFmpeg command provided.static FFmpegSession
execute(java.lang.String[] arguments)
Synchronously executes FFmpeg with arguments provided.static FFmpegSession
executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback)
Asynchronously executes FFmpeg with arguments provided.static FFmpegSession
executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback)
Asynchronously executes FFmpeg with arguments provided.static FFmpegSession
executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg with arguments provided.static FFmpegSession
executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg with arguments provided.static FFmpegSession
executeAsync(java.lang.String command, ExecuteCallback executeCallback)
Asynchronously executes FFmpeg command provided.static FFmpegSession
executeAsync(java.lang.String command, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback)
Asynchronously executes FFmpeg command provided.static FFmpegSession
executeAsync(java.lang.String command, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg command provided.static FFmpegSession
executeAsync(java.lang.String command, ExecuteCallback executeCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg command provided.static java.util.List<FFmpegSession>
listSessions()
Lists all FFmpeg sessions in the session history.static java.lang.String[]
parseArguments(java.lang.String command)
Parses the given command into arguments.
-
-
-
Method Detail
-
execute
public static FFmpegSession execute(java.lang.String[] arguments)
Synchronously executes FFmpeg with arguments provided.
- Parameters:
arguments
- FFmpeg command options/arguments as string array- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback)
Asynchronously executes FFmpeg with arguments provided.
- Parameters:
arguments
- FFmpeg command options/arguments as string arrayexecuteCallback
- callback that will be called when the execution is completed- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback)
Asynchronously executes FFmpeg with arguments provided.
- Parameters:
arguments
- FFmpeg command options/arguments as string arrayexecuteCallback
- callback that will be called when the execution is completedlogCallback
- callback that will receive logsstatisticsCallback
- callback that will receive statistics- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg with arguments provided.
- Parameters:
arguments
- FFmpeg command options/arguments as string arrayexecuteCallback
- callback that will be called when the execution is completedexecutorService
- executor service that will be used to run this asynchronous operation- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String[] arguments, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg with arguments provided.
- Parameters:
arguments
- FFmpeg command options/arguments as string arrayexecuteCallback
- callback that will be called when the execution is completedlogCallback
- callback that will receive logsstatisticsCallback
- callback that will receive statisticsexecutorService
- executor service that will be used to run this asynchronous operation- Returns:
- FFmpeg session created for this execution
-
execute
public static FFmpegSession execute(java.lang.String command)
Synchronously executes FFmpeg command provided. Space character is used to split command into arguments. You can use single or double quote characters to specify arguments inside your command.
- Parameters:
command
- FFmpeg command- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String command, ExecuteCallback executeCallback)
Asynchronously executes FFmpeg command provided. Space character is used to split command into arguments. You can use single or double quote characters to specify arguments inside your command.
- Parameters:
command
- FFmpeg commandexecuteCallback
- callback that will be called when the execution is completed- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String command, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback)
Asynchronously executes FFmpeg command provided. Space character is used to split command into arguments. You can use single or double quote characters to specify arguments inside your command.
- Parameters:
command
- FFmpeg commandexecuteCallback
- callback that will be called when the execution is completedlogCallback
- callback that will receive logsstatisticsCallback
- callback that will receive statistics- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String command, ExecuteCallback executeCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg command provided. Space character is used to split command into arguments. You can use single or double quote characters to specify arguments inside your command.
- Parameters:
command
- FFmpeg commandexecuteCallback
- callback that will be called when the execution is completedexecutorService
- executor service that will be used to run this asynchronous operation- Returns:
- FFmpeg session created for this execution
-
executeAsync
public static FFmpegSession executeAsync(java.lang.String command, ExecuteCallback executeCallback, LogCallback logCallback, StatisticsCallback statisticsCallback, java.util.concurrent.ExecutorService executorService)
Asynchronously executes FFmpeg command provided. Space character is used to split command into arguments. You can use single or double quote characters to specify arguments inside your command.
- Parameters:
command
- FFmpeg commandexecuteCallback
- callback that will be called when the execution is completedlogCallback
- callback that will receive logsstatisticsCallback
- callback that will receive statisticsexecutorService
- executor service that will be used to run this asynchronous operation- Returns:
- FFmpeg session created for this execution
-
cancel
public static void cancel()
Cancels all running sessions.
This function does not wait for termination to complete and returns immediately.
-
cancel
public static void cancel(long sessionId)
Cancels the session specified with
sessionId
.This function does not wait for termination to complete and returns immediately.
- Parameters:
sessionId
- id of the session that will be cancelled
-
listSessions
public static java.util.List<FFmpegSession> listSessions()
Lists all FFmpeg sessions in the session history.
- Returns:
- all FFmpeg sessions in the session history
-
parseArguments
public static java.lang.String[] parseArguments(java.lang.String command)
Parses the given command into arguments. Uses space character to split the arguments. Supports single and double quote characters.
- Parameters:
command
- string command- Returns:
- array of arguments
-
argumentsToString
public static java.lang.String argumentsToString(java.lang.String[] arguments)
Concatenates arguments into a string adding a space character between two arguments.
- Parameters:
arguments
- arguments- Returns:
- concatenated string containing all arguments
-
-