带有抖动的ffmpeg参数,用于将视频上传到Firebase

时间:2019-04-24 19:56:50

标签: firebase ffmpeg flutter compression firebase-storage

我一直在尝试使用ffmpeg压缩视频文件的大小,以便可以上传到Firebase存储。

我已经在Windows cmd上运行了代码,并且可以正常工作。但是,当我在颤抖的情况下运行它时,视频的质量非常糟糕。我还为-crf参数指定了许多值,但输出视频的质量和文件大小始终相同。

int processSuccess = await _flutterFFmpeg.execute(["-i", "file1.mp4", "-crf", "23", "fileoutput.mp4"]);

我不得不将包更改为video,因为在默认导入时执行会失败,因为它找不到-crf参数。

  flutter_ffmpeg:
    git:
      url: git://github.com/tanersener/flutter-ffmpeg.git
      ref: v0.2.1
      path: packages/flutter_ffmpeg_video

我在执行参数上做错了吗,还是我使用的导入不正确的包?抱歉,我是ffmpeg的新手。

感谢您的帮助。

https://github.com/tanersener/flutter-ffmpeg

3 个答案:

答案 0 :(得分:0)

最终使用flutter_video_compress进行压缩。  效果很好https://pub.dartlang.org/packages/flutter_video_compress

答案 1 :(得分:0)

我看到您正在使用video的{​​{1}}软件包,不幸的是其中不包含GPL许可的库,例如flutter_ffmpeg。如果您使用x264min-gplhttps-gpl之类的GPL许可软件包,则您的输出视频将使用full-gpl进行编码,并且质量更高。

答案 2 :(得分:0)

根据需要使用flutter_ffmpeg软件包21-packages

配置

在Android中,编辑android / build.gradle文件,并在ext.flutterFFmpegPackage变量中定义包名称。

 ext {
  flutterFFmpegPackage  = "<package name>"//e.g "full-gpl"
 }