Recherche avancée

Médias (91)

Autres articles (28)

  • Soumettre améliorations et plugins supplémentaires

    10 avril 2011

    Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
    Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (5443)

  • 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 !!!

  • Is there a way to check the resolution of a file in FFMPEG ? [duplicate]

    2 avril 2020, par Kaxemer

    I'm gathering some videos that I want to concatenate together. However, these videos are coming from different sources and might have different resolutions. Is there a way I can check what resolution they would be in FFMPEG programmatically ? I know that you cannot concatenate videos with different resolutions, so I want to be able to make the videos match the biggest resolution before concatenation.

    


  • android : libffmpeg-neon library loading : Fatal signal 11

    24 septembre 2014, par 4ntoine

    I’m working on android app that uses ffmpeg. I’ve cross-compiled ffmpeg and it’s working good on most devices. But on some Samsung devices i’m having Fatal signal 11 while loading libffmpeg-neon.so file.

    I’ve recompiled ffmpeg with debug symbols (--disable-stripping --enable-debug=3 and cflags += -gstabs+) and have stack trace :

    09-24 12:30:48.564 505-564/? D/CrashAnrDetector﹕ Build: samsung/espresso10rfxx/espresso10rf:4.2.2/JDQ39/P5100XXDMJ2:user/release-keys
    Hardware: piranha
    Revision: 9
    Bootloader: unknown
    Radio: unknown
    Kernel: Linux version 3.0.31-1919150 (se.infra@SEP-107) (gcc version 4.4.1 (Sourcery G++ Lite 2010q1-202) ) #1 SMP PREEMPT Fri Oct 18 15:31:19 KST 2013
    *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'samsung/espresso10rfxx/espresso10rf:4.2.2/JDQ39/P5100XXDMJ2:user/release-keys'
    Revision: '9'
    pid: 5902, tid: 5902, name: om.company.project >>> com.company.project <<<
    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
    r0 00000027 r1 deadbaad r2 401d5258 r3 00000000
    r4 00000000 r5 beffb36c r6 00000004 r7 41217400
    r8 00000000 r9 409d21b0 sl 4005cb58 fp 00000001
    ip 5f6b5468 sp beffb368 lr 401a854d pc 401a4be2 cpsr 60000030
    d0 65706d666662696c d1 732e6e6f656e2d67
    d2 732e30323763692e d3 2f312d6c6f6f6863
    d4 0000000000000000 d5 3f80000000000000
    d6 3f80000000000000 d7 3f8000003f800000
    d8 0000000000000000 d9 0000000000000000
    d10 0000000000000000 d11 0000000000000000
    d12 0000000000000000 d13 0000000000000000
    d14 0000000000000000 d15 0000000000000000
    d16 0000000800000007 d17 003926e90036320b
    d18 003f10a5003c1bc7 d19 0044fa6100420583
    d20 006e401c00628019 d21 0085c022007a001f
    d22 0707070703030303 d23 0000002e0000002b
    d24 009d80280091c025 d25 00b5402e00a9402b
    d26 0000002700000024 d27 0000002d0000002a
    d28 006e400000628000 d29 0085c000007a0000
    d30 0000000100000001 d31 0000000100000001
    scr 60000090
    backtrace:
    #00 pc 0001abe2 /system/lib/libc.so
    #01 pc 00018208 /system/lib/libc.so (abort+4)
    #02 pc 008b076c /data/app-lib/com.company.project-1/libffmpeg-neon.so (__check_for_sync8_kernelhelper+68)
    #03 pc 000032b3 /system/bin/linker
    #04 pc 0000510b /system/bin/linker
    #05 pc 0004f973 /system/lib/libdvm.so (dvmLoadNativeCode(char const*, Object*, char**)+186)
    #06 pc 0006681d /system/lib/libdvm.so
    #07 pc 000276e0 /system/lib/libdvm.so
    #08 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #09 pc 0005fc79 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
    #10 pc 0005fca3 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
    #11 pc 0006ad49 /system/lib/libdvm.so (dvmInitClass+1036)
    #12 pc 000225dc /system/lib/libdvm.so (dvmAsmSisterStart+412)
    #13 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #14 pc 0005ff4f /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+374)
    #15 pc 00067879 /system/lib/libdvm.so
    #16 pc 000276e0 /system/lib/libdvm.so
    #17 pc 0002b5c4 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
    #18 pc 0005fc79 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+272)
    #19 pc 00049a43 /system/lib/libdvm.so
    #20 pc 00047f43 /system/lib/libandroid_runtime.so
    #21 pc 000492df /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+390)
    #22 pc 00000db7 /system/bin/app_process
    #23 pc 0001287f /system/lib/libc.so (__libc_init+38)
    #24 pc 00000ae8 /system/bin/app_process
    stack:
    beffb328 400eea98
    beffb32c 400ede0c
    beffb330 400ebcf8 /system/bin/linker
    beffb334 400ebf40 /system/bin/linker
    beffb338 400ec4f4
    beffb33c 400eb0ac /system/bin/linker
    beffb340 401d2254 /system/lib/libc.so
    beffb344 401d21b4 /system/lib/libc.so
    beffb348 00000000
    beffb34c 401a854d /system/lib/libc.so (_fwalk+32)
    beffb350 00000001
    beffb354 beffb36c [stack]
    beffb358 00000004
    beffb35c 41217400 [heap]
    09-24 12:30:48.564 505-564/? D/CrashAnrDetector﹕ processName:com.company.project

    The problem is that i can’t find check_for_sync or kernelhelper in ffmpeg sources so i can’t figure out what’s wrong. Any thoughts ?

    PS. I’ve tried readelf -Ws libffmpeg-neon.so | grep 8b076c and nothing.