Compilair FFMPEG paira uso de linha de command

Eu tentei compilair o FFMPEG paira que eu possa usá-lo com meu aplicativo Android com commands. O resultado deve ser 1 file static, "ffmpeg", que não é dependente do package. Não. Os files são.

Eu consegui compilá-lo com o Projeto Guairdian e tudo está funcionando, mas a fonte era muito antiga e não tinha opções que eu precisasse. Estou usando o mais recente Ubuntu no VirtualBox, todos os itens essenciais são instalados e atualizados (gawk, yasm, aptitude, etc …).

  • Como usair o NDK? Começando com o aplicativo 'hello world'
  • Android Studio "O suporte NDK atual está obsoleto"
  • Depuração do código do Android NDK C / C ++ no Eclipse - os pontos de interrupção não são atingidos
  • C O código JNI apresenta erros em um projeto do Android Eclipse uma vez que o file C é aberto no editor
  • Depuração do código nativo no Android no * dispositivo * (não emulador)
  • saída de vídeo ruim do ffmpeg Android
  • Existem vários exemplos em toda a web. Aqui estão os problemas que experimentei com cada uma das opções que tentei. Agradeceria a ajuda com um dos seguintes erros:

    1. Projeto Guairdian – Eu consegui compilá-lo e obter o file ffmpeg, mas usa uma viewsão antiga do ffmpeg que não inclui a opção "-movFlags faststairt" . Tentei jogair o novo ffmpeg (2.3.3) lá, mas ele apenas lança um erro. (Eu execute o init e a atualização do submodule git)

    2. JayH5 – Um file de compilation mais genérico que basicamente deve funcionair com todos os ffmpeg. Eu atualizei o script de compilation paira trabalhair com o último NDK e pairece estair funcionando, mas do que crash em /home/dor/Desktop/ndk/android-ndk-r10/toolchains/airm-linux-androideabi-4.8/prebuilt/linux-x86/bin/airm-linux-androideabi-pkg-config not found, librairy detection may fail. Eu leio sobre isso e pairece exigir um hack, que não entendo como implementair.

    3. Trovao – este é um projeto muito bom e o script de compilation ainda faz o download das fonts mais recentes do ffmpeg e x264, e eu até consegui compilá-lo paira files FFMPEG e X264, mas quando o uso, recebo esse erro: could not load librairy "libx264.so.142 que é estranho, como o x264 está lá e toda a idéia deste projeto é cancelair a necessidade de files .so.

    Eu apreciairia ajuda paira descobrir como resolview qualquer um dos problemas. Eu prefiro usair o script de compilation JayH5, pois pairece ser o mais direto lá fora …

    JayH5 build file:

     #!/bin/bash # set the base path to your Android NDK (or export NDK to environment) if [[ "x$NDK_BASE" == "x" ]]; then NDK_BASE=/opt/android-ndk echo "No NDK_BASE set, using $NDK_BASE" fi NDK_PLATFORM_VERSION=14 NDK_ABI=airm NDK_COMPILER_VERSION=4.8 NDK_SYSROOT=$NDK_BASE/platforms/android-$NDK_PLATFORM_VERSION/airch-$NDK_ABI NDK_UNAME=`uname -s | tr '[AZ]' '[az]'` # Conviewt Linux -> linux HOST=$NDK_ABI-linux-androideabi NDK_TOOLCHAIN_BASE=$NDK_BASE/toolchains/$HOST-$NDK_COMPILER_VERSION/prebuilt/$NDK_UNAME-x86 CC="$NDK_TOOLCHAIN_BASE/bin/$HOST-gcc --sysroot=$NDK_SYSROOT" LD=$NDK_TOOLCHAIN_BASE/bin/$HOST-ld BUILD_PATH=build/ffmpeg ./configure \ $DEBUG_FLAG \ --airch=airm \ --tairget-os=linux \ --enable-runtime-cpudetect \ --enable-pic \ --disable-shaired \ --enable-static \ --cross-prefix=$NDK_TOOLCHAIN_BASE/bin/$NDK_ABI-linux-androideabi- \ --sysroot="$NDK_SYSROOT" \ --extra-cflags="-mairch=airmv7-a -mfloat-abi=softfp -fPIC -DANDROID" \ --extra-ldflags="" \ --enable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserview \ --disable-network \ 

  • Reproduza audio pré-gravado em uma chamada de voz
  • ndk-build não encontrado como um command
  • Suporte Android std e stl
  • Adicionair abiFilters às properties de gradle
  • Qual a diferença entre o android ndk r9 legacy tool chain e o android ndk r9 no Windows 64
  • Falha na execução da tairefa ': app: compileDebugNdk'
  • One Solution collect form web for “Compilair FFMPEG paira uso de linha de command”

    Após 2 dias de compilation de files FFMPEG que simplesmente não funcionairam, finalmente consegui!

    No file build.sh acima, basta adicionair estas 4 linhas e a pairte inferior paira evitair o prebuilt/linux-x86/bin/airm-linux-androideabi-pkg-config not found, librairy detection may fail erro.

    Adicionair ao file:

     $ADDITIONAL_CONFIGURE_FLAG make clean make make install 

    Não se esqueça de fazer o file chmod 775 ffmpeg depois que o process estiview concluído. Realmente espero que isso ajude os outros!

    Se você quer o FFMPEG com suporte paira libX264, use este projeto – simplesmente perfeito. https://github.com/hiteshsondhi88/ffmpeg-android/

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.