Akshay Mukadam
Akshay Mukadam

Reputation: 2438

FFMPEG build for android on ubuntu

I am developing a media app which provides support for all video formats for implementing this feature we require FFMPEG the very best library for codecs. Compiling FFMPEG on windows for android is very long battle so I migrated to ubuntu I have almost compiled it shows the the binaries but it gives at last point following message

>AR libpostproc/libpostproc.a
AR  libswresample/libswresample.a
AR  libswscale/libswscale.a
AR  libavcodec/libavcodec.a
AR  libavutil/libavutil.a
INSTALL libavfilter/libavfilter.a
INSTALL libavformat/libavformat.a
INSTALL libavresample/libavresample.a
INSTALL libpostproc/libpostproc.a
INSTALL libswresample/libswresample.a
INSTALL libswscale/libswscale.a
INSTALL libavutil/libavutil.a
LD  ffmpeg_g
INSTALL libavcodec/libavcodec.a
CP  ffmpeg
STRIP   ffmpeg
skipping strip ffmpeg
INSTALL install-progs-yes
INSTALL ffmpeg
/home/akshay/Desktop/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-ld: -: unknown option

Here is my script

#!/bin/bash
NDK=/home/akshay/Desktop/android-ndk-r9c
PLATFORM=$NDK/platforms/android-8/arch-arm
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86
PREFIX=./android-ffmpeg
function build_one
{
    ./configure --target-os=linux --prefix=$PREFIX \
    --enable-cross-compile \
    --enable-runtime-cpudetect \
    --disable-asm \
    --arch=arm \
    #--cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
    --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
    --disable-stripping \
    #--nm=$PREBUILT/bin/arm-linux-androideabi-nm \
    --sysroot=$PLATFORM \
    --enable-nonfree \
    --enable-version3 \
    --disable-everything \
    --enable-gpl \
    --disable-doc \
    --enable-avresample \
    --enable-demuxer=rtsp \
    --enable-muxer=rtsp \
    --disable-ffplay \
    --disable-ffserver \
    --enable-ffmpeg \
    --disable-ffprobe \
    --enable-encoders \
    --enable-decoders \
    --enable-protocols \
    --enable-hwaccels \
    --enable-zlib \
    --disable-devices \
    --disable-avdevice \
    --extra-cflags="-I/home/android-ffmpeg/include -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a" \
    --extra-ldflags="-L/home/android-ffmpeg/lib"
    make -j4 install
    $PREBUILT/bin/arm-linux-androideabi-ar d libavcodec/libavcodec.a inverse.o
    $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -L$PREFIX/lib  -soname libffmpeg.so -shared -  nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffmpeg.so libavcodec/libavcodec.a libavfilter/     libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -  llog --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.8/libgcc.a
}
build_one

Please tell me anything wrong in the script

Upvotes: 0

Views: 1346

Answers (1)

alireza_fn
alireza_fn

Reputation: 944

you have an unused '-' after -ldl. The empty space between '-' and 'llog' must be ommited.

Upvotes: 2

Related Questions