estimate method
Implementation
@override
Future<CompressionEstimate> estimate(
String path, VideoCompressConfig config) async {
final m = await _rawInfo(path);
final srcW = (m['width'] as num).toInt();
final srcH = (m['height'] as num).toInt();
final durationMs = _clampDuration((m['durationMs'] as num).toInt(), config);
final srcKbps = (m['bitrateKbps'] as num).toInt();
final (tw, th) = _SizeMath.targetDimensions(srcW, srcH, config);
final videoBps = _SizeMath.videoBitrateBps(config, durationMs, srcKbps, th);
final bytes = (videoBps * (durationMs / 1000) / 8).round();
return CompressionEstimate.fromMap({
'estimatedSizeBytes': bytes,
'estimatedBitrateKbps': videoBps ~/ 1000,
'targetWidth': tw,
'targetHeight': th,
});
}