如何在颤动中压缩视频?

How to compress a video in flutter?

如何在flutter中压缩视频? 我正在使用 image_picker 从图库中选择视频,在 iOS 中将视频从 30MB 压缩到 10MB,但在 android 中没有压缩。 有没有办法使用飞镖来操纵视频的大小或质量? flutter中有压缩视频的现成包吗?

更新:自从我原来的回答(正如评论中指出的那样),还有另一个包 https://pub.dev/packages/flutter_video_compress 更友好 API

看我的另一个回答:

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,即compressed/processed文件

使用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