Merge pull request #229 from tanersener/improve-documentation

Improve documentation
This commit is contained in:
Taner Şener 2021-11-09 19:46:50 +00:00 committed by GitHub
commit 48533712d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 465 additions and 135 deletions

View File

@ -19,23 +19,19 @@ It includes scripts to build `FFmpeg` native libraries, a wrapper library to run
### 2. Android ### 2. Android
See [Android](https://github.com/tanersener/ffmpeg-kit/tree/main/android) to learn more about `FFmpegKit` for See [Android](android) to learn more about `FFmpegKit` for `Android`.
`Android`.
### 3. iOS, macOS, tvOS ### 3. iOS, macOS, tvOS
See [Apple](https://github.com/tanersener/ffmpeg-kit/tree/main/apple) to use `FFmpegKit` on `Apple` platforms See [Apple](apple) to use `FFmpegKit` on `Apple` platforms (`iOS`, `macOS`, `tvOS`).
(`iOS`, `macOS`, `tvOS`).
### 4. Flutter ### 4. Flutter
See [Flutter](https://github.com/tanersener/ffmpeg-kit/tree/main/flutter/flutter) to learn more about `FFmpegKit` for See [Flutter](flutter/flutter) to learn more about `FFmpegKit` for `Flutter`.
`Flutter`.
### 5. React Native ### 5. React Native
See [React Native](https://github.com/tanersener/ffmpeg-kit/tree/main/react-native) to learn more about `FFmpegKit` for See [React Native](react-native) to learn more about `FFmpegKit` for `React Native`.
`React Native`.
### 6. Build Scripts ### 6. Build Scripts

View File

@ -24,8 +24,8 @@ import java.util.List;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
/** /**
* <p>Main class to run <code>FFmpeg</code> commands. Supports executing commands both * <p>Main class to run <code>FFmpeg</code> commands. Supports executing commands both synchronously and
* synchronously and asynchronously. * asynchronously.
* <pre> * <pre>
* FFmpegSession session = FFmpegKit.execute("-i file1.mp4 -c:v libxvid file1.avi"); * FFmpegSession session = FFmpegKit.execute("-i file1.mp4 -c:v libxvid file1.avi");
* *
@ -64,7 +64,10 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -80,7 +83,10 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -100,7 +106,10 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -118,7 +127,10 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -152,9 +164,11 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -166,9 +180,11 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -184,9 +200,11 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -204,9 +222,11 @@ public class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed

View File

@ -656,7 +656,10 @@ public class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the FFmpeg session provided. * <p>Starts an asynchronous FFmpeg execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param ffmpegSession FFmpeg session which includes command options/arguments * @param ffmpegSession FFmpeg session which includes command options/arguments
*/ */
@ -667,7 +670,10 @@ public class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the FFmpeg session provided. * <p>Starts an asynchronous FFmpeg execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param ffmpegSession FFmpeg session which includes command options/arguments * @param ffmpegSession FFmpeg session which includes command options/arguments
* @param executorService executor service that will be used to run this asynchronous operation * @param executorService executor service that will be used to run this asynchronous operation
@ -679,7 +685,10 @@ public class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the FFprobe session provided. * <p>Starts an asynchronous FFprobe execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param ffprobeSession FFprobe session which includes command options/arguments * @param ffprobeSession FFprobe session which includes command options/arguments
*/ */
@ -690,7 +699,10 @@ public class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the FFprobe session provided. * <p>Starts an asynchronous FFprobe execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param ffprobeSession FFprobe session which includes command options/arguments * @param ffprobeSession FFprobe session which includes command options/arguments
* @param executorService executor service that will be used to run this asynchronous operation * @param executorService executor service that will be used to run this asynchronous operation
@ -702,7 +714,10 @@ public class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the media information session provided. * <p>Starts an asynchronous FFprobe execution for the given media information session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param mediaInformationSession media information session which includes command options/arguments * @param mediaInformationSession media information session which includes command options/arguments
* @param waitTimeout max time to wait until media information is transmitted * @param waitTimeout max time to wait until media information is transmitted
@ -714,7 +729,10 @@ public class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the media information session provided. * <p>Starts an asynchronous FFprobe execution for the given media information session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param mediaInformationSession media information session which includes command options/arguments * @param mediaInformationSession media information session which includes command options/arguments
* @param executorService executor service that will be used to run this asynchronous operation * @param executorService executor service that will be used to run this asynchronous operation

View File

@ -23,8 +23,8 @@ import java.util.List;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
/** /**
* <p>Main class to run <code>FFprobe</code> commands. Supports executing commands both * <p>Main class to run <code>FFprobe</code> commands. Supports executing commands both synchronously and
* synchronously and asynchronously. * asynchronously.
* <pre> * <pre>
* FFprobeSession session = FFprobeKit.execute("-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4"); * FFprobeSession session = FFprobeKit.execute("-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4");
* *
@ -67,7 +67,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -83,7 +86,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -101,7 +107,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -119,7 +128,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -151,9 +163,11 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -165,9 +179,11 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -181,9 +197,11 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -201,9 +219,11 @@ public class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -253,7 +273,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -269,7 +292,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -289,7 +315,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -307,7 +336,10 @@ public class FFprobeKit {
} }
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -343,7 +375,11 @@ public class FFprobeKit {
} }
/** /**
* <p>Extracts media information using the command provided asynchronously. * <p>Starts an asynchronous FFprobe execution to extract media information using a command. The command passed to
* this method must generate the output in JSON format in order to successfully extract media information from it.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param command FFprobe command that prints media information for a file in JSON format * @param command FFprobe command that prints media information for a file in JSON format
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -359,7 +395,12 @@ public class FFprobeKit {
} }
/** /**
* Extracts media information using the command arguments provided asynchronously. * <p>Starts an asynchronous FFprobe execution to extract media information using command arguments. The command
* passed to this method must generate the output in JSON format in order to successfully extract media information
* from it.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* {@jlink ExecuteCallback} if you want to be notified about the result.
* *
* @param arguments FFprobe command arguments that print media information for a file in JSON format * @param arguments FFprobe command arguments that print media information for a file in JSON format
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed

View File

@ -29,8 +29,8 @@
#import "StatisticsCallback.h" #import "StatisticsCallback.h"
/** /**
* <p>Main class to run <code>FFmpeg</code> commands. Supports executing commands both * <p>Main class to run <code>FFmpeg</code> commands. Supports executing commands both synchronously and
* synchronously and asynchronously. * asynchronously.
* <pre> * <pre>
* FFmpegSession *session = [FFmpegKit execute:@"-i file1.mp4 -c:v libxvid file1.avi"]; * FFmpegSession *session = [FFmpegKit execute:@"-i file1.mp4 -c:v libxvid file1.avi"];
* *
@ -52,7 +52,10 @@
+ (FFmpegSession*)executeWithArguments:(NSArray*)arguments; + (FFmpegSession*)executeWithArguments:(NSArray*)arguments;
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -61,7 +64,10 @@
+ (FFmpegSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback; + (FFmpegSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback;
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -72,7 +78,10 @@
+ (FFmpegSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback withStatisticsCallback:(StatisticsCallback)statisticsCallback; + (FFmpegSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback withStatisticsCallback:(StatisticsCallback)statisticsCallback;
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -82,7 +91,10 @@
+ (FFmpegSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue; + (FFmpegSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue;
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFmpeg command options/arguments as string array * @param arguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -104,9 +116,11 @@
+ (FFmpegSession*)execute:(NSString*)command; + (FFmpegSession*)execute:(NSString*)command;
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -115,9 +129,11 @@
+ (FFmpegSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback; + (FFmpegSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback;
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -128,9 +144,11 @@
+ (FFmpegSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback withStatisticsCallback:(StatisticsCallback)statisticsCallback; + (FFmpegSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback withStatisticsCallback:(StatisticsCallback)statisticsCallback;
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -140,9 +158,11 @@
+ (FFmpegSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue; + (FFmpegSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue;
/** /**
* <p>Asynchronously executes FFmpeg command provided. Space character is used to split command * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed

View File

@ -189,14 +189,20 @@ typedef NS_ENUM(NSUInteger, Signal) {
+ (void)getMediaInformationExecute:(MediaInformationSession*)mediaInformationSession withTimeout:(int)waitTimeout; + (void)getMediaInformationExecute:(MediaInformationSession*)mediaInformationSession withTimeout:(int)waitTimeout;
/** /**
* <p>Asynchronously executes the FFmpeg session provided. * <p>Starts an asynchronous FFmpeg execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param ffmpegSession FFmpeg session which includes command options/arguments * @param ffmpegSession FFmpeg session which includes command options/arguments
*/ */
+ (void)asyncFFmpegExecute:(FFmpegSession*)ffmpegSession; + (void)asyncFFmpegExecute:(FFmpegSession*)ffmpegSession;
/** /**
* <p>Asynchronously executes the FFmpeg session provided. * <p>Starts an asynchronous FFmpeg execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param ffmpegSession FFmpeg session which includes command options/arguments * @param ffmpegSession FFmpeg session which includes command options/arguments
* @param queue dispatch queue that will be used to run this asynchronous operation * @param queue dispatch queue that will be used to run this asynchronous operation
@ -204,14 +210,20 @@ typedef NS_ENUM(NSUInteger, Signal) {
+ (void)asyncFFmpegExecute:(FFmpegSession*)ffmpegSession onDispatchQueue:(dispatch_queue_t)queue; + (void)asyncFFmpegExecute:(FFmpegSession*)ffmpegSession onDispatchQueue:(dispatch_queue_t)queue;
/** /**
* <p>Asynchronously executes the FFprobe session provided. * <p>Starts an asynchronous FFprobe execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param ffprobeSession FFprobe session which includes command options/arguments * @param ffprobeSession FFprobe session which includes command options/arguments
*/ */
+ (void)asyncFFprobeExecute:(FFprobeSession*)ffprobeSession; + (void)asyncFFprobeExecute:(FFprobeSession*)ffprobeSession;
/** /**
* <p>Asynchronously executes the FFprobe session provided. * <p>Starts an asynchronous FFprobe execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param ffprobeSession FFprobe session which includes command options/arguments * @param ffprobeSession FFprobe session which includes command options/arguments
* @param queue dispatch queue that will be used to run this asynchronous operation * @param queue dispatch queue that will be used to run this asynchronous operation
@ -219,7 +231,10 @@ typedef NS_ENUM(NSUInteger, Signal) {
+ (void)asyncFFprobeExecute:(FFprobeSession*)ffprobeSession onDispatchQueue:(dispatch_queue_t)queue; + (void)asyncFFprobeExecute:(FFprobeSession*)ffprobeSession onDispatchQueue:(dispatch_queue_t)queue;
/** /**
* <p>Asynchronously executes the media information session provided. * <p>Starts an asynchronous FFprobe execution for the given media information session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param mediaInformationSession media information session which includes command options/arguments * @param mediaInformationSession media information session which includes command options/arguments
* @param waitTimeout max time to wait until media information is transmitted * @param waitTimeout max time to wait until media information is transmitted
@ -227,7 +242,10 @@ typedef NS_ENUM(NSUInteger, Signal) {
+ (void)asyncGetMediaInformationExecute:(MediaInformationSession*)mediaInformationSession withTimeout:(int)waitTimeout; + (void)asyncGetMediaInformationExecute:(MediaInformationSession*)mediaInformationSession withTimeout:(int)waitTimeout;
/** /**
* <p>Asynchronously executes the media information session provided. * <p>Starts an asynchronous FFprobe execution for the given media information session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param mediaInformationSession media information session which includes command options/arguments * @param mediaInformationSession media information session which includes command options/arguments
* @param queue dispatch queue that will be used to run this asynchronous operation * @param queue dispatch queue that will be used to run this asynchronous operation

View File

@ -27,8 +27,8 @@
#import "MediaInformationJsonParser.h" #import "MediaInformationJsonParser.h"
/** /**
* <p>Main class to run <code>FFprobe</code> commands. Supports executing commands both * <p>Main class to run <code>FFprobe</code> commands. Supports executing commands both synchronously and
* synchronously and asynchronously. * asynchronously.
* <pre> * <pre>
* FFprobeSession *session = [FFprobeKit execute:@"-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4"]; * FFprobeSession *session = [FFprobeKit execute:@"-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4"];
* *
@ -54,7 +54,10 @@
+ (FFprobeSession*)executeWithArguments:(NSArray*)arguments; + (FFprobeSession*)executeWithArguments:(NSArray*)arguments;
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -63,7 +66,10 @@
+ (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback; + (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback;
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -73,7 +79,10 @@
+ (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback; + (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback;
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -83,7 +92,10 @@
+ (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue; + (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue;
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param arguments FFprobe command options/arguments as string array * @param arguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -104,9 +116,11 @@
+ (FFprobeSession*)execute:(NSString*)command; + (FFprobeSession*)execute:(NSString*)command;
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -115,9 +129,11 @@
+ (FFprobeSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback; + (FFprobeSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback;
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -127,9 +143,11 @@
+ (FFprobeSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback; + (FFprobeSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback;
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -139,9 +157,11 @@
+ (FFprobeSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue; + (FFprobeSession*)executeAsync:(NSString*)command withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue;
/** /**
* <p>Asynchronously executes FFprobe command provided. Space character is used to split command * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside * into arguments. You can use single or double quote characters to specify arguments inside your command.
* your command. *
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -169,7 +189,10 @@
+ (MediaInformationSession*)getMediaInformation:(NSString*)path withTimeout:(int)waitTimeout; + (MediaInformationSession*)getMediaInformation:(NSString*)path withTimeout:(int)waitTimeout;
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -178,7 +201,10 @@
+ (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteCallback:(ExecuteCallback)executeCallback; + (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteCallback:(ExecuteCallback)executeCallback;
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -189,7 +215,10 @@
+ (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback withTimeout:(int)waitTimeout; + (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteCallback:(ExecuteCallback)executeCallback withLogCallback:(LogCallback)logCallback withTimeout:(int)waitTimeout;
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -199,7 +228,10 @@
+ (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue; + (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteCallback:(ExecuteCallback)executeCallback onDispatchQueue:(dispatch_queue_t)queue;
/** /**
* <p>Extracts media information for the file specified with path asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -219,7 +251,11 @@
+ (MediaInformationSession*)getMediaInformationFromCommand:(NSString*)command; + (MediaInformationSession*)getMediaInformationFromCommand:(NSString*)command;
/** /**
* <p>Extracts media information using the command provided asynchronously. * <p>Starts an asynchronous FFprobe execution to extract media information using a command. The command passed to
* this method must generate the output in JSON format in order to successfully extract media information from it.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFprobe command that prints media information for a file in JSON format * @param command FFprobe command that prints media information for a file in JSON format
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed

View File

@ -77,6 +77,33 @@ same source code but is built with different settings (Architectures, API Level,
[LTS Releases](https://github.com/tanersener/ffmpeg-kit#10-lts-releases) section of the project README to see how they [LTS Releases](https://github.com/tanersener/ffmpeg-kit#10-lts-releases) section of the project README to see how they
compare to each other. compare to each other.
#### 2.5 Android and iOS Support
The following table shows the Android API level and iOS deployment target required in `ffmpeg_kit_flutter` releases.
<table>
<thead>
<tr>
<th align="center" colspan="2">Main Release</th>
<th align="center" colspan="2">LTS Release</th>
</tr>
<tr>
<th align="center">Android<br>API Level</th>
<th align="center">iOS Minimum<br>Deployment Target</th>
<th align="center">Android<br>API Level</th>
<th align="center">iOS Minimum<br>Deployment Target</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
</tbody>
</table>
### 3. Using ### 3. Using
1. Execute FFmpeg commands. 1. Execute FFmpeg commands.

View File

@ -31,7 +31,11 @@ import 'statistics_callback.dart';
class FFmpegKit { class FFmpegKit {
static FFmpegKitPlatform _platform = FFmpegKitPlatform.instance; static FFmpegKitPlatform _platform = FFmpegKitPlatform.instance;
/// Asynchronously executes FFmpeg with command provided. /// Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
/// into arguments. You can use single or double quote characters to specify arguments inside your command.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<FFmpegSession> executeAsync(String command, static Future<FFmpegSession> executeAsync(String command,
[ExecuteCallback? executeCallback = null, [ExecuteCallback? executeCallback = null,
LogCallback? logCallback = null, LogCallback? logCallback = null,
@ -42,7 +46,10 @@ class FFmpegKit {
logCallback, logCallback,
statisticsCallback); statisticsCallback);
/// Asynchronously executes FFmpeg with arguments provided. /// Starts an asynchronous FFmpeg execution with arguments provided.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<FFmpegSession> executeWithArgumentsAsync( static Future<FFmpegSession> executeWithArgumentsAsync(
List<String> commandArguments, List<String> commandArguments,
[ExecuteCallback? executeCallback = null, [ExecuteCallback? executeCallback = null,

View File

@ -215,7 +215,10 @@ class FFmpegKitConfig {
} }
} }
/// Asynchronously executes the [ffmpegSession] provided. /// Starts an asynchronous FFmpeg execution for the given session.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<void> asyncFFmpegExecute(FFmpegSession ffmpegSession) async { static Future<void> asyncFFmpegExecute(FFmpegSession ffmpegSession) async {
try { try {
await init(); await init();
@ -227,7 +230,10 @@ class FFmpegKitConfig {
} }
} }
/// Asynchronously executes the [ffprobeSession] provided. /// Starts an asynchronous FFprobe execution for the given session.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<void> asyncFFprobeExecute(FFprobeSession ffprobeSession) async { static Future<void> asyncFFprobeExecute(FFprobeSession ffprobeSession) async {
try { try {
await init(); await init();
@ -239,7 +245,10 @@ class FFmpegKitConfig {
} }
} }
/// Asynchronously executes the [mediaInformationSession] provided. /// Starts an asynchronous FFprobe execution for the given media information session.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<void> asyncGetMediaInformationExecute( static Future<void> asyncGetMediaInformationExecute(
MediaInformationSession mediaInformationSession, MediaInformationSession mediaInformationSession,
[int? waitTimeout = null]) async { [int? waitTimeout = null]) async {

View File

@ -31,7 +31,11 @@ import 'src/ffmpeg_kit_factory.dart';
class FFprobeKit { class FFprobeKit {
static FFmpegKitPlatform _platform = FFmpegKitPlatform.instance; static FFmpegKitPlatform _platform = FFmpegKitPlatform.instance;
/// Asynchronously executes FFprobe with [command] provided. /// Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
/// into arguments. You can use single or double quote characters to specify arguments inside your command.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<FFprobeSession> executeAsync(String command, static Future<FFprobeSession> executeAsync(String command,
[ExecuteCallback? executeCallback = null, [ExecuteCallback? executeCallback = null,
LogCallback? logCallback = null]) async => LogCallback? logCallback = null]) async =>
@ -40,7 +44,10 @@ class FFprobeKit {
executeCallback, executeCallback,
logCallback); logCallback);
/// Asynchronously executes FFprobe with [commandArguments] provided. /// Starts an asynchronous FFprobe execution with arguments provided.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<FFprobeSession> executeWithArgumentsAsync( static Future<FFprobeSession> executeWithArgumentsAsync(
List<String> commandArguments, List<String> commandArguments,
[ExecuteCallback? executeCallback = null, [ExecuteCallback? executeCallback = null,
@ -53,7 +60,10 @@ class FFprobeKit {
return session; return session;
} }
/// Extracts the media information for the file at [path] asynchronously. /// Starts an asynchronous FFprobe execution to extract the media information for the specified file.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<MediaInformationSession> getMediaInformationAsync(String path, static Future<MediaInformationSession> getMediaInformationAsync(String path,
[ExecuteCallback? executeCallback = null, [ExecuteCallback? executeCallback = null,
LogCallback? logCallback = null, LogCallback? logCallback = null,
@ -73,7 +83,11 @@ class FFprobeKit {
commandArguments, executeCallback, logCallback, waitTimeout); commandArguments, executeCallback, logCallback, waitTimeout);
} }
/// Extracts media information using the [command] provided asynchronously. /// Starts an asynchronous FFprobe execution to extract media information using a command. The command passed to
/// this method must generate the output in JSON format in order to successfully extract media information from it.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<MediaInformationSession> getMediaInformationFromCommandAsync( static Future<MediaInformationSession> getMediaInformationFromCommandAsync(
String command, String command,
[ExecuteCallback? executeCallback = null, [ExecuteCallback? executeCallback = null,
@ -85,8 +99,12 @@ class FFprobeKit {
logCallback, logCallback,
waitTimeout); waitTimeout);
/// Extracts media information using the [commandArguments] provided /// Starts an asynchronous FFprobe execution to extract media information using command arguments. The command
/// asynchronously. /// passed to this method must generate the output in JSON format in order to successfully extract media information
/// from it.
///
/// Note that this method returns immediately and does not wait the execution to complete. You must use an
/// [ExecuteCallback] if you want to be notified about the result.
static Future<MediaInformationSession> static Future<MediaInformationSession>
getMediaInformationFromCommandArgumentsAsync( getMediaInformationFromCommandArgumentsAsync(
List<String> commandArguments, List<String> commandArguments,

View File

@ -45,18 +45,103 @@ of those packages and external libraries included in each of them.
##### 2.1.1 Package Names ##### 2.1.1 Package Names
The following table shows all package names defined for `ffmpeg-kit-react-native`. The following table shows all package names and their respective API levels, iOS deployment targets defined in
`ffmpeg-kit-react-native`.
| Package | Main Release | LTS Release | <table>
| :----: | :----: | :----: | <thead>
| min | min | min-lts | <tr>
| min-gpl | min-gpl | min-gpl-lts | <th align="center">Package</th>
| https | https | https-lts | <th align="center" colspan="3">Main Release</th>
| https-gpl | https-gpl | https-gpl-lts | <th align="center" colspan="3">LTS Release</th>
| audio | audio | audio-lts | </tr>
| video | video | video-lts | <tr>
| full | full | full-lts | <th align="center"></th>
| full-gpl | full-gpl | full-gpl-lts | <th align="center">Name</th>
<th align="center">Android<br>API Level</th>
<th align="center">iOS Minimum<br>Deployment Target</th>
<th align="center">Name</th>
<th align="center">Android<br>API Level</th>
<th align="center">iOS Minimum<br>Deployment Target</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center">min</td>
<td align="center">min</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">min-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
<tr>
<td align="center">min-gpl</td>
<td align="center">min-gpl</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">min-gpl-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
<tr>
<td align="center">https</td>
<td align="center">(*) https</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">https-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
<tr>
<td align="center">https-gpl</td>
<td align="center">https-gpl</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">https-gpl-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
<tr>
<td align="center">audio</td>
<td align="center">audio</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">audio-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
<tr>
<td align="center">video</td>
<td align="center">video</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">video-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
<tr>
<td align="center">full</td>
<td align="center">full</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">full-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
<tr>
<td align="center">full-gpl</td>
<td align="center">full-gpl</td>
<td align="center">24</td>
<td align="center">12.1</td>
<td align="center">full-gpl-lts</td>
<td align="center">16</td>
<td align="center">9.3</td>
</tr>
</tbody>
</table>
(*) - Main `https` package is the default package
#### 2.2 Enabling Packages #### 2.2 Enabling Packages

View File

@ -710,7 +710,11 @@ export class ArchDetect {
export class FFmpegKit { export class FFmpegKit {
/** /**
* <p>Asynchronously executes FFmpeg with command provided. * <p>Starts an asynchronous FFmpeg execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside your command.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFmpeg command * @param command FFmpeg command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -723,7 +727,10 @@ export class FFmpegKit {
} }
/** /**
* <p>Asynchronously executes FFmpeg with arguments provided. * <p>Starts an asynchronous FFmpeg execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param commandArguments FFmpeg command options/arguments as string array * @param commandArguments FFmpeg command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -951,7 +958,10 @@ export class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the FFmpeg session provided. * <p>Starts an asynchronous FFmpeg execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param ffmpegSession FFmpeg session which includes command options/arguments * @param ffmpegSession FFmpeg session which includes command options/arguments
*/ */
@ -962,7 +972,10 @@ export class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the FFprobe session provided. * <p>Starts an asynchronous FFprobe execution for the given session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param ffprobeSession FFprobe session which includes command options/arguments * @param ffprobeSession FFprobe session which includes command options/arguments
*/ */
@ -973,7 +986,10 @@ export class FFmpegKitConfig {
} }
/** /**
* <p>Asynchronously executes the media information session provided. * <p>Starts an asynchronous FFprobe execution for the given media information session.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param mediaInformationSession media information session which includes command options/arguments * @param mediaInformationSession media information session which includes command options/arguments
* @param waitTimeout max time to wait until media information is transmitted * @param waitTimeout max time to wait until media information is transmitted
@ -1812,7 +1828,11 @@ export class FFmpegSession extends AbstractSession {
export class FFprobeKit { export class FFprobeKit {
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution for the given command. Space character is used to split the command
* into arguments. You can use single or double quote characters to specify arguments inside your command.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFprobe command * @param command FFprobe command
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -1824,7 +1844,10 @@ export class FFprobeKit {
} }
/** /**
* <p>Asynchronously executes FFprobe with arguments provided. * <p>Starts an asynchronous FFprobe execution with arguments provided.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param commandArguments FFprobe command options/arguments as string array * @param commandArguments FFprobe command options/arguments as string array
* @param executeCallback callback that will be called when the execution is completed * @param executeCallback callback that will be called when the execution is completed
@ -1840,7 +1863,10 @@ export class FFprobeKit {
} }
/** /**
* <p>Extracts the media information for the specified file asynchronously. * <p>Starts an asynchronous FFprobe execution to extract the media information for the specified file.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param path path or uri of a media file * @param path path or uri of a media file
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -1854,7 +1880,11 @@ export class FFprobeKit {
} }
/** /**
* <p>Extracts media information using the command provided asynchronously. * <p>Starts an asynchronous FFprobe execution to extract media information using a command. The command passed to
* this method must generate the output in JSON format in order to successfully extract media information from it.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param command FFprobe command that prints media information for a file in JSON format * @param command FFprobe command that prints media information for a file in JSON format
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed
@ -1867,7 +1897,12 @@ export class FFprobeKit {
} }
/** /**
* <p>Extracts media information using the command arguments provided asynchronously. * <p>Starts an asynchronous FFprobe execution to extract media information using command arguments. The command
* passed to this method must generate the output in JSON format in order to successfully extract media information
* from it.
*
* <p>Note that this method returns immediately and does not wait the execution to complete. You must use an
* ExecuteCallback if you want to be notified about the result.
* *
* @param commandArguments FFprobe command arguments that prints media information for a file in JSON format * @param commandArguments FFprobe command arguments that prints media information for a file in JSON format
* @param executeCallback callback that will be notified when execution is completed * @param executeCallback callback that will be notified when execution is completed