getThumbnailFileAsync method
Future<FFMpegHelperSession>
getThumbnailFileAsync({
- required String videoPath,
- required Duration fromDuration,
- required String outputPath,
- String? ffmpegPath,
- FilterGraph? filterGraph,
- int qualityPercentage = 100,
- dynamic statisticsCallback(
- Statistics statistics
- dynamic onComplete(
- File? outputFile
Implementation
Future<FFMpegHelperSession> getThumbnailFileAsync({
required String videoPath,
required Duration fromDuration,
required String outputPath,
String? ffmpegPath,
FilterGraph? filterGraph,
int qualityPercentage = 100,
Function(Statistics statistics)? statisticsCallback,
Function(File? outputFile)? onComplete,
}) async {
int quality = 1;
if ((qualityPercentage > 0) && (qualityPercentage < 100)) {
quality = (((100 - qualityPercentage) * 31) / 100).ceil();
}
final FFMpegCommand cliCommand = FFMpegCommand(
returnProgress: true,
inputs: [FFMpegInput.asset(videoPath)],
args: [
const OverwriteArgument(),
SeekArgument(fromDuration),
const CustomArgument(["-frames:v", '1']),
CustomArgument(["-q:v", '$quality']),
],
outputFilepath: outputPath,
filterGraph: filterGraph,
);
FFMpegHelperSession session = await runAsync(
cliCommand,
onComplete: onComplete,
statisticsCallback: statisticsCallback,
);
return session;
}