Newest 'ffmpeg' Questions - Stack Overflow

http://stackoverflow.com/questions/tagged/ffmpeg

Les articles publiés sur le site

  • Error when run the command ./build.sh in FFmpeg decoder in Android [closed]

    7 novembre 2011, par fargath

    Possible Duplicate:
    Android-NDK building using the Bambuser source
    Error while compile ffmpeg on cygwin for android

    I have try to implement the ffmpeg decoding library in my android project.Dowload FFmpeg.I got the ffmpeg library from the bambuser client version and unpack that into the project jni folder.Then i run the extract command(./extract.sh) in cygwin compiler tool(its becoz am using windows os) after that am trying to build ffmpeg library using the command ./build.sh

    I have googled a lot but i cant make it work. Please help me out from this.

    NDK version: NDKr5b Cygwin tool version: 1.7

    my build.sh file is

    ***********Command starts here**********
    
     #!/bin/bash
    if [ "$NDK" = "" ]; then
        echo NDK variable not set, assuming ${HOME}/android-ndk
        export NDK=${HOME}/android-ndk
    fi
    
    SYSROOT=$NDK/platforms/android-8/arch-arm
     # Expand the prebuilt/* path into the correct one
    TOOLCHAIN=`echo $NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows`
    export PATH=$TOOLCHAIN/bin:$PATH
    
    rm -rf build/ffmpeg
    mkdir -p build/ffmpeg
    cd ffmpeg
    
     # Don't build any neon version for now
    for version in armv5te armv7a; do
    
    DEST=../build/ffmpeg
    FLAGS="--target-os=linux --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- --arch=arm  --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc"
    FLAGS="$FLAGS --sysroot=$SYSROOT"
    FLAGS="$FLAGS --soname-prefix=/data/data/org.sample.ffmpegsample/lib/"
    FLAGS="$FLAGS --enable-shared --disable-symver --enable-cross-compile"
    FLAGS="$FLAGS --enable-small --enable-version3 --optimization-flags=-O2"
    FLAGS="$FLAGS --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm"
    FLAGS="$FLAGS --ar=$TOOLCHAIN/bin/arm-linux-androideabi-ar"
    FLAGS="$FLAGS --enable-gpl --enable-nonfree --disable-stripping"
    FLAGS="$FLAGS --enable-encoder=mpeg2video --enable-encoder=nellymoser"
    $ADDITIONAL_CONFIGURE_FLAG
    
    case "$version" in
        neon)
            EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon"
            EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"
            # Runtime choosing neon vs non-neon requires
            # renamed files
            ABI="armeabi-v7a"
            ;;
        armv7a)
            EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp"
            EXTRA_LDFLAGS=""
            ABI="armeabi-v7a"
            ;;
        *)
            EXTRA_CFLAGS=""
            EXTRA_LDFLAGS=""
            ABI="armeabi"
            ;;
    esac
    DEST="$DEST/$ABI"
    FLAGS="$FLAGS --prefix=$DEST"
    
    mkdir -p $DEST
    echo $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" > $DEST/info.txt
    ./configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" | tee $DEST/configuration.txt
    [ $PIPESTATUS == 0 ] || exit 1
    make clean
    make -j4 || exit 1
    make install || exit 1
    done
    
    ***********Command ends here**********
    

    Here I attach my cygwin command tool screenshot, Thanks in advance.

    http://www.mediafire.com/?xc3511m9miyknia

  • Error while compile ffmpeg on cygwin for android [closed]

    7 novembre 2011, par Satheesh

    Possible Duplicate:
    Error when run the command ./build.sh in FFmpeg decoder in Android

    I have try to implement the ffmpeg decoding library in my android project.Dowload FFmpeg.I got the ffmpeg library from the bambuser client version and unpack that into the project jni folder.Then i run the extract command(./extract.sh) in cygwin compiler tool(its becoz am using windows os) after that am trying to build ffmpeg library using the command ./build.sh

    I have googled a lot but i cant make it work. Please help me out from this.

    NDK version: NDKr5b Cygwin tool version: 1.7

    My build.sh file is

    /************Command starts here******************/
    
     #!/bin/bash
    
    if [ "$NDK" = "" ]; then
        echo NDK variable not set, assuming ${HOME}/android-ndk
        export NDK=${HOME}/android-ndk
    fi
    
    SYSROOT=$NDK/platforms/android-8/arch-arm
     # Expand the prebuilt/* path into the correct one
    TOOLCHAIN=`echo $NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows`
    export PATH=$TOOLCHAIN/bin:$PATH
    
    rm -rf build/ffmpeg
    mkdir -p build/ffmpeg
    cd ffmpeg
    
     # Don't build any neon version for now
    for version in armv5te armv7a
    do
    
        DEST=../build/ffmpeg
        FLAGS="--target-os=linux --arch=arm"
        FLAGS="$FLAGS --cross-prefix=arm-linux-androideabi- --arch=arm"
        FLAGS="$FLAGS --sysroot=$SYSROOT"
        FLAGS="$FLAGS --soname-prefix=/data/data/org.rifluxyss.androiddev.livewallpapaerffmpeg/lib/"
        FLAGS="$FLAGS --enable-cross-compile --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc"
        FLAGS="$FLAGS --enable-shared --disable-symver"
        FLAGS="$FLAGS --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm"
        FLAGS="$FLAGS --ar=$TOOLCHAIN/bin/arm-linux-androideabi-ar"
        FLAGS="$FLAGS --ranlib=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib"
        FLAGS="$FLAGS --enable-small --optimization-flags=-O2"
        FLAGS="$FLAGS --enable-encoder=mpeg2video --enable-encoder=nellymoser --enable-memalign-hack "
        FLAGS="$FLAGS --disable-ffmpeg --disable-ffplay"
        FLAGS="$FLAGS --disable-ffserver --disable-ffprobe --disable-encoders"
        FLAGS="$FLAGS --disable-muxers --disable-devices --disable-protocols"
        FLAGS="$FLAGS --enable-protocol=file --enable-avfilter"
        FLAGS="$FLAGS --disable-network --enable-pthreads --enable-avutil"
        FLAGS="$FLAGS --disable-avdevice --disable-asm --extra-libs=-lgcc"
    
        case "$version" in
            neon)
                EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon"
                EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"
                # Runtime choosing neon vs non-neon requires
                # renamed files
                ABI="armeabi-v7a"
                ;;
            armv7a)
                EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp"
                EXTRA_LDFLAGS=""
                ABI="armeabi-v7a"
                ;;
            *)
                EXTRA_CFLAGS=""
                EXTRA_LDFLAGS=""
                ABI="armeabi"
                ;;
        esac
        DEST="$DEST/$ABI"
        FLAGS="$FLAGS --prefix=$DEST"
    
        mkdir -p $DEST
        echo $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" > $DEST/info.txt
        ./configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" | tee $DEST/configuration.txt
        [ $PIPESTATUS == 0 ] || exit 1
        make clean
        make -j4 || exit 1
        make install || exit 1
    
    done
    
    /****************Command ends here************************/
    

    While compiling this am getting error when linking the archive files into .so files.

    The error is look like "arm-linux-androideabi/bin/ld.exe: cannot find -lavutil Collect2:ld returned 1 exit status make:[libaswscale/libswscale.so] Error 1 make: waititng for unfinished jobs...."

    Please anyone help me to out from this.

  • Linker error when compiling ffmpeg for Android

    7 novembre 2011, par Satheesh

    I have try to implement the ffmpeg decoding library in my android project.Dowload FFmpeg.I got the ffmpeg library from the bambuser client version and unpack that into the project jni folder.Then i run the extract command(./extract.sh) in cygwin compiler tool(its becoz am using windows os) after that am trying to build ffmpeg library using the command ./build.sh

    I have googled a lot but i cant make it work. Please help me out from this.

    NDK version: NDKr5b Cygwin tool version: 1.7

    My build.sh file is

    /************Command starts here******************/
    
     #!/bin/bash
    
    if [ "$NDK" = "" ]; then
        echo NDK variable not set, assuming ${HOME}/android-ndk
        export NDK=${HOME}/android-ndk
    fi
    
    SYSROOT=$NDK/platforms/android-8/arch-arm
     # Expand the prebuilt/* path into the correct one
    TOOLCHAIN=`echo $NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows`
    export PATH=$TOOLCHAIN/bin:$PATH
    
    rm -rf build/ffmpeg
    mkdir -p build/ffmpeg
    cd ffmpeg
    
     # Don't build any neon version for now
    for version in armv5te armv7a
    do
    
        DEST=../build/ffmpeg
        FLAGS="--target-os=linux --arch=arm"
        FLAGS="$FLAGS --cross-prefix=arm-linux-androideabi- --arch=arm"
        FLAGS="$FLAGS --sysroot=$SYSROOT"
        FLAGS="$FLAGS --soname-prefix=/data/data/org.rifluxyss.androiddev.livewallpapaerffmpeg/lib/"
        FLAGS="$FLAGS --enable-cross-compile --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc"
        FLAGS="$FLAGS --enable-shared --disable-symver"
        FLAGS="$FLAGS --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm"
        FLAGS="$FLAGS --ar=$TOOLCHAIN/bin/arm-linux-androideabi-ar"
        FLAGS="$FLAGS --ranlib=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib"
        FLAGS="$FLAGS --enable-small --optimization-flags=-O2"
        FLAGS="$FLAGS --enable-encoder=mpeg2video --enable-encoder=nellymoser --enable-memalign-hack "
        FLAGS="$FLAGS --disable-ffmpeg --disable-ffplay"
        FLAGS="$FLAGS --disable-ffserver --disable-ffprobe --disable-encoders"
        FLAGS="$FLAGS --disable-muxers --disable-devices --disable-protocols"
        FLAGS="$FLAGS --enable-protocol=file --enable-avfilter"
        FLAGS="$FLAGS --disable-network --enable-pthreads --enable-avutil"
        FLAGS="$FLAGS --disable-avdevice --disable-asm --extra-libs=-lgcc"
    
        case "$version" in
            neon)
                EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp -mfpu=neon"
                EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"
                # Runtime choosing neon vs non-neon requires
                # renamed files
                ABI="armeabi-v7a"
                ;;
            armv7a)
                EXTRA_CFLAGS="-march=armv7-a -mfloat-abi=softfp"
                EXTRA_LDFLAGS=""
                ABI="armeabi-v7a"
                ;;
            *)
                EXTRA_CFLAGS=""
                EXTRA_LDFLAGS=""
                ABI="armeabi"
                ;;
        esac
        DEST="$DEST/$ABI"
        FLAGS="$FLAGS --prefix=$DEST"
    
        mkdir -p $DEST
        echo $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" > $DEST/info.txt
        ./configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" | tee $DEST/configuration.txt
        [ $PIPESTATUS == 0 ] || exit 1
        make clean
        make -j4 || exit 1
        make install || exit 1
    
    done
    
    /****************Command ends here************************/
    

    While compiling this am getting error when linking the archive files into .so files.

    The error is look like "arm-linux-androideabi/bin/ld.exe: cannot find -lavutil Collect2:ld returned 1 exit status make:[libaswscale/libswscale.so] Error 1 make: waititng for unfinished jobs...."

    Please anyone help me to out from this. Thanks in advance

  • FFmpeg API : parse raw movie packet data into AVPacket

    7 novembre 2011, par Andrea3000

    If you have a movie file and you need to extract frame (packet) from it, it's simply a matter of writing:

    avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);
    
    ...
    
    AVPacket packet;
    av_read_frame(formatContext, &packet);
    

    But what if I don't have the movie file but only unparsed, raw packet data? These raw packet data are the same as the raw data contained into the movie file but I don't access them throught avformat_open_input and therefore I can't use av_read_frame so FFmpeg doesn't parse them.

    How can I parse this raw data in order to build the corresponding AVPacket? I need to obtain an AVPacket identical to the ones provided by av_read_frame.

  • Video encoding libraries for iOS

    7 novembre 2011, par peetonn

    I really stucked with that problem, because I haven't seen enough information in the internet regarding video encoding in iOS, however we can observe plenty of apps that deal with the problem of video streaming successfully (skype, qik, justin.tv, etc.)
    I'm going to develop an application, that should send video frames obtained from camera and encoded in h.263 (h.264 or MPEG-4 it is under decision) to a web-server. For this, I need some video encoding library. Obviously, ffmpeg can deal with that task, but it is under LGPL license, which could probably lead to some problems in submitting the app in the AppStore. On the other hand, there are some applications, which are seemed to use ffmpeg library, but only Timelapser clearly states this fact in app description. Does this mean, that other apps are not using ffmpeg or just hiding this information?

    Please, share your thoughts and experience in this topic. I'm open for dicsussion.