createExportCommand method

String createExportCommand({
  1. required String inputPath,
  2. required String outputPath,
  3. VideoExportFormat outputFormat = VideoExportFormat.mp4,
  4. double scale = 1.0,
  5. String customInstruction = '',
  6. VideoExportPreset preset = VideoExportPreset.none,
  7. bool isFiltersEnabled = true,
})

Create an FFmpeg command string to export a video with the specified parameters.

The inputPath specifies the location of the input video file to be exported.

The outputPath specifies the path where the exported video file should be saved.

The outputFormat of the video to be exported, by default VideoExportFormat.mp4. You can export as a GIF file by using VideoExportFormat.gif or with GifExportFormat() which allows you to control the frame rate of the exported GIF file.

The scale is scale=width*scale:height*scale and reduce or increase video size.

The customInstruction param can be set to add custom commands to the FFmpeg eexecution (i.e. -an to mute the generated video), some commands require the GPL package

The preset is the compress quality (Only available on GPL package). A slower preset will provide better compression (compression is quality per filesize). More info about presets

Set isFiltersEnabled to false if you do not want to apply any changes

Implementation

String createExportCommand({
  required String inputPath,
  required String outputPath,
  VideoExportFormat outputFormat = VideoExportFormat.mp4,
  double scale = 1.0,
  String customInstruction = '',
  VideoExportPreset preset = VideoExportPreset.none,
  bool isFiltersEnabled = true,
}) {
  final filter = getExportFilters(
    videoFormat: outputFormat,
    scale: scale,
    isFiltersEnabled: isFiltersEnabled,
  );

  return '-i $inputPath $customInstruction $filter ${preset.ffmpegPreset} $trimCommand -y $outputPath';
}