Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (56)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (9020)

  • Android ndk link failed on libgnustl_shared.so

    15 juin 2016, par nmxprime

    i have compiled ffmpeg with libstagefright

    In the last, while linking i got undefined references using below

    $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib  -soname libffsft1.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffsft1.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lstdc++ -lx264 -lmedia -lutils  -lstagefright -lbinder --warn-once  --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/$CPU/libgcc.a

    Refering this i modified as below

    $PREBUILT/bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffsft1.so -shared -nostdlib  -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PREFIX/libffsft1.so libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog -lstdc++ -lx264 -lmedia -lutils  -lstagefright -lbinder --warn-once  --dynamic-linker=/system/bin/linker $NDK/sources/cxx-stl/gnu-libstdc++/libs/armeY-›v7a/libgnustl_shared.so $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3/$CPU/libgcc.a

    where

    CPU=armv7-a
    PREFIX=./android/$CPU
    NDK=~/Android/android-ndk-r7c
    PLATFORM=$NDK/platforms/android-9/arch-arm/
    PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86

    Now i got the .so file, but when using it in Android, i got

    03-11 03:26:35.760: E/AndroidRuntime(24036):    at dalvik.system.NativeStart.main(Native Method)
    03-11 03:26:35.760: E/AndroidRuntime(24036): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1892]:  1908 could not load needed library 'libgnustl_shared.so' for 'libffsft1.so' (load_library[1094]: Library 'libgnustl_shared.so' not found)
    03-11 03:26:35.760: E/AndroidRuntime(24036):    at java.lang.Runtime.loadLibrary(Runtime.java:370)
    03-11 03:26:35.760: E/AndroidRuntime(24036):    at java.lang.System.loadLibrary(System.java:535)

    So should i copy the required library and use a System.loadlibrary to load it ? or do am i doing it in wrong way ?


    For your reference, i add the undefied references i got while not linking with $NDK/sources/cxx-stl/gnu-libstdc++/libs/armeY-›v7a/libgnustl_shared.so

    libavcodec/libavcodec.a(libstagefright.o):In function `std::_Rb_tree_const_iterator >::operator--()':/home/Android/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:274: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)'
    libavcodec/libavcodec.a(libstagefright.o): In function `std::_Rb_tree<long long="long" timestamp="timestamp">, std::_Select1st >, std::less<long long="long">, std::allocator > >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, std::pair<long long="long" timestamp="timestamp"> const&amp;)':/home/Android/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:923: undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&amp;)'
    libavcodec/libavcodec.a(libstagefright.o): In function `std::_Rb_tree_const_iterator >::operator++()':/home/Android/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:259: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
    libavcodec/libavcodec.a(libstagefright.o): In function `std::_Rb_tree_iterator >::operator++(int)':/home/Android/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:192: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)'
    libavcodec/libavcodec.a(libstagefright.o): In function `std::_Rb_tree<long long="long" timestamp="timestamp">, std::_Select1st >, std::less<long long="long">, std::allocator > >::erase(std::_Rb_tree_iterator >)':/home/Android/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:1387: undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&amp;)'
    libavcodec/libavcodec.a(libstagefright.o): In function `std::_Rb_tree_iterator >::operator--()':/home/Android/android-ndk-r7c/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:199: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)'
    </long></long></long></long></long>
  • FFMPEG Link error

    30 novembre 2014, par Thomas

    I’m trying to compile a modified version of this transcoding example from the FFMPEG site, I’ve used all the required includes and joined the libs using this :

    INCLUDEPATH += $$(FFMPEG_DEV_PATH)\include
       LIBS += -L$$(FFMPEG_DEV_PATH)\lib -lavformat -lavcodec -lavutil -lswscale -liconv -lz -lavfilter

    but I get this linking error that I can’t understand :

     "avio_close(AVIOContext*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "av_strerror(int, char*, unsigned long)", referenced from:
         av_make_error_string(char*, unsigned long, int) in PhVideoEncoder.o
     "av_rescale_q(long long, AVRational, AVRational)", referenced from:
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
     "av_frame_free(AVFrame**)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
         PhVideoEncoder::filter_encode_write_frame(AVFrame*, unsigned int) in PhVideoEncoder.o
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
     "av_read_frame(AVFormatContext*, AVPacket*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avcodec_close(AVCodecContext*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avcodec_open2(AVCodecContext*, AVCodec const*, AVDictionary**)", referenced from:
         PhVideoEncoder::open_input_file(char const*) in PhVideoEncoder.o
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "av_dump_format(AVFormatContext*, int, char const*, int)", referenced from:
         PhVideoEncoder::open_input_file(char const*) in PhVideoEncoder.o
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "av_frame_alloc()", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
         PhVideoEncoder::filter_encode_write_frame(AVFrame*, unsigned int) in PhVideoEncoder.o
     "av_free_packet(AVPacket*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "av_init_packet(AVPacket*)", referenced from:
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
     "av_opt_set_bin(void*, char const*, unsigned char const*, int, int)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "av_register_all()", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "av_rescale_q_rnd(long long, AVRational, AVRational, AVRounding)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
     "av_write_trailer(AVFormatContext*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avfilter_graph_free(AVFilterGraph**)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avfilter_inout_free(AVFilterInOut**)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avformat_new_stream(AVFormatContext*, AVCodec const*)", referenced from:
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "avformat_open_input(AVFormatContext**, char const*, AVInputFormat*, AVDictionary**)", referenced from:
         PhVideoEncoder::open_input_file(char const*) in PhVideoEncoder.o
     "avcodec_copy_context(AVCodecContext*, AVCodecContext const*)", referenced from:
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "avcodec_find_decoder(AVCodecID)", referenced from:
         PhVideoEncoder::open_input_file(char const*) in PhVideoEncoder.o
     "avcodec_find_encoder(AVCodecID)", referenced from:
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "avfilter_get_by_name(char const*)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avfilter_graph_alloc()", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avfilter_inout_alloc()", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avformat_close_input(AVFormatContext**)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avcodec_decode_audio4(AVCodecContext*, AVFrame*, int*, AVPacket const*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avcodec_decode_video2(AVCodecContext*, AVFrame*, int*, AVPacket const*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avcodec_encode_audio2(AVCodecContext*, AVPacket*, AVFrame const*, int*)", referenced from:
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
     "avcodec_encode_video2(AVCodecContext*, AVPacket*, AVFrame const*, int*)", referenced from:
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
     "avfilter_graph_config(AVFilterGraph*, void*)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avfilter_register_all()", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avformat_free_context(AVFormatContext*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "avformat_write_header(AVFormatContext*, AVDictionary**)", referenced from:
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "av_get_sample_fmt_name(AVSampleFormat)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "av_buffersink_get_frame(AVFilterContext*, AVFrame*)", referenced from:
         PhVideoEncoder::filter_encode_write_frame(AVFrame*, unsigned int) in PhVideoEncoder.o
     "avfilter_graph_parse_ptr(AVFilterGraph*, char const*, AVFilterInOut**, AVFilterInOut**, void*)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avformat_find_stream_info(AVFormatContext*, AVDictionary**)", referenced from:
         PhVideoEncoder::open_input_file(char const*) in PhVideoEncoder.o
     "av_interleaved_write_frame(AVFormatContext*, AVPacket*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
     "av_buffersrc_add_frame_flags(AVFilterContext*, AVFrame*, int)", referenced from:
         PhVideoEncoder::filter_encode_write_frame(AVFrame*, unsigned int) in PhVideoEncoder.o
     "avfilter_graph_create_filter(AVFilterContext**, AVFilter const*, char const*, char const*, void*, AVFilterGraph*)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "av_get_default_channel_layout(int)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avformat_alloc_output_context2(AVFormatContext**, AVOutputFormat*, char const*, char const*)", referenced from:
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "av_get_channel_layout_nb_channels(unsigned long long)", referenced from:
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
     "av_frame_get_best_effort_timestamp(AVFrame const*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "av_log(void*, int, char const*, ...)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
         PhVideoEncoder::filter_encode_write_frame(AVFrame*, unsigned int) in PhVideoEncoder.o
         PhVideoEncoder::flush_encoder(unsigned int) in PhVideoEncoder.o
         PhVideoEncoder::open_input_file(char const*) in PhVideoEncoder.o
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
         PhVideoEncoder::encode_write_frame(AVFrame*, unsigned int, int*) in PhVideoEncoder.o
         ...
     "av_free(void*)", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "av_malloc(unsigned long)", referenced from:
         av_malloc_array(unsigned long, unsigned long) in PhVideoEncoder.o
     "av_strdup(char const*)", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "avio_open(AVIOContext**, char const*, int)", referenced from:
         PhVideoEncoder::open_output_file(char const*) in PhVideoEncoder.o

    I tried looking for missing libraries but with no luck... What am I missing ?

    EDIT

    Thanks to the first answer, I added the extern C stuff but I still face a few errors :

    Undefined symbols for architecture x86_64:
     "_av_buffersink_get_frame", referenced from:
         PhVideoEncoder::filter_encode_write_frame(AVFrame*, unsigned int) in PhVideoEncoder.o
     "_av_buffersrc_add_frame_flags", referenced from:
         PhVideoEncoder::filter_encode_write_frame(AVFrame*, unsigned int) in PhVideoEncoder.o
     "_avfilter_get_by_name", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "_avfilter_graph_alloc", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "_avfilter_graph_config", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "_avfilter_graph_create_filter", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "_avfilter_graph_free", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
     "_avfilter_graph_parse_ptr", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "_avfilter_inout_alloc", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "_avfilter_inout_free", referenced from:
         PhVideoEncoder::init_filter(FilteringContext*, AVCodecContext*, AVCodecContext*, char const*) in PhVideoEncoder.o
     "_avfilter_register_all", referenced from:
         PhVideoEncoder::PhVideoEncoder(QString) in PhVideoEncoder.o
    ld: symbol(s) not found for architecture x86_64
  • Android link many static libraries into shared library

    3 février 2014, par nmxprime

    i have 4 static libraries libavcodec.a libavutil.a libswscale.a libx264.a

    I want to link it with libmytest.so

    I tried below Android.mk script

    LOCAL_PATH := $(call my-dir)
    INITIAL_PATH := $(LOCAL_PATH)

    include $(CLEAR_VARS)
    LOCAL_MODULE := mytest

    LOCAL_SRC_FILES := mytest.c

    LOCAL_LDLIBS += -llog
    LOCAL_WHOLE_STATIC_LIBRARIES := libavutil libavcodec libswscale libx264

    include $(BUILD_SHARED_LIBRARY)

    mytest.c calls many functions from those libraries. The 4 libraries are placed inside PROJECTPATH\jni\.

    But i get undefined reference to all functions from those libraries.

    I tried giving LOCAL_ALLOW_UNDEFINED_SYMBOLS := truewhich allowed me to create shared library, but when i launch the app, i get

    01-22 07:15:15.650: E/AndroidRuntime(9655): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1285]:  1868 cannot locate 'avcodec_register_all'...
    01-22 07:15:15.650: E/AndroidRuntime(9655):     at java.lang.Runtime.loadLibrary(Runtime.java:370)
    01-22 07:15:15.650: E/AndroidRuntime(9655):     at java.lang.System.loadLibrary(System.java:535)