Android FFMPEG Construir con librtmp
He estado tirando de mi pelo tratando de compilar FFMPEG para Android con librtmp habilitado. He construido FFMPEG con éxito usando el Proyecto Guardian aquí, pero no tiene soporte para librtmp. La única respuesta que he encontrado a este problema está en una pregunta anterior de desbordamiento de pila ( AQUÍ ), pero no quiere trabajar para mí.
Por el momento, tengo el archivo cross-compilado librtmp.so.0
de la versión oficial de rtmpdump android en una carpeta rtmpdump / librtmp que se encuentra en la carpeta android-ffmpeg. Un extracto de mi archivo configure_ffmpeg.sh se lee de la siguiente manera:
- FFMPEG Fade in y Fade out para superposición
- ¿Hay alguna manera de hacer compresión de imágenes y ahorrar más rápido en Android?
- Concatenar archivos mp4 en Android usando halfninja ffmpeg
- Bibliotecas de procesamiento y filtrado de video
- ¿Qué carga de formato h.264 en android y IOS?
./configure \ $DEBUG_FLAG \ --arch=arm \ --cpu=cortex-a8 \ --target-os=linux \ --enable-runtime-cpudetect \ --prefix=$prefix \ --enable-pic \ --disable-shared \ --enable-static \ --cross-prefix=$NDK_TOOLCHAIN_BASE/bin/$NDK_ABI-linux-androideabi- \ --sysroot="$NDK_SYSROOT" \ --extra-cflags="-I../x264 -mfloat-abi=softfp -mfpu=neon" \ --extra-ldflags="-L../x264" \ --extra-cflags="-I/home/dan/android-ffmpeg/rtmpdump" \ --extra-ldflags="-L/home/dan/android-ffmpeg/rtmpdump -lrtmp" \ --enable-version3 \ --enable-gpl \ \ --disable-doc \ --enable-yasm \ \ --enable-decoders \ --enable-encoders \ --enable-muxers \ --enable-demuxers \ --enable-parsers \ --enable-protocols \ --enable-filters \ --enable-avresample \ --enable-libfreetype \ \ --disable-indevs \ --enable-indev=lavfi \ --disable-outdevs \ \ --enable-hwaccels \ \ --enable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --enable-ffserver \ --enable-network \ \ --enable-libx264 \ --enable-zlib \ --enable-librtmp \
Cuando intento compilar esto, aparece eventual un error y mi archivo de FFMPEG config.log me dice que no puede encontrar -lrtmp. Estoy seguro de que estoy dirigiéndolo al directorio correcto … ¿alguien tiene alguna idea?
Saludos
Dan
- Combinar una imagen en un archivo de audio y hacer un archivo de vídeo en android mediante programación
- Android - FFmpeg Alternativa para obtener marcos de video. (Debido a la licencia)
- Construyendo FFMPEG con librtmp para android
- Cómo construir y utilizar ffmpeg dentro de android
- Compilar FFMPEG para el uso de la línea de comandos
- Comprimir vídeos utilizando FFMPEG y JNI
- Transmisión en directo del reproductor RTMP / RTSP sin utilizar la visualización web (servidor WOWZA) en Android
- Error de "ffmpeg tiene relocalizaciones de texto" en Android
Dan,
Esto es algo viejo y quizás no mucha ayuda porque no es una respuesta completa, pero he estado luchando con esto durante meses. Mis esfuerzos están documentados en uno de los foros de ffmpeg (aquí: http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=29&t=1383 ), y tampoco he tenido éxito.
En última instancia, después de construir librtmp y decirle al script de construcción dónde encontrarlo (y deshabilitar el pkg-config para librtmp en el archivo ffmpeg conf), siempre tengo una lista de errores como
libavformat/librtmp.o: in function rtmp_read:libavformat/librtmp.c:153: error: undefined reference to 'RTMP_Read'
- Todas las diferentes funciones RTMP que alegan están indefinidas. Pero el archivo de encabezado está presente con el resto de los archivos necesarios.
Sólo quería poner esto aquí para ayudarle u otros que aún están tratando de construir ffmpeg con librtmp para Android.
Bradford