changeResolution method

Future<void> changeResolution({
  1. required String inputPath,
  2. required String outputPath,
  3. required VideoResolutionSize resolution,
  4. bool isOverride = true,
  5. void onStdout(
    1. String data
    )?,
})

resize video

Implementation

Future<void> changeResolution({
  required String inputPath,
  required String outputPath,
  required VideoResolutionSize resolution,
  bool isOverride = true,
  void Function(String data)? onStdout,
}) async {
  final outFile = File(outputPath);
  if (outFile.existsSync() && isOverride) {
    await outFile.delete();
  }
  final args = <String>[
    '-i', inputPath,
    '-vf', 'scale=${resolution.width}:${resolution.height}',
    '-c:a', 'copy', // keep original audio
    outputPath,
  ];

  await ffmpegStart(arguments: args, onStdErrorOut: onStdout);
}