FFMPEG Android的工具链:臂-Linux的armeabi-EABI-pkg配置 - 有在

2019-06-27 10:23发布

有谁知道ffmpeg的Linux的ARM平台包含了ARM-Linux的androideabi-pkg配置工具中的任何工具链?

而Android NDK不包含它。 也有人成功地建立的ffmpeg为包含ALSA设备的Android? 请注意,libasound存在我的Ubuntu的x86 PC上。

经过非常广泛的研究访问论坛,包括ffmpeg.org,ffmpeg的 - nabbles,groups.google.com包括雄激素和Android的NDK gropus,和一般的互联网,我还没有成功地找到任何人谁似乎知道它的存在。 在最好的,我看过的人说忽略它。 考虑到这是需要什么,我认为这是一个幼稚的事说了。

标准FFMPEG配置脚本的仔细审查表明,对某些输入和输出设备工具链被描述为需要pkg_config_default = pkg配置 。 同样在HAVE_LIST所有项目都取决于系统。 配置脚本非常明确地要求每个indev或outdev项目什么的依赖状态。 显然,这个工具被使用,则验证时需要的依赖库

这是当你尝试配置为Android的ffmpeg会发生什么

jasongipsyblues @ Android的主:〜/ Android的ffmpeg的/项目/ JNI $ ./configure_ffmpeg.sh
...
...
..
....
许可:GPL版本3或更高版本创建config.mak和config.h中...

config.h中是不变

config.asm不变

libavutil / avconfig.h不变

警告:/家庭/ jasongipsyblues /桌面/应用/ Android的NDK-R8B /工具链/ ARM-Linux的androideabi- 4.4.3 /预建/ Linux的-86 /斌/ ARM-Linux的androideabi-pkg配置没有找到,图书馆检测可能会失败。

在与Ubuntu电脑没有与pkg配置没有问题。

当一个里grep从的config.log文件的输入/输出设备ALSA的一个Ubuntu的x86 PC和请比较下面的输出,对于使用Android的NDK-R8工具链Android的盒子

jasongipsyblues @ Android的主:〜/ Android的ffmpeg的/项目/ JNI / ffmpeg的$猫的config.log | grep的> ALSA
alsa_indev
alsa_outdev
alsa_asoundlib_h
INDEV_LIST ='alsa_indev
OUTDEV_LIST ='alsa_outdev
alsa_indev = '是'
alsa_indev_deps = 'alsa_asoundlib_h snd_pcm_htimestamp'
alsa_outdev = '是'
alsa_outdev_deps = 'alsa_asoundlib_h'
indevs_if_any ='alsa_indev
outdevs_if_any ='alsa_outdev
check_lib2 ALSA / asoundlib.h snd_pcm_htimestamp -lasound
check_func_headers ALSA / asoundlib.h snd_pcm_htimestamp -lasound
1名的#include
/tmp/ffconf.VCjQQAHQ.c:1:28:错误:ALSA / asoundlib.h:没有这样的文件或目录

这是示出了错误的来源编译器输出:

check_lib2 ALSA / asoundlib.h snd_pcm_htimestamp -lasound
check_func_headers ALSA / asoundlib.h snd_pcm_htimestamp -lasound
check_ld立方厘米-lasound
check_cc
BEGIN /tmp/ffconf.VCjQQAHQ.c
1名的#include
2长check_snd_pcm_htimestamp(无效){回报(长)snd_pcm_htimestamp; }
3 INT主(无效){返回0; }
END /tmp/ffconf.VCjQQAHQ.c
/home/jasongipsyblues/Desktop/apps/android-ndk-r8b/toolchains/arm-linux-androideabi->4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot = /家庭/ jasongipsyblues /桌面/应用/机器人-NDK-R8B /平台/机器人-14 /拱形臂-D_ISOC99_SOURCE -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE = 200112 -D_XOPEN_SOURCE = 600 -DPIC -I ../ X264 -mcpu = cortex- A9 -std = C99 -fomit帧指针-fPIC -marm -c -o /tmp/ffconf.I2B2AXfH.o
/tmp/ffconf.VCjQQAHQ.c
/tmp/ffconf.VCjQQAHQ.c:1:28:错误:ALSA / asoundlib.h:没有这样的文件或目录
/tmp/ffconf.VCjQQAHQ.c:在函数 'check_snd_pcm_htimestamp':
/tmp/ffconf.VCjQQAHQ.c:2:错误:未声明“snd_pcm_htimestamp”(在一次使用此功能)
/tmp/ffconf.VCjQQAHQ.c:2:错误:(每个未声明的标识符仅报告一次
/tmp/ffconf.VCjQQAHQ.c:2:错误:对每个功能它出现在)。

这是Ubuntu的x86PC的ffmpeg
jasongipsyblues @ Android的主:〜/ ffmpeg的$猫的config.log | grep的ALSA
alsa_indev
alsa_outdev
alsa_asoundlib_h
INDEV_LIST ='alsa_indev
OUTDEV_LIST ='alsa_outdev
alsa_indev = '是'
alsa_indev_deps = 'alsa_asoundlib_h snd_pcm_htimestamp'
alsa_outdev = '是'
alsa_outdev_deps = 'alsa_asoundlib_h'
indevs_if_any ='alsa_indev
outdevs_if_any ='alsa_outdev
check_lib2 ALSA / asoundlib.h snd_pcm_htimestamp -lasound
check_func_headers ALSA / asoundlib.h snd_pcm_htimestamp -lasound
1名的#include
这里没有错误,ALSA被成功列入ffmpeg的构建

Answer 1:

https://github.com/guardianproject/android-ffmpeg

https://github.com/guardianproject/android-ffmpeg/commit/f08db49e613a7ea4423effb22973e3f1afefb819

看看链接。 他只是一个提交,其中包括“对FreeType2”子模块,以避开pkg配置问题。



文章来源: FFMPEG for Android toolchains: arm-linux-armeabi-eabi-pkg-config - is there any toolchain in existence containing the pkg-config tool