【问题标题】:How to convert GIF to a mp4 video in Flutter?如何在 Flutter 中将 GIF 转换为 mp4 视频?
【发布时间】:2021-10-20 17:36:11
【问题描述】:

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

【问题讨论】:

    标签: flutter flutter-packages flutter-video-player flutter-ffmpeg


    【解决方案1】:

    方法一:

    使用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"));
    

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

    方法二:

    如果您只想将.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,这样就可以了。但是,如果您要转换从未从 .gif 转换的 .mp4 文件,此方法将不起作用。

    【讨论】:

    • 感谢您的回答,但您能否应用更多关于如何重命名文件的详细信息和代码?
    • 重命名时出现此错误:OS Error: No such file or directory, errno = 2
    • 您确定输入的文件路径正确吗?
    猜你喜欢
    • 2017-04-05
    • 2022-11-02
    • 2017-08-26
    • 2021-06-30
    • 1970-01-01
    • 2020-03-17
    • 2017-04-20
    • 1970-01-01
    相关资源
    最近更新 更多