getVideoDuration function
Get video duration in seconds
Implementation
Future<int?> getVideoDuration(String videoPath) async {
try {
ProcessResult result = await Process.run('ffmpeg', [
'-i', videoPath,
'-hide_banner',
'-print_format', 'json',
'-show_entries', 'format=duration',
'-v', 'quiet'
]);
if (result.exitCode == 0) {
RegExp regex = RegExp(r'"duration"\s*:\s*"(\d+\.\d+)"');
Match? match = regex.firstMatch(result.stdout);
if (match != null) {
return double.parse(match.group(1)!).toInt();
}
}
} catch (e) {
print("Error getting duration: $e");
}
return null;
}