trimVideo method
video cut
Implementation
Future<void> trimVideo({
required String inputPath,
required String outputPath,
bool isOverride = true,
void Function(String data)? onStdout,
required Duration start, // where to begin
required Duration endOrDuration, // either duration or end time
TrimMode mode = TrimMode.duration,
TrimVideoCodec codec = TrimVideoCodec.copy,
}) async {
final outFile = File(outputPath);
if (outFile.existsSync() && isOverride) {
await outFile.delete();
}
final args = <String>[
'-ss',
start.inSeconds.toString(),
'-i',
inputPath,
mode.flag,
endOrDuration.inSeconds.toString(),
'-c:v',
codec.ffmpegValue,
'-c:a',
codec == TrimVideoCodec.copy ? 'copy' : 'aac',
outputPath,
];
await ffmpegStart(arguments: args, onStdErrorOut: onStdout);
}