exportVideo static method
Future<XFile>
exportVideo({
- void onStatistics()?,
- VideoExportFormat outputFormat = VideoExportFormat.mp4,
- double scale = 1.0,
- String customInstruction = '',
- VideoExportPreset preset = VideoExportPreset.none,
- bool isFiltersEnabled = true,
- required VideoEditorController controller,
Implementation
static Future<XFile> exportVideo({
void Function(FFmpegStatistics)? onStatistics,
VideoExportFormat outputFormat = VideoExportFormat.mp4,
double scale = 1.0,
String customInstruction = '',
VideoExportPreset preset = VideoExportPreset.none,
bool isFiltersEnabled = true,
required VideoEditorController controller,
}) async {
final String inputPath = kIsWeb
? webInputPath(FileFormat.fromMimeType(controller.file.mimeType))
: controller.file.path;
final String outputPath = kIsWeb
? webOutputPath(outputFormat)
: await ioOutputPath(inputPath, outputFormat);
final VideoFFmpegConfig config = controller.createVideoFFmpegConfig();
final String execute = config.createExportCommand(
inputPath: inputPath,
outputPath: outputPath,
outputFormat: outputFormat,
scale: scale,
customInstruction:
customInstruction + (controller.isVideoMuted ? ' -an' : ''),
preset: preset,
isFiltersEnabled: isFiltersEnabled,
);
debugPrint('run export video command : [$execute]');
return const FFmpegExport().executeFFmpegIO(
execute: execute,
outputPath: outputPath,
outputMimeType: outputFormat.mimeType,
onStatistics: onStatistics,
);
}