13

Qualcuno sa qualsiasi toolchain per ffmpeg ARM Linux piattaforma che contiene il Supporto, strumento linux-androideabi-pkg-config?

Android NDK non lo contiene. Inoltre qualcuno è riuscito a creare ffmpeg per Android che contiene il dispositivo alsa? Si noti che libasound è presente sul mio PC Ubuntu x86.

Dopo una ricerca molto ampia visitando forum tra cui ffmpeg.org, ffmpeg - nabbles, groups.google.com inclusi andro e android-ndk gropus, e Internet in generale, non sono riuscito a trovare nessuno che sembra sapere di la sua esistenza. Nel migliore dei casi, ho letto le persone che dicono di ignorarlo. Considerando ciò che è necessario, ritengo che una cosa ingenua da dire.

Un'attenta revisione dello script standard ffmpeg configure mostra che per alcuni dispositivi di input e output è richiesta una toolchain come pkg_config_default = pkg-config. Inoltre, tutti gli elementi di HAVE_LIST sono DIPENDENTI DI SISTEMA. Lo script configure indica in modo molto chiaro quali dipendenze sono richieste per ogni articolo indev o outdev. A quanto pare questo strumento viene utilizzato poi per verificare le librerie che sono necessari per le dipendenze

Questo è ciò che succede quando si tenta di configurare ffmpeg per Android

FFMPEG per toolchain Android: arm-linux-armeabi-EABI-pkg-config - c'è qualche toolchain esistente contenente lo strumento 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.

Su un PC con Ubuntu non v'è alcun problema con pkg-config.

Si prega di confrontare le seguenti uscite quando uno greps per l'in/out alsa dispositivo dai file config.log per un PC x86 di Ubuntu e che per la casella Android utilizzando la 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

Questo è l'uscita compilatore mostra la causa dell'errore:

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

Hai trovato qualche soluzione per risolvere davvero questo avviso? –

risposta

2

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

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

guarda i link. ha appena eseguito un commit, incluso il sottomodulo "freetype2", per aggirare il problema di pkg-config.

+1

@rowntreerob, grazie per questo link. Ho fatto un ollok e ho cercato di capire cosa sta facendo qui. Ho ancora un certo numero di domande. Qual è il risultato finale dell'esecuzione di fake-pkg-config? Tenta di costruire la libreria o fornire i file mancanti o necessari necessari direttamente al compilatore e al linker. – user1545779

+0

nessuna idea ... non presta mai attenzione agli avvisi del compilatore su 'pkg-config'. –

Problemi correlati