Main class to run FFprobe
commands. Supports executing commands both
* synchronously and asynchronously.
*
* FFprobeSession *session = [FFprobeKit execute:@"-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4"]; * * FFprobeSession *asyncSession = [FFprobeKit executeAsync:@"-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4" withExecuteDelegate:executeDelegate]; **
Provides overloaded execute
methods to define session specific delegates.
*
* FFprobeSession *session = [FFprobeKit executeAsync:@"-hide_banner -v error -show_entries format=size -of default=noprint_wrappers=1 file1.mp4" withExecuteDelegate:executeDelegate withLogDelegate:logDelegate]; **
It can extract media information for a file or a url, using getMediaInformation method. *
* MediaInformationSession *session = [FFprobeKit getMediaInformation:@"file1.mp4"]; **/ @interface FFprobeKit : NSObject /** *
Synchronously executes FFprobe with arguments provided. * * @param arguments FFprobe command options/arguments as string array * @return FFprobe session created for this execution */ + (FFprobeSession*)executeWithArguments:(NSArray*)arguments; /** *
Asynchronously executes FFprobe with arguments provided.
*
* @param arguments FFprobe command options/arguments as string array
* @param executeDelegate delegate that will be called when the execution is completed
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteDelegate:(id Asynchronously executes FFprobe with arguments provided.
*
* @param arguments FFprobe command options/arguments as string array
* @param executeDelegate delegate that will be notified when execution is completed
* @param logDelegate delegate that will receive logs
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteDelegate:(id Asynchronously executes FFprobe with arguments provided.
*
* @param arguments FFprobe command options/arguments as string array
* @param executeDelegate delegate that will be called when the execution is completed
* @param queue dispatch queue that will be used to run this asynchronous operation
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteDelegate:(id Asynchronously executes FFprobe with arguments provided.
*
* @param arguments FFprobe command options/arguments as string array
* @param executeDelegate delegate that will be notified when execution is completed
* @param logDelegate delegate that will receive logs
* @param queue dispatch queue that will be used to run this asynchronous operation
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeWithArgumentsAsync:(NSArray*)arguments withExecuteDelegate:(id Synchronously executes FFprobe 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.
*
* @param command FFprobe command
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)execute:(NSString*)command;
/**
* Asynchronously executes FFprobe 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.
*
* @param command FFprobe command
* @param executeDelegate delegate that will be called when the execution is completed
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeAsync:(NSString*)command withExecuteDelegate:(id Asynchronously executes FFprobe 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.
*
* @param command FFprobe command
* @param executeDelegate delegate that will be notified when execution is completed
* @param logDelegate delegate that will receive logs
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeAsync:(NSString*)command withExecuteDelegate:(id Asynchronously executes FFprobe 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.
*
* @param command FFprobe command
* @param executeDelegate delegate that will be called when the execution is completed
* @param queue dispatch queue that will be used to run this asynchronous operation
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeAsync:(NSString*)command withExecuteDelegate:(id Asynchronously executes FFprobe 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.
*
* @param command FFprobe command
* @param executeDelegate delegate that will be called when the execution is completed
* @param logDelegate delegate that will receive logs
* @param queue dispatch queue that will be used to run this asynchronous operation
* @return FFprobe session created for this execution
*/
+ (FFprobeSession*)executeAsync:(NSString*)command withExecuteDelegate:(id Extracts media information for the file specified with path.
*
* @param path path or uri of a media file
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformation:(NSString*)path;
/**
* Extracts media information for the file specified with path.
*
* @param path path or uri of a media file
* @param waitTimeout max time to wait until media information is transmitted
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformation:(NSString*)path withTimeout:(int)waitTimeout;
/**
* Extracts media information for the file specified with path asynchronously.
*
* @param path path or uri of a media file
* @param executeDelegate delegate that will be called when the execution is completed
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteDelegate:(id Extracts media information for the file specified with path asynchronously.
*
* @param path path or uri of a media file
* @param executeDelegate delegate that will be notified when execution is completed
* @param logDelegate delegate that will receive logs
* @param waitTimeout max time to wait until media information is transmitted
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteDelegate:(id Extracts media information for the file specified with path asynchronously.
*
* @param path path or uri of a media file
* @param executeDelegate delegate that will be called when the execution is completed
* @param queue dispatch queue that will be used to run this asynchronous operation
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteDelegate:(id Extracts media information for the file specified with path asynchronously.
*
* @param path path or uri of a media file
* @param executeDelegate delegate that will be notified when execution is completed
* @param logDelegate delegate that will receive logs
* @param queue dispatch queue that will be used to run this asynchronous operation
* @param waitTimeout max time to wait until media information is transmitted
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformationAsync:(NSString*)path withExecuteDelegate:(id Extracts media information using the command provided asynchronously.
*
* @param command FFprobe command that prints media information for a file in JSON format
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformationFromCommand:(NSString*)command;
/**
* Extracts media information using the command provided asynchronously.
*
* @param command FFprobe command that prints media information for a file in JSON format
* @param executeDelegate delegate that will be notified when execution is completed
* @param logDelegate delegate that will receive logs
* @param waitTimeout max time to wait until media information is transmitted
* @return media information session created for this execution
*/
+ (MediaInformationSession*)getMediaInformationFromCommandAsync:(NSString*)command withExecuteDelegate:(id Lists all FFprobe sessions in the session history.
*
* @return all FFprobe sessions in the session history
*/
+ (NSArray*)listSessions;
@end
#endif // FFPROBE_KIT_H