0

如何在 Flutter 中将 GIF 转换为 mp4 视频?使用 flutter_ffmpeg 或任何其他软件包。

4

1 回答 1

0

方法一:

使用flutter_ffmpeg真的很简单,你可以用这个包做很多其他的事情。

要设置软件包,请将其添加到pubspec.yaml

dependencies:
  flutter_ffmpeg: ^0.4.2

将此添加到您build.gradle位于此处的 android/build.gradle

ext {
    flutterFFmpegPackage  = "min"
}

最后在你的代码中

import 'package:flutter_ffmpeg/flutter_ffmpeg.dart';
  ...
  ...
  final FlutterFFmpeg _flutterFFmpeg = FlutterFFmpeg();
  final String inputFile = ".../input.gif"; //path of the gif file.
  final String outputFile = ".../output.mp4"; //path to export the mp4 file.

  await _flutterFFmpeg
        .execute("-f gif -i $inputFile $outputFile")
        .then((rc) => print("FFmpeg process 1 exited with rc $rc"));

注意:如果您要导出应用程序目录以外的任何位置,则必须扫描该文件,否则您将无法使用该文件。

方法二:

如果您想做的只是将 a 转换为.gif,那么您只需重命名为.mp4即可节省大量空间,并且它会起作用。您还可以将同一文件从重命名为。但是,如果您想将原始文件转换为..gif.mp4.mp4.gif.mp4.gif

以下是如何重命名文件的示例:

  Directory appDocDir = await getApplicationDocumentsDirectory();
  String appDocPath = appDocDir.path;
  //Let's assume that "$appDocPath/awesome.gif" is the path of the file.
  await File("$appDocPath/awesome.gif").rename("$appDocPath/awesome.mp4");

注意:您必须在rename().

您可以再次将同一文件重命名为.gif,它会起作用。但是,如果您要转换.mp4从未从.gif.

于 2021-08-19T06:45:38.680 回答