如何使用android ndk r9b为Android编译FFMPEG

2024-05-11

我想设计一个Android应用程序,可以通过FFMPEG命令播放和编辑视频。 但我不知道如何在Android上使用FFMPEG。我尝试过从Google搜索到的许多方法,但它们太旧了,无法实现。 现在,FFMPEG的最新版本是2.1.1,Android-NDK的版本是r9b。我的操作系统是 Linux mint 15。 如何在我的操作系统上使用 eclipse IDE 来实现具有 FFMPEG 最新解码器和编码器的 Android 应用程序?


IJK播放器 https://github.com/Bilibili/ijkplayer使用 ndk 为 Android 编译 ffmpeg 作为其 make 过程的一部分。可以稍微修改配置文件以生成适用于 android 的 ffmpeg 二进制文件。

在运行compile-ffmpeg脚本之前,具体注释掉config/module-lite.sh中的行:

export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-programs"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffmpeg"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-avfilter"

它将生成 ffmpeg 可执行文件。

The IJK播放器 https://github.com/Bilibili/ijkplayer项目还将为您提供有关如何在 Android 程序中使用 ffmpeg 的提示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用android ndk r9b为Android编译FFMPEG 的相关文章

随机推荐

  • 如何在Android项目中使用libffmpeg.so?

    我正在尝试在 Android 中创建一个屏幕录制应用程序 为此 我使用 FFmpeg 我已经创建了 libffmpeg so 文件 现在我想在 Android 项目中使用相同的方法来调用它的本机函数 我怎样才能做到这一点 本教程提供了有关此
  • UITextField 中光标闪烁,但键盘不出现

    我得到了一个带有文本字段的简单详细视图 在详细的viewController中我写了这段代码 void viewDidAppear BOOL animated self textField becomeFirstResponder NSLo
  • Gitlab CI - 不支持:外部构建目录

    我在保存工件时遇到问题 该项目分为3个模块 其中一个已保存 另外两个不保存 克隆项目 克隆到 home gitlab runner builds Gso uWvA 0 www project infoserwis project root
  • PHP写入文件时,如何使用现有文本在文件前面添加和追加文本?

    我正在使用 PHP 创建一个 xml 文件 这里有一些示例代码 myFile example file xml fh fopen myFile w while row mysql fetch array result stringData
  • 如何使用它们的更改来解决选择冲突?

    My git cherry pick FOO产生了冲突 我可以检查冲突的文件并删除之间的行 lt lt lt lt lt lt lt and 以及冲突标记本身 但我希望有一种更简单的方法 我觉得svn等同于选择theirs conflict
  • 动态SQL生成列名?

    我有一个查询 我正在尝试将行值转换为列名称 目前我正在使用SUM Case As ColumnName 声明 像这样 SELECT SKU1 SUM Case When Sku2 157 Then Quantity Else 0 End A
  • CefSharp 3 总是失败 Cef.Initialize()

    我最近尝试从 CefSharp 1 25 7 跳转到最新版本 39 0 0 pre02 我通过 NuGet 获取了这些文件 但我将它们单独复制到我的项目中 因为它们必须包含在我们的存储库中才能与其他开发人员共享 我相信我得到了所有文件 甚至
  • 什么定义了类型的大小?

    ISO C 标准规定 sizeof char lt sizeof short lt sizeof int lt sizeof long 我在 BIT Linux mint 19 1 上使用 GCC 8 大小为long int is 8 我正
  • 使用 PHP Selenium 禁用图像加载

    如何在 ChromeOptions 中禁用图像加载 PHP 库 我尝试了以下但不确定语法是否正确 options new ChromeOptions disable images options gt addArguments array
  • 为什么大多数 Android 设备不像典型操作系统那样有交换区域?

    现在有 Android 支持交换区域来提高性能吗 出于哪些考虑 大多数 Android 设备放弃了该功能 现在有 Android 支持交换区域吗 Quoting 黛安 哈克伯恩 https groups google com d msg a
  • 修复 PHP 中格式错误的 HTML?

    我正在根据用户提供的片段构建一个大型 HTML 文档 这些用户有以各种方式格式错误的烦人习惯 浏览器足够强大且宽容 但我希望能够验证并 理想情况下 修复任何格式错误的 HTML 如果可能的话 例如 td b Title b td 可以合理地
  • 如何在 MongoDB 中创建 Mongoose 模型而不创建集合?

    我只想有一个versioneditemsMongoDB 中的集合 但我需要注册VersionedItem模型和ItemPatch模型 因为我需要创建ItemPatches 填充 aVersionedItem 不会有单独的ItemPatch文
  • 如何反转 dropout 来补偿 dropout 的影响并保持期望值不变?

    我正在学习神经网络中的正则化deeplearning ai课程 在dropout正则化中 教授说 如果应用dropout 计算出的激活值将比不应用dropout时 测试时 更小 因此 我们需要扩展激活以使测试阶段更简单 我理解这个事实 但我
  • 在我的 Mac 上以 root 身份运行 pip 时出现“权限被拒绝”

    我开始使用我的 Mac 来安装 Python 包 就像我在工作中使用 Windows PC 一样 然而在我的 Mac 上我经常遇到没有权限写入日志文件或站点包时出错 于是我想到了跑步pip install
  • 需要帮助处理 Application.xaml 文件中的 DataTemplate 事件

    我的应用程序中有一个包含几个按钮的数据模板 我希望这些按钮的偶数处理程序在当前页面 我在许多页面中使用此模板 而不是在 Application xaml vb cs 文件中触发 因为我希望在每个页面上执行不同的操作 我希望我说清楚了 您可以
  • 理解 UIViewRepresentable

    斯威夫特 5 0 iOS 13 尝试了解 UIViewRepresentable 的工作原理 并将这个简单的示例放在一起 几乎就这样了 但也许完全是无稽之谈 是的 我知道 SwiftUI 中已经有一个 tapGesture 这只是一个测试
  • 非模态 questdlg.m 提示

    我的代码绘制了一个图 然后提示用户是否想使用不同的参数绘制另一个图 问题是 当 questdlg m 打开时 用户无法查看绘图的详细信息 这是代码 while strcmp Cont Yes 1 Some code modifying da
  • React + Mobx:尝试更新存储时“this”为空

    刚刚开始使用 Mobx 和 React 在更新商店时遇到困难 单击按钮时出现错误 这应该更新 me 属性 Store js 12 Uncaught TypeError Cannot set property me of null 我的商店
  • 我可以将一个 WPF 窗口叠加在另一个窗口之上吗?

    我有一个 WPF 窗口 其中包含一个WindowsFormsHost元素 我需要在这个元素之上绘制东西 但是它的本质WindowsFormsHost意味着它始终位于绘图堆的顶部 因为我无法在同一 WPF 窗口中绘制WindowsFormsH
  • 如何使用android ndk r9b为Android编译FFMPEG

    我想设计一个Android应用程序 可以通过FFMPEG命令播放和编辑视频 但我不知道如何在Android上使用FFMPEG 我尝试过从Google搜索到的许多方法 但它们太旧了 无法实现 现在 FFMPEG的最新版本是2 1 1 Andr