Android接入ffmpeg库
来源:http://www.tudoupe.com时间:2022-03-28
一、跨界环境开发
我的环境如下:
- Ubuntu 20.04 (Linux)
- NDK版本:r17c
我不知道你在说什么, 对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起
我不知道你在说什么, 对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起,对不起hl=zh-cn,下载之后解压,我的NDK安装目录是: /work/and mid/sdk/ndk/and mid-ndk-r17c/
安装单独的工具链需要安装Python,或在没有Python的情况下安装:
然后运行工具链创建脚本 :
安装目录选项提供跨工具链路径和要查看的目录 :
在更重要的目录中:
- 这是一个汇编工具, 链接到执行工具 在文件夹目录中。
- sysroot: 这是基础库和 lib 的名称 。
二. ffmpeg+libx264+libfdk-aac 交叉编译
一. libfdk-aac 交叉编译
从 https://sourceforge.org 下载 libfdk-aac 的源码。 此项目是全球之声Online.net/projects/opencore- amr/files/ fdk- aac/ 特别报导的一部分。
配置配置脚本配置- arm64. s 应该准备并放置在 libfdk- aac 源和目录中。 脚本是这样的 :
执行脚本:
可能会报错:
/work/tmp/android-toolchain/bin/clang60: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
由于缺少libtinfo5, 必须安装 :
重新运行配置 arm64.Sh 脚本后, 您应该能够正确配置 。
接下来,编译安装
可能存在一些编译错误:
错误1:
libSBRdec/src/lpp_tran.cpp:122:10: fatal error: ‘log/log.h’ file not found
解决:
删除包括“log/log code”。 H”
错误2:
libSBRdec/src/lpp_tran.cpp:341:5: error: use of undeclared identifier ‘android_errorWriteLog’
解决:
删除调用代码即可
错误处理后再重新编译&安装,成功后进入/work/android/media/fdk-aac-2.0.2/install 目录下可看到编译产物:
在lib.a图书馆文件有页眉和一些页眉。
二. libx264 交叉编译
在此下载 libx264 的源代码 : git clear https://code.com/I'm sorry, Videolan.http://ww.un.org/vievolan/x264.
与上一个步骤相似, 导航到 X264 源根目录, 并创建一个配置脚本配置 arm64. Sh :
执行脚本,然后make&make install即可。根据-prefix选项配置,编译产物会输出到/work/android/media/x264/install目录下面。
三. ffmpeg 交叉编织
在完成 fdk-aac 和 x264 创建器后,我们可以编集 ffmpeg, 使用早些时候制作的两个图书馆。
首先,获取 ffmpeg 源代码 :
转到 ffmpeg 源目录并创建配置脚本配置 arm64.Sh:
当 ffmpeg 设置时, 添加 *- enable- libx264 。选项和启用libfdk- aac* 选项允许 ffmpeg 打开 x264 和 fdk- aac 文件。 关键是要注意, 我们想要将 *- I 包含到 CFLAGS 编译设置中 。提供 ffmpeg 汇编器 x264 和 fdk- aac 图书馆的页眉目录目录。-L* 选项提供了外部库的 ffmpeg 文件目录 。
配置完之后,我们通过make & make install进行编译安装。
编译可能遇到错误:
错误一:
libavcodec/ aaccoder. comc 中的文件 B0 变量是否会用 b0 更改?
错误二:
libavcodec/ hevc_mvs. c 文件变量 B0 是否为 b0, xb0 xB0, yB0 为 yB0 yb0?
错误三:
libavcodec/opus_pvq.c: In function ‘quant_band_template’:
libavcodec/opus_pvq.c:498:9: error: expected identifier or ‘(’ before
numeric constant
int B0 = blocks;
^ libavcodec/opus_pvq.c:559:12: error: lvalue required as left operand of assignment
B0 = blocks;
^ make: *** [libavcodec/opus_pvq.o] Error 1
libavcodec/ opus_ pvq. com. c 中的文件变量 B0 会变成 b0 吗?
在解决所有错误后, 重新组装并安装它们。 检查编译器 。
文件装有这样一个文件,在文件之后很容易推出,脚本捆绑如下:
使用 ID 命令来全部取取.. a 文件已装入 libffmpeg. so 文件。 然后, 使用 条状 命令来优化 。
libffmpeg. 图书馆文件已经创建了
相关新闻
- 2023-05-06 微pe怎么初始化U盘(微pe怎么恢复初
- 2023-05-06 Xp系统boot 进入pe(boot manager 怎么进入
- 2023-05-06 win pe修复bcdboot(pe修复系统)
- 2023-05-06 win7更新失败 pe(win7更新失败还原更
- 2023-05-06 u盘装了pe读取不了(u盘能进pe读取不
- 2023-05-06 u盘pe 发热(u盘发热烫手)
- 2023-05-06 u盘pe下看不到硬盘(u盘启动pe看不到
- 2023-05-06 pe盘 ntfs(u盘ntfs格式)
- 2023-05-06 sony笔记本进入pe模式(联想笔记本怎
- 2023-05-06 pe启动盘进不去(pe启动盘进不去系统
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
