【发布时间】:2019-04-16 19:59:40
【问题描述】:
如何在颤动中压缩视频? 我正在使用 image_picker 从库中选择视频,在 iOS 上将视频从 30MB 压缩到 10MB,但在 android 中没有压缩。 有没有办法使用飞镖来控制视频的大小或质量? Flutter 中是否有任何现有的压缩视频的包?
【问题讨论】:
标签: dart flutter flutter-dependencies
如何在颤动中压缩视频? 我正在使用 image_picker 从库中选择视频,在 iOS 上将视频从 30MB 压缩到 10MB,但在 android 中没有压缩。 有没有办法使用飞镖来控制视频的大小或质量? Flutter 中是否有任何现有的压缩视频的包?
【问题讨论】:
标签: dart flutter flutter-dependencies
更新:自从我的原始答案(如评论中指出的那样)以来,还有另一个包 https://pub.dev/packages/flutter_video_compress 具有更友好的 API
在另一个similar question中查看我的答案:
https://pub.dartlang.org/packages/flutter_ffmpeg 很不错,并且有详细的说明
import 'package:flutter_ffmpeg/flutter_ffmpeg.dart';
final FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg();
_flutterFFmpeg.execute("-i file1.mp4 -c:v mpeg4 file2.mp4").then((rc) => print("FFmpeg process exited with rc $rc"));
检查rc代码,如果成功,打开file2.mp4,这是压缩/处理过的文件。
【讨论】:
flutter_video_compress 更易于设置和使用。
如何使用:
将此添加到您的包的 pubspec.yaml 文件中:
dependencies:
video_compress: ^2.1.0
并导入它:
import 'package:video_compress/video_compress.dart';
视频压缩
MediaInfo mediaInfo = await VideoCompress.compressVideo(
path,
quality: VideoQuality.DefaultQuality,
deleteOrigin: false, // It's false by default
);
您可以了解有关此软件包的更多信息here。
【讨论】: