【问题标题】:How to compress a video in flutter?如何在颤振中压缩视频?
【发布时间】:2019-04-16 19:59:40
【问题描述】:

如何在颤动中压缩视频? 我正在使用 image_picker 从库中选择视频,在 iOS 上将视频从 30MB 压缩到 10MB,但在 android 中没有压缩。 有没有办法使用飞镖来控制视频的大小或质量? Flutter 中是否有任何现有的压缩视频的包?

【问题讨论】:

    标签: dart flutter flutter-dependencies


    【解决方案1】:

    更新:自从我的原始答案(如评论中指出的那样)以来,还有另一个包 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 更易于设置和使用。
    • @OliverDixon 另一方面,flutter_video_compress 似乎被放弃了。
    • flutter_video_compress如何设置输出目录?
    • flutter_video_compress 不是很好.. 如果我将其设置为中等级别,我会看到模糊的视频...另一方面,ffmpeg crf 属性可以在不影响视频质量的情况下压缩视频。我不确定如何在颤振中使用它。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-21
      • 2020-03-02
      • 1970-01-01
      • 2020-02-13
      • 2021-05-18
      • 2021-08-16
      • 2018-08-09
      • 1970-01-01
      相关资源
      最近更新 更多