首页 > 解决方案 > FFMPEG 命令不适用于 Android 10

问题描述

我正在开发一个应用视频效果的安卓应用程序,如慢动作和快动作。我的应用在 android 10 下运行良好,但在 android 10 上运行良好,FFMPEG 没有显示任何错误,只是在 onFailure 回调方法上显示空白错误消息。

我做了一些研究,发现 android 引入了范围权限,您可以通过在清单 android:requestLegacyExternalStorage="true" 上添加此行来暂时绕过它,您将获得存储权限。添加此行后,应用程序的其余端口可以正常获取用户视频等,但 FFMPEG 无法正常工作。

如果有人对此问题有任何想法或线索,请帮助我。

标签: javaandroidffmpegandroid-ffmpeg

解决方案


这是兼容设备的工作版本,最低 API 16 起。支持安卓 API 29 (Q)

dependencies {
    implementation 'com.arthenica:mobile-ffmpeg-full:4.4.LTS'
}

MobileFFmpeg v4.4 的长期支持包

支持以下设备规格

安卓

Android 4.1(API 级别 16)或更高版本

x86 和 x86-64 架构sarm-v7a、arm-v7a-neon、arm64-v8a、

您可以在 github上的官方 repo 上找到更多信息

更新:2021 年 6 月 20 日

不再维护,如MobileFFmpeg 的下一步是什么?

现在被FFmpegKit取代

在这里您可以找到适用于 Android 的 FFmpegKit

特征

  • 在主要版本上支持 API 级别 24+,在 LTS 版本上支持 API 级别 16+
  • 包括 arm-v7a、arm-v7a-neon、arm64-v8a、x86 和 x86_64 架构
  • 可以处理存储访问框架 (SAF) Uris
  • 支持设备上的相机访问
  • 构建共享本机库 (.so)
  • 创建带有 .aar 扩展名的 Android 存档

推荐阅读