视频压缩可以显著降低上传体积,常用 video_compress。
0. 依赖
dependencies:
video_compress: ^3.1.2
1. 压缩流程
final info = await VideoCompress.compressVideo(
file.path,
quality: VideoQuality.MediumQuality,
deleteOrigin: false,
);
2. 获取结果
final compressed = info?.file;
3. 进度监听
VideoCompress.compressProgress$.subscribe((progress) {
Log.d('compress', 'progress=$progress');
});
4. 常见坑点
- 权限未处理:读取视频失败
- 大文件耗时:需提示进度
5. 实践清单
- 压缩质量可配置
- 进度监听
- 结果兜底