Hi All, Here <http://bambuser.com/>is a VERY fantastic company that provides a very helpful link in order to compile ffmpeg (Bambuser). Look to the bottom of the page in the "Open Source" section. They obviously use ffmpeg for their product.
Also, I have nothing to do with their product but it does look great too. I only have big smiles for this company for providing back to the community. You can download their archive and use their patches and scripts to cross-compile a (reasonably) recent version of ffmpeg for your device. If you use this and make any changes, please contribute back as I am very interested to see any changes people make using it. Cheers, Andy -- "The greatest challenge to any thinker is stating the problem in a way that will allow a solution" - Bertrand Russell Andy Savage Cell Phone: +852 936 34341 Skype ID: andy_savage Linked In: http://www.linkedin.com/in/andysavage On Thu, Jun 17, 2010 at 8:44 PM, Yadnesh <[email protected]> wrote: > Hi, > > I followed all the steps in trying to build the FFMpeg on android. > The build goes fine for some time and then I get the following error: > =========================================================== > make: *** No rule to make target `out/apps/ffmpeg-org/armeabi/ > libz.so', needed b > y `out/apps/ffmpeg-org/armeabi/libavcodec.a'. Stop. > =========================================================== > > libz.so is present in the Android NDK (build/platforms/android-5/arch- > arm/usr/lib/libz.so) and the application only needs to link to the > library > > the Android.mk in libavformat fools as follows: > =========================================================== > LOCAL_PATH := $(call my-dir) > include $(CLEAR_VARS) > > include $(LOCAL_PATH)/../av.mk > > LOCAL_SRC_FILES := $(FFFILES) > > LOCAL_C_INCLUDES := \ > $(LOCAL_PATH) \ > $(LOCAL_PATH)/.. \ > external/zlib > > LOCAL_CFLAGS += $(FFCFLAGS) > LOCAL_CFLAGS += -include "string.h" -Dipv6mr_interface=ipv6mr_ifindex > > LOCAL_SHARED_LIBRARIES := libz > LOCAL_STATIC_LIBRARIES := $(FFLIBS) > > LOCAL_MODULE := $(FFNAME) > > include $(BUILD_STATIC_LIBRARY) > =========================================================== > > Referring to some information in the NET I replaced the > LOCAL_SHARED_LIBRARIES := libz > with > LOCAL_LDLIBS := -Lbuild/platforms/android-5/arch-arm/usr/lib -lz > > But still get same error. All suggestions to resolve the issue are > welcome :) > > Thanks and Regards, > Yadnesh > > On Jun 17, 9:26 am, Andy Savage <[email protected]> wrote: > > So, I've downloaded the code from ffmpeg-android (also tried using the > > origional ffmpeg sources with same error). > > > > *Here's the problem... I run my configure script (below):* > > #!/bin/bash > > > > PREBUILT=/stuff/android-ndk-r4/build/prebuilt/linux-x86/arm-eabi-4.2.1 > > PREBUILTLIB=$PREBUILT/lib/gcc/arm-eabi/4.2.1 > > PLATFORM=/stuff/android-ndk-r4/build/platforms/android-5/arch-arm > > PREFIX=/stuff/ffmpeg-android-bin > > ./configure --target-os=linux \ > > --arch=armv4t \ > > --enable-cross-compile \ > > --cc=$PREBUILT/bin/arm-eabi-gcc \ > > --cross-prefix=$PREBUILT/bin/arm-eabi- \ > > --nm=$PREBUILT/bin/arm-eabi-nm \ > > --extra-cflags="-fpic -DANDROID -I$PLATFORM/usr/include -mthumb-interwork > > -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums > > -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ > > -march=armv5te -mtune=xscale -msoft-float -Os -fomit-frame-pointer > > -fno-strict-aliasing -finline-limit=64 -Wa,--noexecstack" \ > > --prefix=$PREFIX \ > > --extra-ldflags="-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x > > -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib > > -nodefaultlibs $PREBUILTLIB/crtbegin.o $PREBUILTLIB/crtend.o -lgcc -lc > -lm" > > \ > > --enable-static \ > > --disable-ffplay \ > > --disable-ffserver \ > > --disable-debug \ > > --enable-small \ > > --disable-shared \ > > --disable-yasm > configout.txt > > > > *This runs fine and generates the required files, then I run * > > make -j 2 TARGET_ARCH=arm APP=ffmpeg-android > > * > > * > > *And the sad error I get is* > > *In file included from > > > /stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/linux/ > in.h:209, > > * > > * from > > > /stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/netine > t/in.h:33, > > * > > * from libavformat/network.h:36,* > > * from libavformat/os_support.c:42:* > > > */stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/asm/b > yteorder.h: > > In function '___arch__swab32':* > > > */stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/asm/b > yteorder.h:25: > > warning: implicit declaration of function 'asm'* > > > */stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/asm/b > yteorder.h:25: > > error: expected ')' before ':' token* > > *make: *** [libavformat/os_support.o] Error 1* > > *make: *** Waiting for unfinished jobs....* > > > > *Any ideas on this one?? I've tried using android-8 instead and tried > using > > both 4.2.1 and 4.4.0 in the toolchain.* > > * > > * > > *Grrr, no idea where to go from here.* > > * > > * > > -- > > "The greatest challenge to any thinker is stating the problem in a way > that > > will allow a solution" > > - Bertrand Russell > > > > Andy Savage > > Cell Phone: +852 936 34341 > > Skype ID: andy_savage > > Linked In:http://www.linkedin.com/in/andysavage > > > > > > > > On Wed, Jun 16, 2010 at 2:22 AM, Deva R <[email protected]> wrote: > > > Can you share complete log?? since libavformat is built within > > > ffmpeg-android, it should be some .mk mismatch., > > > > > Are you using android sdk toolchain or other GNU toolchain?? > > > if any tool chians used other than android, the binaries should be > strictly > > > static, as android has its own libc version, so binaries wont work. > > > > > btw, i was able to build it with in my SDK., few gcc 4.4 specific > breaks > > > were there, but it compiled all libraries. > > > > > PS. > > > GCC 4.4 build breaks in the shared gitorious tree > > > > > diff --git a/libavformat/metadata_compat.c > b/libavformat/metadata_compat.c > > > index b05fb04..8829940 100644 > > > --- a/libavformat/metadata_compat.c > > > +++ b/libavformat/metadata_compat.c > > > @@ -105,7 +105,7 @@ void ff_metadata_demux_compat(AVFormatContext *ctx) > > > > > #define FILL_METADATA(s, key, value) > > > { \ > > > - if (value && *value && !av_metadata_get(s->metadata, #key, NULL, > > > 0)) \ > > > + if ( (value != NULL )&& *value && !av_metadata_get(s->metadata, > #key, > > > NULL, 0)) \ > > > av_metadata_set(&s->metadata, #key, > > > value); \ > > > } > > > #define FILL_METADATA_STR(s, key) FILL_METADATA(s, key, s->key) > > > diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c > > > index 2243d00..babc880 100644 > > > --- a/libavformat/nutdec.c > > > +++ b/libavformat/nutdec.c > > > @@ -840,6 +840,7 @@ av_log(s, AV_LOG_DEBUG, > > > "read_timestamp(X,%d,%"PRId64",%"PRId64")\n", stream_ind > > > else if(stream_index == -2) return back_ptr; > > > > > assert(0); > > > +return -1; > > > } > > > > > On Tue, Jun 15, 2010 at 3:48 PM, Andy Savage <[email protected]> > wrote: > > > > >> Hi there everyone, > > > > >> Just wondering if somebody has had success building this FFMpeg build > > >> for Android? I'm having an issue (that I'm not quite experienced > > >> enough to solve). > > > > >> Or perhaps if somebody has already built it maybe they could send me > > >> the binary? :) > > > > >> Any help that you guys can give me would be great. Here's the Android > > >> Port: > > >>http://gitorious.org/~olvaffe/ffmpeg/ffmpeg-android< > http://gitorious.org/%7Eolvaffe/ffmpeg/ffmpeg-android> > > > > >> The error I'm getting when I try a make on that code is: > > >> make: *** No rule to make target `libavformat/libavformat.a', needed > > >> by `all'. Stop. > > > > >> :-( > > > > >> Kind regards, > > >> Andy Savage > > > > >> -- > > >> unsubscribe: > > >> [email protected]<android-porting%[email protected]> > <android-porting%2Bunsubscribe@ googlegroups.com> > > >> website:http://groups.google.com/group/android-porting > > -- > unsubscribe: > [email protected]<android-porting%[email protected]> > website: http://groups.google.com/group/android-porting > -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
