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)

  • Add a new stream after avformat_write_header function is called

    26 février 2019, par hellkni9ht

    I have several video sources that produce video frames. Each video source should be represented as the separate video stream inside an output video file(mp4 or mpegts).
    The problem is that I should specify the exact number of streams and create them before avformat_write_header function is called. If I try to add the stream after, I will get crash inside av_interleaved_write_frame. Is any way to add a stream on the fly ? Maybe there are some muxer options that I should specify ? Thanks in advance for your answers.

  • Is there some sort of ffmpeg output conversion to ffmpeg commandline ?

    11 février 2019, par MSi

    Say we have many video records that we want merge with -vcodec copy (or equivalent syntax). Without reencoding, without loss of quality. And few records (minor set), with another codecs, parameters and so on. So we can use ffprobe for file, that represent majority of sources. We get lot of information.

    But can we get here commandline hints for ffmpeg, that could be used to convert another (not yet "compatible") files to this same format ? At least for one selected stream of "master" file, for example.

    Question is not about some scpecific output codec and so on.

  • Integrating FFMPEG using cmake : undefined reference when linking libraries

    21 novembre 2018, par Hamed Momeni

    I’ve been trying to cross-compile ffmpeg for different Android cpu archs for couple of days now and I have finally succeeded in the task. But now that I need to integrate these pre-built .so files in my project I’m facing errors which have me baffled.

    This is the CMakeLists.txt which I’m using :

    cmake_minimum_required(VERSION 3.4.1)

    # convert SDK path to forward slashes on Windows
    file(TO_CMAKE_PATH ${PATH_TO_SUPERPOWERED} PATH_TO_SUPERPOWERED)

    set(CMAKE_VERBOSE_MAKEFILE on)

    include_directories(src/main/cpp)
    include_directories(${PATH_TO_SUPERPOWERED})
    include_directories(${PATH_TO_FFMPEG}/${ANDROID_ABI}/include)

    add_library(
           avutil
           SHARED
           ${PATH_TO_FFMPEG}/${ANDROID_ABI}/lib/libavutil.so
    )
    set_target_properties(avutil PROPERTIES LINKER_LANGUAGE CXX)

    add_library(
           avformat
           SHARED
           ${PATH_TO_FFMPEG}/${ANDROID_ABI}/lib/libavformat.so
    )
    set_target_properties(avformat PROPERTIES LINKER_LANGUAGE CXX)

    add_library(
           avcodec
           SHARED
           ${PATH_TO_FFMPEG}/${ANDROID_ABI}/lib/libavcodec.so
    )
    set_target_properties(avcodec PROPERTIES LINKER_LANGUAGE CXX)



    add_library(
           Canto
           SHARED
           src/main/cpp/Dubsmash.cpp
           src/main/cpp/Karaoke.cpp
           src/main/cpp/Singing.cpp
           src/main/cpp/EditDubsmash.cpp
           ${PATH_TO_SUPERPOWERED}/AndroidIO/SuperpoweredAndroidAudioIO.cpp
    )

    # link the native library against the following libraries
    target_link_libraries(
           Canto
           avutil
           avformat
           avcodec
           ${PATH_TO_SUPERPOWERED}/libSuperpoweredAndroid${ANDROID_ABI}.a
           OpenSLES
           log
           android
    )

    And this is the source of the file I’m getting errors on :

    #include
    #include <android></android>log.h>
    #include <string>
    // unrelated includes
    #include <libavformat></libavformat>avformat.h>
    #include <libavutil></libavutil>dict.h>

    #define log_write __android_log_write
    #define log_print __android_log_print

    // unrelated code parts

    int print_file_data(const char *filePath) {
       AVFormatContext *fmt_ctx = NULL;
       AVDictionaryEntry *tag = NULL;
       int ret;

       if ((ret = avformat_open_input(&amp;fmt_ctx, filePath, NULL, NULL)))
           return ret;

       while ((tag = av_dict_get(fmt_ctx->metadata, "", tag, AV_DICT_IGNORE_SUFFIX)))
           log_print(ANDROID_LOG_DEBUG, "%s=%s\n", tag->key, tag->value);

       avformat_close_input(&amp;fmt_ctx);
       return 0;
    }
    </string>

    And finally the errors themselves :

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:externalNativeBuildDebug'.
    > Build command failed.
     Error while executing process /home/hamed/dev/android-tools/android-sdk-linux/cmake/3.6.4111459/bin/cmake with arguments {--build /home/hamed/dev/projects/canto/Canto/app/.externalNativeBuild/cmake/debug/x86 --target Canto}
     [1/1] Linking CXX shared library ../../../../build/intermediates/cmake/debug/obj/x86/libCanto.so
     FAILED: : &amp;&amp; /home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  --target=i686-none-linux-android16 --gcc-toolchain=/home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64 --sysroot=/home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/sysroot -fPIC -isystem /home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/sysroot/usr/include/i686-linux-android -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -fsigned-char -I/home/hamed/dev/projects/canto/Canto/app/../Superpowered -I/home/hamed/dev/projects/canto/Canto/app/../ffmpeg -O0 -fno-limit-debug-info  -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot /home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/platforms/android-16/arch-x86 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -L/home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86 -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libCanto.so -o ../../../../build/intermediates/cmake/debug/obj/x86/libCanto.so CMakeFiles/Canto.dir/src/main/cpp/Dubsmash.cpp.o CMakeFiles/Canto.dir/src/main/cpp/Karaoke.cpp.o CMakeFiles/Canto.dir/src/main/cpp/Singing.cpp.o CMakeFiles/Canto.dir/src/main/cpp/EditDubsmash.cpp.o CMakeFiles/Canto.dir/home/hamed/dev/projects/canto/Canto/Superpowered/AndroidIO/SuperpoweredAndroidAudioIO.cpp.o  ../../../../build/intermediates/cmake/debug/obj/x86/libavutil.so ../../../../build/intermediates/cmake/debug/obj/x86/libavformat.so ../../../../../Superpowered/libSuperpoweredAndroidx86.a -lOpenSLES -llog -landroid -latomic -lm "/home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a" "/home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a" "/home/hamed/dev/android-tools/android-sdk-linux/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86/libandroid_support.a" &amp;&amp; :
     /home/hamed/dev/projects/canto/Canto/app/src/main/cpp/Dubsmash.cpp:295: error: undefined reference to 'avformat_open_input(AVFormatContext**, char const*, AVInputFormat*, AVDictionary**)'
     /home/hamed/dev/projects/canto/Canto/app/src/main/cpp/Dubsmash.cpp:298: error: undefined reference to 'av_dict_get(AVDictionary const*, char const*, AVDictionaryEntry const*, int)'
     /home/hamed/dev/projects/canto/Canto/app/src/main/cpp/Dubsmash.cpp:301: error: undefined reference to 'avformat_close_input(AVFormatContext**)'
     clang++: error: linker command failed with exit code 1 (use -v to see invocation)
     ninja: build stopped: subcommand failed.

    Obviously the linker can not find the needed libraries, but why ?!

    UPDATE
    This is the result of running nm on libavutil.so :

    0000000000000510 t atexit
    0000000000000500 t __atexit_handler_wrapper
    0000000000002008 A __bss_start
                    U __cxa_atexit
                    U __cxa_finalize
    0000000000002000 d __dso_handle
    0000000000001dd8 d _DYNAMIC
    0000000000002008 A _edata
    00000000000004e0 t __emutls_unregister_key
    0000000000002008 A _end
    00000000000005e8 r __FRAME_END__
    0000000000001fd8 d _GLOBAL_OFFSET_TABLE_
    0000000000000258 r ndk_build_number
    0000000000000218 r ndk_version
    0000000000000200 r note_android_ident
    0000000000000214 r note_data
    0000000000000298 r note_end
    000000000000020c r note_name
    00000000000004d0 t __on_dlclose
    00000000000004f0 t __on_dlclose_late

    and on libavformat :

    0000000000000520 t atexit
    0000000000000510 t __atexit_handler_wrapper
    0000000000002008 A __bss_start
                    U __cxa_atexit
                    U __cxa_finalize
    0000000000002000 d __dso_handle
    0000000000001dd8 d _DYNAMIC
    0000000000002008 A _edata
    00000000000004f0 t __emutls_unregister_key
    0000000000002008 A _end
    00000000000005f8 r __FRAME_END__
    0000000000001fd8 d _GLOBAL_OFFSET_TABLE_
    0000000000000258 r ndk_build_number
    0000000000000218 r ndk_version
    0000000000000200 r note_android_ident
    0000000000000214 r note_data
    0000000000000298 r note_end
    000000000000020c r note_name
    00000000000004e0 t __on_dlclose
    0000000000000500 t __on_dlclose_late

    UPDATE 2
    I applied @szatmary suggestion and finally managed to to build the apk file but upon reaching the System.loadLibrary call an exception occurs indicating that the linker can not find libavutil.so.56. I tried changing the address of the library in the cmake file to actually contain the version numbered lib file to no avail :

    java.lang.UnsatisfiedLinkError: dlopen failed: library "libavutil.so.56" not found
           at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
           at java.lang.System.loadLibrary(System.java:1657)
           at com.hmomeni.canto.activities.EditActivity.<init>(EditActivity.kt:26)
           at java.lang.Class.newInstance(Native Method)
           at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
           at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
           at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
           at android.app.ActivityThread.-wrap11(Unknown Source:0)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
           at android.os.Handler.dispatchMessage(Handler.java:106)
           at android.os.Looper.loop(Looper.java:164)
           at android.app.ActivityThread.main(ActivityThread.java:6494)
           at java.lang.reflect.Method.invoke(Native Method)
           at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
    </init>