2012-08-27 25 views
13

Không ai biết bất kỳ toolchain cho ffmpeg linux arm nền tảng có chứa arm- linux-androideabi-pkg-config Công cụ?

NDK của Android không chứa nó. Cũng có ai thành công trong việc xây dựng ffmpeg cho android có chứa thiết bị alsa không? Xin lưu ý rằng libasound hiện diện trên máy tính Ubuntu x86 của tôi.

Sau khi nghiên cứu rất rộng rãi đến các diễn đàn bao gồm ffmpeg.org, ffmpeg - nabbles, groups.google.com bao gồm andro và android-ndk gropus, và Internet nói chung, tôi đã không thành công trong việc tìm kiếm bất kỳ ai dường như biết sự tồn tại của nó. Tốt nhất, tôi đã đọc mọi người nói bỏ qua nó. Xem xét những gì nó là cần thiết cho, tôi xem xét rằng một điều ngây thơ để nói.

Xem xét cẩn thận tập lệnh cấu hình ffmpeg chuẩn cho thấy rằng đối với một số thiết bị đầu vào và đầu ra, chuỗi công cụ được mô tả là pkg_config_default = pkg-config là bắt buộc. Ngoài ra tất cả các mục trên HAVE_LIST là SYSTEM DEPENDENT. Kịch bản cấu hình nói rõ ràng những gì phụ thuộc được yêu cầu cho mỗi mục indev hoặc outdev. Rõ ràng công cụ này được sử dụng sau đó để xác minh các thư viện đó là cần thiết cho sự phụ thuộc

Đây là những gì sẽ xảy ra khi bạn cố gắng để cấu hình ffmpeg cho android

FFMPEG cho Android toolchains: arm-linux-armeabi-eabi-pkg-config - là có bất kỳ toolchain trong sự tồn tại có chứa các công cụ pkg-config

[email protected]:~/android-ffmpeg/Project/jni$ ./configure_ffmpeg.sh
...
...
..
....
License: GPL version 3 or later Creating config.mak and config.h...

config.h is unchanged

config.asm is unchanged

libavutil/avconfig.h is unchanged

WARNING: /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 detection may fail.

Trên một máy tính với Ubuntu không có vấn đề với pkg-config.

Hãy so sánh các kết quả sau khi một greps cho trong thiết bị alsa ra/vào từ các tập tin config.log cho một x86 PC Ubuntu và rằng cho hộp Android bằng toolchain android-ndk-r8

[email protected]:~/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='yes'
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: error: alsa/asoundlib.h: No such file or directory

này được đầu ra trình biên dịch cho thấy nguồn gốc của lỗi:

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: error: alsa/asoundlib.h: No such file or directory
/tmp/ffconf.VCjQQAHQ.c: In function 'check_snd_pcm_htimestamp':
/tmp/ffconf.VCjQQAHQ.c:2: error: 'snd_pcm_htimestamp' undeclared (first use in this function)
/tmp/ffconf.VCjQQAHQ.c:2: error: (Each undeclared identifier is reported only once
/tmp/ffconf.VCjQQAHQ.c:2: error: for each function it appears in.)

This is for the Ubuntu x86PC ffmpeg
[email protected]:~/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='yes'
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
There is no error here and alsa is successfully included in the ffmpeg build

+0

Bạn có tìm thấy giải pháp nào để giải quyết cảnh báo này thực sự không? –

Trả lời

2

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

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

xem các liên kết. anh ta đã thực hiện một cam kết, bao gồm submodule 'freetype2', để có được xung quanh vấn đề pkg-config.

+1

@rowntreerob, cảm ơn vì liên kết này. Tôi đã có một ollok tại và đã cố gắng để hiểu những gì ông đang làm ở đây. Tôi vẫn có một số câu hỏi. Kết quả cuối cùng của việc chạy giả-pkg-config là gì? Nó có cố gắng xây dựng thư viện hoặc cung cấp các tệp thiếu hoặc cần thiết cần thiết trực tiếp cho trình biên dịch và trình liên kết. – user1545779

+0

không có ý tưởng ... tôi không bao giờ chú ý đến các cảnh báo trình biên dịch trên 'pkg-config'. –

Các vấn đề liên quan