Recherche avancée

Médias (91)

Autres articles (51)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • 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

  • 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 : (...)

Sur d’autres sites (7598)

  • FFmpeg on android is crashing in avcodec_decode_video2 function

    6 juin 2015, par Matt Wolfe

    FFmpeg is crashing on : libavcodec/utils.c avcodec_decode_video2 around line 2400

    ret = avctx->codec->decode(avctx, picture, got_picture_ptr, &tmp);

    So I’ve compiled ffmpeg on android using the following configure script (based from here ) :

    prefix=${src_root}/ffmpeg/android/arm

    addi_cflags="-marm -Os -fpic"
    addi_ldflags=""

    ./configure \
    --prefix=${prefix} \
    --target-os=linux \
    --arch=arm \
    --enable-shared \
    --disable-doc \
    --disable-programs \
    --disable-symver \
    --cross-prefix=${TOOLCHAIN}/bin/arm-linux-androideabi- \
    --enable-cross-compile \
    --enable-decoder=aac \
    --enable-decoder=mpeg4 \
    --enable-decoder=h263 \
    --enable-decoder=flv \
    --enable-decoder=mpegvideo \
    --enable-decoder=mpeg2video \
    --sysroot=${SYSROOT} \
    --extra-cflags="${addi_cflags}" \
    --pkg-config=$(which pkg-config) >> ${build_log} 2>&1 || die "Couldn't configure ffmpeg"

    The *.so files get copied over into my projects which I reference from my Android.mk script :

    LOCAL_PATH := $(call my-dir)
    FFMPEG_PATH=/path/to/android-ffmpeg-with-rtmp/build/dist

    include $(CLEAR_VARS)
    LOCAL_MODULE := libavcodec
    LOCAL_SRC_FILES :=$(FFMPEG_PATH)/lib/libavcodec-56.so
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE := libavdevice
    LOCAL_SRC_FILES :=$(FFMPEG_PATH)/lib/libavdevice-56.so
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE := libavfilter
    LOCAL_SRC_FILES :=$(FFMPEG_PATH)/lib/libavfilter-5.so
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE := libavformat
    LOCAL_SRC_FILES :=$(FFMPEG_PATH)/lib/libavformat-56.so
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE := libavutil
    LOCAL_SRC_FILES :=$(FFMPEG_PATH)/lib/libavutil-54.so
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE := libswresample
    LOCAL_SRC_FILES :=$(FFMPEG_PATH)/lib/libswresample-1.so
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_MODULE := libswscale
    LOCAL_SRC_FILES :=$(FFMPEG_PATH)/lib/libswscale-3.so
    include $(PREBUILT_SHARED_LIBRARY)

    include $(CLEAR_VARS)
    LOCAL_LDLIBS := -llog
    LOCAL_C_INCLUDES := $(FFMPEG_PATH)/include
    #LOCAL_PRELINK_MODULE := false
    LOCAL_MODULE    := axonffmpeg
    LOCAL_SRC_FILES := libffmpeg.c
    LOCAL_CFLAGS := -g
    LOCAL_SHARED_LIBRARIES := libavcodec libavdevice libavfilter libavformat libavutil libswresample libswscale
    include $(BUILD_SHARED_LIBRARY)

    I’m building a little wrapper to decode frames (mpeg4 video,part 2 simple profile) that come from an external camera :

    #include
    #include
    #include <android></android>log.h>

    #include <libavutil></libavutil>opt.h>
    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavutil></libavutil>channel_layout.h>
    #include <libavutil></libavutil>common.h>
    #include <libavutil></libavutil>imgutils.h>
    #include <libavutil></libavutil>mathematics.h>
    #include <libavutil></libavutil>samplefmt.h>

    #define DEBUG_TAG "LibFFMpeg:NDK"

    AVCodec *codec;
    AVFrame *current_frame;
    AVCodecContext *context;

    int resWidth, resHeight, bitRate;

    void my_log_callback(void *ptr, int level, const char *fmt, va_list vargs);

    jint Java_com_mycompany_axonv2_LibFFMpeg_initDecoder(JNIEnv * env, jobject this,
     jint _resWidth, jint _resHeight, jint _bitRate)
    {
        __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "initDecoder called");

       int len;

       resWidth = _resWidth;
       resHeight = _resHeight;
       bitRate = _bitRate;
       av_log_set_callback(my_log_callback);
       av_log_set_level(AV_LOG_VERBOSE);
       avcodec_register_all();
       codec = avcodec_find_encoder(AV_CODEC_ID_MPEG4);
       if (!codec) {
         __android_log_print(ANDROID_LOG_ERROR, DEBUG_TAG, "codec %d not found", AV_CODEC_ID_MPEG4);
         return -1;
       }
       context = avcodec_alloc_context3(codec);    
       if (!context) {
         __android_log_print(ANDROID_LOG_ERROR, DEBUG_TAG,  "Could not allocate codec context");
         return -1;
       }

       context->width = resWidth;
       context->height = resHeight;
       context->bit_rate = bitRate;
       context->pix_fmt = AV_PIX_FMT_YUV420P;
       context->time_base.den = 6;
       context->time_base.num = 1;
       int openRet = avcodec_open2(context, codec, NULL);
       if (openRet &lt; 0) {
         __android_log_print(ANDROID_LOG_ERROR, DEBUG_TAG,  "Could not open codec, error:%d", openRet);
         return -1;
       }
       current_frame = av_frame_alloc();    
       if (!current_frame) {
         __android_log_print(ANDROID_LOG_ERROR, DEBUG_TAG,  "Could not allocate video frame");
         return -1;
       }    
       return 0;    
    }


    void my_log_callback(void *ptr, int level, const char *fmt, va_list vargs) {

     __android_log_print (level, DEBUG_TAG, fmt, vargs);

    }

    jint Java_com_mycompany_axonv2_LibFFMpeg_queueFrameForDecoding(JNIEnv * env, jobject this,
     jlong pts, jbyteArray jBuffer)
    {

       __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "queueFrameForDecoding called");

       AVPacket avpkt;
       av_init_packet(&amp;avpkt);
       int buffer_len = (*env)->GetArrayLength(env, jBuffer);
       uint8_t* buffer = (uint8_t *) (*env)->GetByteArrayElements(env, jBuffer,0);
       int got_frame = 0;
       __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "copied %d bytes into uint8_t* buffer", buffer_len);

       av_packet_from_data(&amp;avpkt, buffer, buffer_len);
       __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "av_packet_from_data called");

       avpkt.pts = pts;
       int ret = avcodec_decode_video2(context, current_frame, &amp;got_frame, &amp;avpkt);

       __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "avcodec_decode_video2 returned %d" , ret);

       (*env)->ReleaseByteArrayElements(env, jBuffer, (jbyte*) buffer, 0);
       __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "ReleaseByteArrayElements()");

       return 0;
    }

    Alright so the init function above works fine and the queueFrameForDecoding works up until the avcodec_decode_video2 function. I’m not expecting it to work just quite yet however as I’ve been logging output as to where we get in that function, I’ve found that there is a call (in avutil.c) :
    (around line 2400 in the latest code)

    avcodec_decode_video2(...) {
      ....
           ret = avctx->codec->decode(avctx, picture, got_picture_ptr, &amp;tmp);

    init runs fine and finds the codec and all that. Everything works great up until the avcodec_decode_video2 call :

    *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'samsung/klteuc/klteatt:4.4.2/KOT49H/G900AUCU2ANG3:user/release-keys'
    Revision: '14'
    pid: 19355, tid: 22584, name: BluetoothReadTh  >>> com.mycompany.axonv2 &lt;&lt;&lt;
    signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000000
    r0 79308400  r1 79491710  r2 7b0b4a70  r3 7b0b49e8
    r4 79308400  r5 79491710  r6 00000000  r7 7b0b49e8
    r8 7b0b4a70  r9 7b0b4a80  sl 795106d8  fp 00000000
    ip 00000000  sp 7b0b49b8  lr 7ba05c18  pc 00000000  cpsr 600f0010
    d0  206c616768616c62  d1  6564206365646f63
    d2  756f722065646f63  d3  20736920656e6974
    d4  0b0a01000a0a0a0b  d5  0a630a01000a0a0a
    d6  0a630a011a00f80a  d7  0b130a011a00f90a
    d8  0000000000000000  d9  0000000000000000
    d10 0000000000000000  d11 0000000000000000
    d12 0000000000000000  d13 0000000000000000
    d14 0000000000000000  d15 0000000000000000
    d16 6369705f746f6720  d17 7274705f65727574
    d18 8000000000000000  d19 00000b9e42bd5730
    d20 0000000000000000  d21 0000000000000000
    d22 7b4fd10400000000  d23 773b894877483b68
    d24 0000000000000000  d25 3fc2f112df3e5244
    d26 40026bb1bbb55516  d27 0000000000000000
    d28 0000000000000000  d29 0000000000000000
    d30 0000000000000000  d31 0000000000000000
    scr 60000010
    backtrace:
    #00  pc 00000000  <unknown>
    #01  pc 00635c14  /data/app-lib/com.mycompany.axonv2-6/libavcodec-56.so (avcodec_decode_video2+1128)
    </unknown>

    I don’t understand why it’s crashing when trying to call the decode function. I’ve looked into the codec function pointer list and this should be calling ff_h263_decode_frame (source, libavcodec/mpeg4videodec.c) :

    AVCodec ff_mpeg4_decoder = {
       .name                  = "mpeg4",
       .long_name             = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
       .type                  = AVMEDIA_TYPE_VIDEO,
       .id                    = AV_CODEC_ID_MPEG4,
       .priv_data_size        = sizeof(Mpeg4DecContext),
       .init                  = decode_init,
       .close                 = ff_h263_decode_end,
       .decode                = ff_h263_decode_frame,
       .capabilities          = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 |
                                CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY |
                                CODEC_CAP_FRAME_THREADS,
       .flush                 = ff_mpeg_flush,
       .max_lowres            = 3,
       .pix_fmts              = ff_h263_hwaccel_pixfmt_list_420,
       .profiles              = NULL_IF_CONFIG_SMALL(mpeg4_video_profiles),
       .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context),
       .priv_class = &amp;mpeg4_class,
    };

    I know that the ff_h263_decode_frame function isn’t being called because I added logging to it and none of that gets printed.
    However, if I just call ff_h263_decode_frame directly from avcodec_decode_video2 then my logging gets output. I don’t want to call this function directly though and would rather get the ffmpeg framework working correctly. Is there something wrong with how I’ve configured ffmpeg ? I have added mpegvideo, mpeg2video, flv, h263, to the configure script but none have them have helped (they should be included automatically by —enable-decoder=mpeg4).

    Any help would be greatly appreciated.

  • Revision 34625 : un lien dans un lien, ca cree des liens

    21 janvier 2010, par cedric@… — Log

    un lien dans un lien, ca cree des liens

  • Web Analytics Reports : 10 Key Types and How to Use Them

    29 janvier 2024, par Erin

    You can’t optimise your website to drive better results if you don’t know how visitors are engaging with your site.

    But how do you correctly analyse data and identify patterns ? With the right platform, you can use a wide range of web analytics reports to dive deep into the data.

    In this article, we’ll discuss what website analytics reports are, different types, why you need them, and how to use reports to find the insights you need.

    What is web analytics ?

    Website analytics is the process of gathering, processing, and analysing data that shows what users are doing when they visit your website. 

    You typically achieve this with web analytics tools by adding a tracking code that shares data with the analytics platform when someone visits the site.

    Illustration of how website analytics works

    The visitors trigger the tracking code, which collects data on how they act while on your site and then sends that information to the analytics platform. You can then see the data in your analytics solution and create reports based on this data.

    While there are a lot of web analytics solutions available, this article will specifically demonstrate reports using Matomo.

    What are web analytics reports ?

    Web analytics reports are analyses that focus on specific data points within your analytics platform. 

    For example, this channel report in Matomo shows the top referring channels of a website.

    Channel types report in Matomo analytics

    Your marketing team can use this report to determine which channels drive the best results. In the example above, organic search drives almost double the visits and actions of social campaigns. 

    If you’re investing the same amount of money, you’d want to move more of your budget from social to search.

    Why you need to get familiar with specific web analytics reports

    The default web analytics dashboard offers an overview of high-level trends in performance. However, it usually does not give you specific insights that can help you optimise your marketing campaigns.

    For example, you can see that your conversions are down month over month. But, at a glance, you do not understand why that is.

    To understand why, you need to go granular and wider — looking into qualifying data that separates different types of visitors from each other.

    Gartner predicts that 70% of organisations will focus on “small and wide” data by 2025 over “big data.” Most companies lack the data volume to simply let big data and algorithms handle the optimising.

    What you can do instead is dive deep into each visitor. Figure out how they engage with your site, and then you can adjust your campaigns and page content accordingly.

    Common types of web analytics reports

    There are dozens of different web analytics reports, but they usually fall into four separate categories :

    Diagram that illustrates the main types of web analytics reports
    • Referral sources : These reports show where your visitors come from. They range from channel reports — search, social media — to specific campaigns and ads.
    • Engagement (on-site actions) : These reports dive into what visitors are doing on your site. They break down clicks, scrolling, completed conversion goals, and more.
    • E-commerce performance : These reports show the performance of your e-commerce store. They’ll help you dive into the sales of individual products, trends in cart abandonment and more.
    • Demographics : These reports help you understand more about your visitors — where they’re visiting from, their browser language, device, and more.

    You can even combine insights across all four using audience segmentation and custom reports. (We’ll cover this in more detail later.)

    How to use 10 important website analytics reports

    The first step is to install the website analytics code on your website. (We include more detailed information in our guide on how to track website visitors.)

    Then, you need to wait until you have a few days (or, if you have limited traffic, a few weeks) of data. Without sufficient website visitor data, none of the reports will be meaningful.

    Visitor Overview report

    First, let’s take a look at the Visitor Overview report. It’s a general report that breaks down the visits over a given time period.

    Visitor overview report in Matomo

    What this report shows :

    • Trends in unique visits month over month
    • Basic engagement trends like the average visit length and bounce rate
    • The number of actions taken per page

    In general, this report is more of a high-level indicator you can use to explore certain areas more thoroughly. For example, if most of your traffic comes from organic traffic or social media, you can dive deeper into those channels.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Location report

    Next up, we have the most basic type of demographic report — the Location report. It shows where your visitors tend to access your website from.

    Location report in Matomo

    What this report shows :

    • The country, state or city your visitors access your website from

    This report is most useful for identifying regional trends. You may notice that your site is growing in popularity in a country. You can take advantage of this by creating a regional campaign to double down on a high performing audience.

    Device report

    Next, we have the Device report, which breaks down your visitors’ devices.

    Device report in Matomo analytics

    What this report shows :

    • Overall device types used by your visitors
    • Specific device models used

    Today, most websites are responsive or use mobile-first design. So, just seeing that many people access your site through smartphones probably isn’t all that surprising.

    But you should ensure your responsive design doesn’t break down on popular devices. The design may not work effectively because many phones have different screen resolutions. 

    Users Flow report

    The Users Flow report dives deeper into visitor engagement — how your visitors act on your site. It shows common landing pages — the first page visitors land on — and how they usually navigate your site from there.

    Users flow report in Matomo analytics

    What this report shows :

    • Popular landing pages
    • How your visitors most commonly navigate your site

    You can use this report to determine which intermediary pages are crucial to keeping visitors engaged. For example, you can prioritise optimisation and rewriting for case study pages that don’t get a lot of direct search or campaign traffic.

    Improving this flow can improve conversion rates and the impact of your marketing efforts.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Exit Pages report

    The Exit Pages report complements the Users Flow report well. It highlights the most common pages visitors leave your website from.

    Exit pages report in Matomo analytics

    What this report shows :

    • The most common exit pages on your website
    • The exit rates of these pages

    Pages with high exit rates fall into two categories. The first are pages where it makes sense that visitors leave, like a post-purchase thank-you page. The second are pages where you’d want your visitors to stay and keep flowing down the funnel. When the rates are unusually high on product pages, category pages, or case study pages, you may have found a problem.

    By combining insights from the Users Flow and Exit Pages reports, you can find valuable candidates for optimisation. This is a key aspect of effective conversion rate optimisation.

    Traffic Acquisition Channel report

    The Acquisition Channels report highlights the channels that drive the most visitors to your site.

    Acquisition report in Matomo analytics

    What this report shows :

    • Top referring traffic sources by channel type
    • The average time on site, bounce rates, and actions taken by the source

    Because of increasingly privacy-sensitive browsers and apps, the best way to reliably track traffic sources is to use campaign tracking URL. Matomo offers an easy-to-use campaign tracking URL builder to simplify this process.

    Search Engines and Keywords report

    The Search Engines and Keywords report shows which keywords are driving the most organic search traffic and from what search engines.

    Search engine keyword report in Matomo analytics

    What this report shows :

    • Search engine keywords that drive traffic
    • The different search engines that refer visitors

    One of the best ways to use this report is to identify low-hanging fruit. You want to find keywords driving some traffic where your page isn’t ranked in the top three results. If the keyword has high traffic potential, you should then work to optimise that page to rank higher and get more traffic. This technique is an efficient way to improve your SEO performance.

    Ecommerce Products report

    If you sell products directly on your website, the Ecommerce Products report is a lifesaver. It shows you exactly how all your products are performing.

    Ecommerce product report in Matomo analytics

    What this report shows :

    • How your products are selling
    • The average sale price (with coupons) and quantity

    This report could help an online retailer identify top-selling items, adjust pricing based on average sale prices, and strategically allocate resources to promote or restock high-performing products for maximum profitability.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Ecommerce Log report

    If you want to explore every single ecommerce interaction, the Ecommerce Log report is for you. It breaks down the actions of visitors who add products to their cart in real time.

    Ecommerce log report in Matomo analytics

    What this report shows :

    • The full journey of completed purchases and abandoned carts
    • The exact actions your potential customers take and how long their journeys last

    If you suspect that the user experience of your online store isn’t perfect, this report helps you confirm or deny that suspicion. By closely examining individual interactions, you can identify common exit pages or other issues.