Recherche avancée

Médias (91)

Autres articles (104)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (12418)

  • FFmpeg support for libstagefright hardware decoding

    25 février 2016, par Ming Zhang

    everyone :
    I am new to ffmpeg. Recently I am working on project to port ffmpeg to android device.
    At the beginning, I compiled ffmpeg to shared libs(.so files) in a very normal way following some guides on Internet, load them into my android app. It works perfectly.

    Now I want ffmpeg to use libstagefright to fulfill HW decoding.
    The problem is, I can compile the .so libs, but when I launch my app and load those .so libs, there is always a java.lang.UnsatisfiedLinkError :
    Cannot load library : reloc_library[1314] : 114 cannot locate ’_ZN7android11MediaBufferC1Ej’

    I stuck there for a few days. Does anyone encountered any similar problems before ? It would be great if someone can give me some hint about this error.

    My steps :
    1. Compile ffmpeg-2.1.4 souce code to .so shared libs. I use the build_libstagefright script to do this, and make some modification based on some guides from Internet.

    #!/bin/bash
    #export NDK=/home/mingzhang/android/android-ndk-r9c
    export NDK=/home/mingzhang/android/android-ndk-r7
    if [ "$NDK" = "" ]; then
       echo NDK variable not set, assuming ${HOME}/android-ndk
       export NDK=${HOME}/android-ndk
    fi

    echo "Fetching Android system headers"
    git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_frameworks_base.git ../android-source/frameworks/base
    git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_frameworks_av.git ../android-source/frameworks/av
    git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_frameworks_native.git ../android-source/frameworks/native
    git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_hardware_libhardware.git ../android-source/hardware/libhardware
    git clone --depth=1 --branch gingerbread-release git://github.com/CyanogenMod/android_system_core.git ../android-source/system/core

    echo "Fetching Android libraries for linking"
    # Libraries from any froyo/gingerbread device/emulator should work
    # fine, since the symbols used should be available on most of them.
    #if [ ! -d "../android-libs" ]; then
    #    if [ ! -f "../update-cm-7.0.3-N1-signed.zip" ]; then
    #        wget http://download.cyanogenmod.com/get/update-cm-7.0.3-N1-signed.zip -P../
    #    fi
    #    unzip ../update-cm-7.0.3-N1-signed.zip system/lib/* -d../
    #    mv ../system/lib ../android-libs
    #    rmdir ../system
    #fi

    SYSROOT=$NDK/platforms/android-9/arch-arm
    # Expand the prebuilt/* path into the correct one
    #TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
    TOOLCHAIN=/home/mingzhang/android/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86
    export PATH=$TOOLCHAIN/bin:$PATH
    ANDROID_SOURCE=../android-source
    ANDROID_LIBS=../android-libs
    ABI="armeabi-v7a"
    CC=$TOOLCHAIN/bin/arm-linux-androideabi-gcc
    #CC=$TOOLCHAIN/bin/arm-eabi-gcc-4.4.3
    NM=$TOOLCHAIN/bin/arm-linux-androideabi-nm
    #NM=$TOOLCHAIN/bin/arm-eabi-nm

    rm -rf ../build/stagefright
    mkdir -p ../build/stagefright

    ADDI_CFLAGS="-marm"
    DEST=../build/stagefright
    DEST="$DEST/$ABI"

    FLAGS="--target-os=linux --arch=arm --cpu=armv7-a --cross-prefix=arm-linux-androideabi- --cc=$CC --nm=$NM"
    #FLAGS="--target-os=linux --arch=arm --cpu=armv7-a --cross-prefix=arm-eabi- --cc=$CC --nm=$NM"
    FLAGS="$FLAGS --sysroot=$SYSROOT"
    #FLAGS="$FLAGS --disable-avdevice --disable-decoder=h264 --disable-decoder=h264_vdpau --enable-libstagefright-h264"
    FLAGS="$FLAGS --enable-shared --disable-demuxers --disable-muxers --disable-parsers --disable-avdevice --disable-filters --disable-programs --disable-encoders --disable-decoders --disable-decoder=h264 --disable-decoder=h264_vdpau --enable-decoder=libstagefright_h264 --enable-libstagefright-h264 \
       --enable-asm \
       --enable-neon \
       --enable-cross-compile \
       --enable-gpl \
       --disable-static \
       --enable-memalign-hack"

    EXTRA_CFLAGS="-I$DEST/include"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/native/include"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/native/include/media/openmax"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/av/include"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/base/include -I$ANDROID_SOURCE/system/core/include"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/hardware/libhardware/include"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/base/media/libstagefright"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$ANDROID_SOURCE/frameworks/base/include/media/stagefright/openmax"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$NDK/sources/cxx-stl/gnu-libstdc++/4.6/include -I$NDK/sources/cxx-stl/gnu-libstdc++/4.6/libs/$ABI/include"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -I$NDK/sources/cxx-stl/stlport/stlport"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -march=armv7-a -mfloat-abi=softfp -mfpu=neon -marm -mtune=cortex-a8"
    EXTRA_CFLAGS="$EXTRA_CFLAGS -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -D_STLP_USE_NEWALLOC"

    EXTRA_LDFLAGS="-Wl,--fix-cortex-a8 -L$ANDROID_LIBS -Wl,-rpath-link,$ANDROID_LIBS -L$NDK/sources/cxx-stl/gnu-libstdc++/4.6/libs/$ABI -static-libstdc++"
    EXTRA_CXXFLAGS="-Wno-multichar -fno-exceptions -fno-rtti"
    FLAGS="$FLAGS --prefix=$DEST"

    mkdir -p $DEST

    echo $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" --extra-cxxflags="$EXTRA_CXXFLAGS" > $DEST/info.txt
    ./configure $FLAGS --extra-cflags="$EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS" --extra-cxxflags="$EXTRA_CXXFLAGS" | tee $DEST/configuration.txt
    [ $PIPESTATUS == 0 ] || exit 1
    make clean
    #make -j4 || exit 1
    #make -j4
    make install || exit 1
    1. Copy the compiled include and lib directories to my android-ndk-r7/sources/ffmpeg-2.1.4/android/arm directory. The Android.mk file under this directory is.

      LOCAL_PATH := $(call my-dir)

      include $(CLEAR_VARS)
      LOCAL_MODULE := libavcodec
      LOCAL_SRC_FILES := lib/libavcodec-55.so
      LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
      include $(PREBUILT_SHARED_LIBRARY)

      include $(CLEAR_VARS)
      LOCAL_MODULE := libavformat
      LOCAL_SRC_FILES := lib/libavformat-55.so
      LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
      include $(PREBUILT_SHARED_LIBRARY)

      include $(CLEAR_VARS)
      LOCAL_MODULE := libswscale
      LOCAL_SRC_FILES := lib/libswscale-2.so
      LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
      include $(PREBUILT_SHARED_LIBRARY)

      include $(CLEAR_VARS)
      LOCAL_MODULE := libavutil
      LOCAL_SRC_FILES := lib/libavutil-52.so
      LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
      include $(PREBUILT_SHARED_LIBRARY)

      include $(CLEAR_VARS)
      LOCAL_MODULE := libavfilter
      LOCAL_SRC_FILES := lib/libavfilter-3.so
      LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
      include $(PREBUILT_SHARED_LIBRARY)

      include $(CLEAR_VARS)
      LOCAL_MODULE := libwsresample
      LOCAL_SRC_FILES := lib/libswresample-0.so
      LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
      include $(PREBUILT_SHARED_LIBRARY)

    2. Under the jni directory of my android app, the Android.mk is.

      LOCAL_PATH:= $(call my-dir)
      include $(CLEAR_VARS)

      LOCAL_MODULE    := libripple
      #LOCAL_CFLAGS    := -Werror
      LOCAL_SRC_FILES := entrypoint.cpp scene.cpp
      LOCAL_LDLIBS    := -llog -lGLESv2 -lm

      include $(BUILD_SHARED_LIBRARY)

      include $(CLEAR_VARS)

      LOCAL_MODULE    := myfflib
      LOCAL_SRC_FILES := fflib.c
      LOCAL_LDLIBS := -L/home/mingzhang/ffmpeg_android/android-libs -llog -ljnigraphics -lz -landroid -ldl -lm -llog -lgcc -lc -lstagefright -lmedia -lutils -lbinder #-lstdc++
      LOCAL_SHARED_LIBRARIES := libavformat libavcodec libswscale libavutil libutils libstagefright libbinder libmedia libstdc++-6

      include $(BUILD_SHARED_LIBRARY)
      $(call import-module,ffmpeg-2.1.4/android/arm)

      And the Application.mk is :

      APP_ABI=armeabi-v7a
      #APP_STL=gnustl_static
      APP_STL=stlport_static

    I am not sure what else materials you need, if anything is missing, please let me know, I will upload it.
    Thank you guys very much !!!

  • newlib.h : No such file or directory in ffmpeg

    20 octobre 2014, par vikky

    I am getting this error

    /AppData/Local/Temp/ffconf.dkWUWsGo.c:1:20: fatal error: newlib.h: No such file or directory
    #include

    while compiling for ffmpeg.

    check_cpp_condition newlib.h defined _NEWLIB_VERSION check_cpp BEGIN
    /tmp/ffconf.dkWUWsGo.c
    1 #include
    2 #if !(defined _NEWLIB_VERSION)
    3 #error "unsatisfied condition : defined _NEWLIB_VERSION"
    4 #endif END /tmp/ffconf.dkWUWsGo.c D :/android-ndk-r10b/toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-gcc
    —sysroot=D :/android-ndk-r10b/platforms/android-8/arch-arm/ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O3 -fpic -DANDROID -DHAVE_SYS_UIO_H=1 -Dipv6mr_interface=ipv6mr_ifindex -fasm -Wno-psabi -fno-short-enums -fno-strict-aliasing -finline-limit=300 -mfloat-abi=softfp -mfpu=vfpv3-d16 -marm -march=armv7-a -march=armv7-a -std=c99 -E -o /tmp/ffconf.BMIcTDua.o /tmp/ffconf.dkWUWsGo.c C :/Users/vmewada/AppData/Local/Temp/ffconf.dkWUWsGo.c:1:20 : fatal
    error : newlib.h : No such file or directory #include
    ^ compilation terminated.

  • Compile FFMPEG for command line usage

    3 septembre 2014, par Lior Iluz

    I’ve been trying to compile FFMPEG so I can use it with my Android application with commands. The result should be 1 static file, "ffmpeg", that is not package dependent. No .so files.

    I managed to compile it with guardianProject and everything is working but the source was too old and lacks options I need.
    I’m using the latest Ubuntu on VirtualBox, all essentials are installed and updated (gawk, yasm, aptitude, etc...).

    There are multiple examples around the web. Here are the issues I’ve experienced with each of the options I tried. I’d appreciate help with either one of the following errors :

    1. Guardian project - I managed to compile it and get the ffmpeg file but it uses an old version of ffmpeg that doesn’t include the "-movFlags faststart" option. I tried throwing the new ffmpeg (2.3.3) in there but it just throws error. (I ran git submodule init and update)

    2. JayH5 - A more generic build file that basically should work with every ffmpeg. I updated the build script to work with the latest NDK and it seems to be working but than it fails on /home/dor/Desktop/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-pkg-config not found, library detection may fail.
      I read about this and it seems to require a hack, which I don’t understand how to implement.

    3. Trovao - this is a very nice project and the build script even downloads the latest ffmpeg and x264 sources, and I even succeeded in compiling it to FFMPEG and X264 files but when I use it, I get this error : could not load library "libx264.so.142 which is weird, as x264 is there and the whole idea of this project is to cancel the need of .so files.

    I’d appreciate help with figuring out how to solve any of the issues. I prefer using the JayH5 build script as it seems the most straight forward out there...

    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=arm
    NDK_COMPILER_VERSION=4.8
    NDK_SYSROOT=$NDK_BASE/platforms/android-$NDK_PLATFORM_VERSION/arch-$NDK_ABI
    NDK_UNAME=`uname -s | tr '[A-Z]' '[a-z]'` # Convert 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 \
    --arch=arm \
    --target-os=linux \
    --enable-runtime-cpudetect \
    --enable-pic \
    --disable-shared \
    --enable-static \
    --cross-prefix=$NDK_TOOLCHAIN_BASE/bin/$NDK_ABI-linux-androideabi- \
    --sysroot="$NDK_SYSROOT" \
    --extra-cflags="-march=armv7-a -mfloat-abi=softfp -fPIC -DANDROID" \
    --extra-ldflags="" \
    --enable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-network \