gpt4 book ai didi

android - 我如何在 Android 上实际使用 ffmpeg?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:56:19 28 4
gpt4 key购买 nike

我有一个关于 Android 和 ffmpeg 的非常基本的问题。我从 http://bambuser.com/opensource 获得了 ffmpeg并且能够为 ARM 编译它。

结果是二进制文件 (ffmpeg) 以及几个 libsomething.so 文件。

我的问题是:这足以解码视频吗?那么我该如何实际使用 ffmpeg?

要加载我拥有的库:

static {
System.load("/data/data/com.package/lib/libavcodec.so");
}

加载正常。但是然后呢?

<子>更多解释:我看到其他项目,人们在项目的 JNI 目录中有他们的 ffmpeg 源代码。他们还创建了一些 Android.mk 文件和一些 C 代码。我也需要这个吗?为什么要先创建 .so 文件,然后再复制 ffmpeg 源代码?

<子>我知道 NDK 以及它应该如何工作,但我从未见过一个示例说明如何使用它实际调用 ffmpeg 函数,因为人们似乎隐藏了他们的实现(这是可以理解的)但甚至没有提供有用的指针或例子。

<子>假设我想解码视频文件。我需要实现哪种 native 方法?我如何运行该项目?需要传递哪些数据类型?等等。这里肯定有一些人至少做到了这一点,我从数小时的搜索中了解到这一点。

最佳答案

第一个问题;

仅仅构建不足以正确使用 ffmpeg 库。您还应该以正确的顺序包装这些 so 文件,因为这些 so 文件在链接时需要其他库。可以显示so文件的头信息,使用.

objdump -x libavcodec.so | grep NEEDED

所以需要通过Android.mk来包装这些so文件。你可以查看这个 link .

第二个;

您只需要 ffmpeg 项目中的头文件。该实现将从 so 库链接。那可能是因为开发人员没有费心过滤头文件。

最后一个;

目前你的想法似乎是正确的,目前大多数开发人员都在努力使用 ffmpeg,但他们缺乏文档和示例代码。

关于android - 我如何在 Android 上实际使用 ffmpeg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936366/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com