【问题标题】:Flutter: How to read data from video using ffmpegFlutter:如何使用 ffmpeg 从视频中读取数据
【发布时间】:2020-10-03 23:48:06
【问题描述】:

我正在尝试使用 lib https://pub.dev/packages/flutter_ffmpeg 从视频中获取元数据,

以下代码不适用于 ffmpeg

  Directory appDocDir = await getApplicationDocumentsDirectory();
  String appDocPath = appDocDir.path;
  File file = File('{$appDocPath}/folder_name/out.mp4');
  final FlutterFFprobe _flutterFFprobe = new FlutterFFprobe();

 _flutterFFprobe.getMediaInformation(file.path).then((info) => print(info));

我该如何解决上述问题?

【问题讨论】:

    标签: flutter ffmpeg flutter-ffmpeg


    【解决方案1】:

    首先需要文件存储访问权限,然后 ffmpeg lib 可以访问给定路径

    添加存储权限

    permission_handler: ^5.0.1 // in pubspec.yaml file
    

    在访问视频之前请求运行时权限

        var status = await Permission.storage.status;
              if (status.isUndetermined) {
                // You can request multiple permissions at once.
                Map<Permission, PermissionStatus> statuses = await [
                  Permission.storage,
                ].request();
                print(statuses[Permission.storage]); // this must show permission granted. 
              }
    

    最后,将它与具有类似存储路径的 ffmpeg 一起使用

              File file = File('/storage/emulated/0/folder_name/out.mp4');
              final FlutterFFprobe _flutterFFprobe = new FlutterFFprobe();
    
              _flutterFFprobe
                  .getMediaInformation(file.path)
                  .then((info) => print(info)); // This should print metadata inside of video
    

    【讨论】:

    • 如何获取封面图片(专辑封面)和音频文件的其他属性,如艺术家姓名、歌曲名称、音频文件的总时长等?请帮忙,我被困在这个问题上 2 周了,我在堆栈上发布了问题,但没有得到社区的回应。
    猜你喜欢
    • 2015-10-10
    • 2023-02-07
    • 2012-04-12
    • 2021-02-26
    • 1970-01-01
    • 2010-11-11
    • 2021-05-02
    • 2018-08-19
    • 1970-01-01
    相关资源
    最近更新 更多