FFMPEG for Android工具链:arm-linux-armeabi-eabi-pkg-config - 是否存在任何包含pkg-config工具的工具链

use*_*779 13 android ffmpeg compilation static-libraries linux-toolchain

有没有人知道包含arm-linux-androideabi-pkg-config工具的ffmpeg linux arm平台的任何工具链?Android NDK不包含它.还有没有人成功为包含alsa设备的android构建ffmpeg?请注意,我的Ubuntu x86 PC上有libasound.经过非常广泛的研究访问论坛,包括ffmpeg.org,ffmpeg - nabbles,groups.google.com,包括andro和android-ndk gropus,以及一般的互联网,我没有成功找到任何似乎知道它存在的人.充其量,我读过有人说忽略它.考虑到它需要什么,我认为这是一个天真的事情.仔细检查标准ffmpeg配置脚本会显示,对于某些输入和输出设备,需要一个描述为pkg_config_default = pkg-config的工具链.此外,HAVE_LIST上的所有项目都是系统相关的.configure脚本非常清楚地说明了每个indev或outdev项所需的依赖项.显然这个工具用于验证依赖项所需的库这是 当你尝试配置ffmpeg for android时会发生什么









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

config.h没有变化

config.asm不变

libavutil/avconfig.h保持不变

警告:/ home/jasongipsyblues/Desktop/apps/android-ndk-r8b/toolchains/arm-linux-androideabi- 4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-pkg-config not found,library检测可能会失败.

在使用Ubuntu的PC上,pkg-config没有问题.

对于Ubuntu x86 PC的config.log文件和使用android-ndk-r8工具链的android框中的输入/输出设备alsa的一个greps,请比较以下输出

jasongipsyblues @ android-master:〜/ android-ffmpeg/Project/jni/ffmpeg $ cat config.log | grep> alsa
alsa_indev
alsa_outdev
alsa_asoundlib_h
INDEV_LIST ='alsa_indev
OUTDEV_LIST ='alsa_outdev
alsa_indev ='
yes'alsa_indev_deps ='alsa_asoundlib_h snd_pcm_htimestamp'alsa_outdev
= '是'
alsa_outdev_deps ='alsa_asoundlib_h'invvs_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 cc -lasound
check_cc
BEGIN /tmp/ffconf.VCjQQAHQ.c
1 #include
2 long check_snd_pcm_htimestamp(void){return(long)snd_pcm_htimestamp; }
3 int main(void){return 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 =/home/jasongipsyblues/Desktop/apps/android-ndk-r8b/platforms/android-14/arch-arm -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-frame-pointer -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'undeclared(在此函数中首次使用)
/tmp/ffconf.VCjQQAHQ.c:2:错误:(每个未声明的标识符仅报告一次
/tmp/ffconf.VCjQQAHQ.c:2:error:对于它出现的每个函数.)

这是针对Ubuntu x86PC ffmpeg
jasongipsyblues @ android-master:〜/ ffmpeg $ cat config.log | grep alsa
alsa_indev
alsa_out dev的
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构建中

Rob*_*ree 2

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

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

看看链接。他刚刚做了一次提交,包括“freetype2”子模块,以解决 pkg-config 问题。