适用于Android工具链的FFMPEG:arm-linux-armeabi-eabi pkg配置-是否存在包含pkg配



有人知道ffmpeg-linux-arm平台的任何工具链吗?该平台包含arm-linux-androidabi pkg配置工具

Android NDK不包含它。还有人成功地为包含alsa设备的Android构建了ffmpeg吗?请注意,libasound存在于我的Ubuntu x86 PC上。

经过广泛的研究,访问了论坛,包括ffmpeg.org、ffmpeg-nabbles、groups.google.com(包括andro和android ndk-gropus),以及整个互联网,我还没有成功地找到任何知道它存在的人。充其量,我读过有人说忽略它。考虑到它的用途,我认为这样说很天真

仔细查看标准ffmpeg配置脚本可以发现,对于某些输入和输出设备,需要一个被描述为pkg_config_default=pkg config的工具链。此外,HAVE_LIST上的所有项目都与系统相关。configure脚本非常清楚地说明了每个indev或outdev项需要哪些依赖项。显然,该工具用于验证依赖项所需的库

当您尝试为android配置ffmpeg时,就会发生这种情况

jasongipsyblues@android-master:~/android ffmpeg/Project/jni$/configure_ffmpeg.sh

..
..
许可证:GPL版本3或更高版本正在创建config.mak和config.h…

config.h是不变的

config.asm是不变的

libavutil/avconfig.h是不变的

警告:/home/jasonipsyblues/Desktop/apps/android-ndk-r8b/toolchains/arm-linux-androidabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androidabi-pkg-config未找到,库检测可能失败

在装有Ubuntu的PC上,pkg配置没有问题

当使用android-ndk-r8工具链从Ubuntu x86 PC的config.log文件中为输入/输出设备alsa进行greps时,请比较以下输出

jasongipsyblues@android-master:~/android ffmpeg/Project/jni/ffmpeg$cat config.log | grep>alsa
alsa_indev
alsa_outdev
alsa_saoundlib_h
INDEV_LIST='alsa_INDEV
OUTDEV_LIST='alsa_OUTDEV
alsa_indev="是"
alsa_idev_deps='alsa\soundlib_h snd_pcm_timestamp'
alsa_outdev="是"
alsa_outdev_deps='alsa_sandlib_h'
indevs_if_any='alsa_idev
outdevs_if_any='alsa\outdev
check_lib2 alsa/asoundlib.h snd_pcm_timestamp-lasound
check_func_headers alsa/asoundlib.h snd_pcm_timestamp-lasoud
1#包含
/tmp/ffconf.VCjQQAHQ.c:1:28:错误:alsa/asoundlib.h:没有这样的文件或目录

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

check_lib2 alsa/asoundlib.h snd_pcm_timestamp-lasound
check_func_headers alsa/asoundlib.h snd_pcm_timestamp-lasoud
check_ld cc-lasound
check_cc
开始/tmp/ffconf.VCjQQAHQ.c
1#包含
2长check_snd_pcm_htimestamp(void){return(long)snd_pcm_timestamp;}
3 int main(void){return 0;}
END/tmp/ffconf.VCjQQAHQ.c
/home/jasonipsyblues/Desktop/apps/android-ndk-r8b/toolchains/arm-linux-linux-x86/bin/arm-linux-androidabi-gcc--sysroot=/home/jasongipsyblues/Desktop/app/android-ndk-r8b/platforms/android-14/arch-arm-D-ISOC99_SOURCE-D_FILE_OFFSET_BITS=64-D_LARGEFILE_SOURCE-D_POSIX_C_SOURCE=2000112-DXOPEN_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_timestamp"未声明(此函数中首次使用)
/tmp/ffconf.VCjQQAHQ.c:2:错误:(每个未声明的标识符只报告一次
/tmp/ffconf.VCjQQAHQ.c:2:错误:对于它出现在中的每个函数。)

这是为Ubuntu x86PC ffmpeg
jasongipsyblues@android-master:~/ffmpeg$cat config.log | grep alsa
alsa_indev
alsa_outdev
alsa_saoundlib_h
INDEV_LIST='alsa_INDEV
OUTDEV_LIST='alsa_OUTDEV
alsa_indev="是"
alsa_idev_deps='alsa\soundlib_h snd_pcm_timestamp'
alsa_outdev="是"
alsa_outdev_deps='alsa_sandlib_h'
indevs_if_any='alsa_idev
outdevs_if_any='alsa\outdev
check_lib2 alsa/asoundlib.h snd_pcm_timestamp-lasound
check_func_headers alsa/asoundlib.h snd_pcm_timestamp-lasoud
1#包含
这里没有错误,alsa已成功包含在ffmpeg构建中

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

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

看看链接。他只是做了一个提交,包括"freetype2"子模块,以解决pkg配置问题。

最新更新