Jedyną rzeczą, którą chcę zrobić, to konwertować pliki WAV na MP3 w mojej aplikacji Android.

Obecnie używam https://github.com/tanersener/mobile-ffmpeg i audio -Lease wszystko działa dobrze. Ponieważ rozmiar lib jest około 40 MB i potrzebuję tylko jednego polecenia, chciałbym zbudować swój własny plik .aar zgodnie z opisem w Wiki, aby zmniejszyć rozmiar aplikacji.

Edytowałem android-ffmpeh.sh ./configure:

--disable-everything \    
--enable-pthreads \
--enable-avcodec \
--enable-avformat \
--enable-swresample \
--enable-avfilter \
--enable-libmp3lame \
--enable-parser=mpegaudio \
--enable-demuxer=mp3,wav,pcm_s16le \
--enable-muxer=mp3,wav,pcm_s16le \
--enable-decoder=pcm*,mp3*,wav,pcm_s16le \
--enable-encoder=pcm*,pcm_s16le,wav,mp3,libmp3lame \
--enable-filter=aresample \
--enable-protocol=file \

A potem pobiegł ./android.sh -l --enable-lame --enable-libiconv

W mojej aplikacji Android FFMPEG ładuje, ale konwersja nie udaje się następującym błędem:

E/mobile-ffmpeg: [AVFilterGraph @ 0x7209dfec40] No such filter: 'anull'
E/mobile-ffmpeg: Error reinitializing filters!
E/mobile-ffmpeg: Failed to inject frame into filter network: Invalid argument
E/mobile-ffmpeg: Error while processing the decoded data for stream #0:0
I/mobile-ffmpeg: Conversion failed!

Czy ktoś wie, czego brakuje lub inna konfiguracja, aby zbudować minimalny rozmiar binarny. Każda pomoc jest bardzo ceniona!

1
timson 21 listopad 2020, 16:02

1 odpowiedź

Najlepsza odpowiedź

Narzędzia {X0}} mogą automatycznie włączyć następujące filtry: aformat anull atrim format hflip null transpose trim vflip. configure jest ustawiony, aby wybrać je automatycznie, chyba że jesteś przesłonięty, deklarując --disable-everything. Tak więc filtry te muszą być włączone ręcznie.

0
Gyan 22 listopad 2020, 04:48