Recherche avancée

Médias (16)

Mot : - Tags -/mp3

Autres articles (47)

  • 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

  • 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

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (10475)

  • Bit-field badness

    30 janvier 2010, par Mans — Compilers, Optimisation

    Consider the following C code which is based on an real-world situation.

    struct bf1_31 
        unsigned a:1 ;
        unsigned b:31 ;
     ;
    

    void func(struct bf1_31 *p, int n, int a)

    int i = 0 ;
    do
    if (p[i].a)
    p[i].b += a ;
    while (++i < n) ;

    How would we best write this in ARM assembler ? This is how I would do it :

    func :
            ldr     r3,  [r0], #4
            tst     r3,  #1
            add     r3,  r3,  r2,  lsl #1
            strne   r3,  [r0, #-4]
            subs    r1,  r1,  #1
            bgt     func
            bx      lr
    

    The add instruction is unconditional to avoid a dependency on the comparison. Unrolling the loop would mask the latency of the ldr instruction as well, but that is outside the scope of this experiment.

    Now compile this code with gcc -march=armv5te -O3 and watch in horror :

    func :
            push    r4
            mov     ip, #0
            mov     r4, r2
    loop :
            ldrb    r3, [r0]
            add     ip, ip, #1
            tst     r3, #1
            ldrne   r3, [r0]
            andne   r2, r3, #1
            addne   r3, r4, r3, lsr #1
            orrne   r2, r2, r3, lsl #1
            strne   r2, [r0]
            cmp     ip, r1
            add     r0, r0, #4
            blt     loop
            pop     r4
            bx      lr
    

    This is nothing short of awful :

    • The same value is loaded from memory twice.
    • A complicated mask/shift/or operation is used where a simple shifted add would suffice.
    • Write-back addressing is not used.
    • The loop control counts up and compares instead of counting down.
    • Useless mov in the prologue ; swapping the roles or r2 and r4 would avoid this.
    • Using lr in place of r4 would allow the return to be done with pop {pc}, saving one instruction (ignoring for the moment that no callee-saved registers are needed at all).

    Even for this trivial function the gcc-generated code is more than twice the optimal size and slower by approximately the same factor.

    The main issue I wanted to illustrate is the poor handling of bit-fields by gcc. When accessing bitfields from memory, gcc issues a separate load for each field even when they are contained in the same aligned memory word. Although each load after the first will most likely hit L1 cache, this is still bad for several reasons :

    • Loads have typically two or three cycles result latency compared to one cycle for data processing instructions. Any bit-field can be extracted from a register with two shifts, and on ARM the second of these can generally be achieved using a shifted second operand to a following instruction. The ARMv6T2 instruction set also adds the SBFX and UBFX instructions for extracting any signed or unsigned bit-field in one cycle.
    • Most CPUs have more data processing units than load/store units. It is thus more likely for an ALU instruction than a load/store to issue without delay on a superscalar processor.
    • Redundant memory accesses can trigger early flushing of store buffers rendering these less efficient.

    No gcc bashing is complete without a comparison with another compiler, so without further ado, here is the ARM RVCT output (armcc --cpu 5te -O3) :

    func :
            mov     r3, #0
            push    r4, lr
    loop :
            ldr     ip, [r0, r3, lsl #2]
            tst     ip, #1
            addne   ip, ip, r2, lsl #1
            strne   ip, [r0, r3, lsl #2]
            add     r3, r3, #1
            cmp     r3, r1
            blt     loop
            pop     r4, pc
    

    This is much better, the core loop using only one instruction more than my version. The loop control is counting up, but at least this register is reused as offset for the memory accesses. More remarkable is the push/pop of two registers that are never used. I had not expected to see this from RVCT.

    Even the best compilers are still no match for a human.

  • 10 Proven Ways Heatmap Software Improves Website Conversions

    20 septembre 2021, par Ben Erskine — Analytics Tips, Plugins, Heatmap

    Heatmap software is critical in improving website conversions. Why ? Because it provides customer-centric insights. 

    In the online market, businesses that are customer-centric are 60% more profitable than businesses that are not.

    Using heatmaps to track factors such as usability, compare A/B landing pages and content engagement across channels optimises online conversions by addressing issues faced by real users. 

    How heatmaps benefit your customers

    Customer experience is one of the most important factors in business success. 

    Website heatmap software like Matomo offers unique insights into customer behaviour that is then used to improve their experience, usability and engagement. 

    Data analysis captures information on how many people complete a sales funnel or bounce from a website. Behavioural analytics like heatmaps can show you why they bounce.

    This benefits your customers (and therefore your bottom line) because it puts the focus on them and their needs.

    10 ways heatmap software helps increase website conversions

    #1. Improve UX/Usability 

    Heatmap analytics improve usability by identifying where you are losing customers on your website.

    Forrester research indicates that improving user experience can improve conversions by up to 400%, and on average every $1 spent on UX has a return of $100

    For example, you may have a CTA button but customers never click it to reach the payment page. 

    Heatmaps show you how customers interact with your website naturally so that you can adjust it according to their needs.

    Using heatmap analytics to improve usability boosts conversions because it improves customer experiences. 88% of online consumers say that they wouldn’t even bother returning to a website after a bad experience. 

    #2. Website design and content structure 

    Another way that heatmaps can improve conversions is to analyse your website design and content structure. 

    You might be wondering how often a specific ad or a banner was displayed and viewed by your visitors on any of your pages and how often a visitor actually interacted with them. These two parts of the analysis are called content impression and content interaction.

    Ideally, your website elements such as banners, listings, buttons and thumbnails will entice customers to click and find out more. 

    Heatmaps and click maps analyse

    1. How many impressions the content has (e.g. a banner), and
    2. What percent of users that see the content click on it 

    For example, you may have a banner with high impressions but low click-through rates. Tracking content interactions optimises your website by showing which elements or CTAs need more visibility. 

    #3. A/B testing

    Heatmaps provide invaluable data on which landing pages are converting the best. Not only that, but session recordings and heatmap data can show you exactly why one is converting better so that you can replicate the results to increase conversions on other landing pages.

    Tracking heatmap updates on different versions of the same sales page will help confirm creative solutions faster than feedback alone. 

    Ultimately this kind of comparison increases your ROI faster because you are not guessing why some customers are converting and others are not. 

    #4. Conversion Funnel

    Using heatmap software in sales funnels lets you visualise user behaviour at each stage of the conversion process. 

    For example, if many customers are dropping off a payment page, heatmaps can indicate whether it is a usability issue such as pop ups, lack of clarity with payment buttons or something web developers haven’t seen from the back end. 

    These analytics improve conversions by reducing friction in sales funnels as much as possible. 

    #5. Content engagement across channels 

    Optimising websites across all channels is now expected for online businesses. 

    Bad mobile optimisation annoys 48% of online shoppers, and if your web page takes longer than 3 seconds to load, 53% of visitors will simply click away. 

    You can use heatmaps to improve engagement by tracking mouse activity, clicks and scrolling. This helps improve conversions by confirming 

    • How invested a user is in the page 
    • How easy it is to navigate your website and content on different devices 
    • What is your most viewed content and what to push more of 
    • How users generally move through your website on different devices 
    • How clear your messaging is (e.g. high click through rate but low engagement could indicate they aren’t finding what they’re looking for once they click on a CTA)

    #6. Above the fold analysis 

    Although a well-used web development term, above the fold is still one of the most important factors in heatmap analysis. 

    Above the fold analysis gives you insight into a customer’s first impression of a page. 

    An example of above-the-fold heatmaps in action could be a page with a video explanation. Say you have a landing page with a video below the fold that explains why someone should buy and has a CTA button underneath. If there are a lot of page visitors but very few people scrolling below the fold, you can see why hardly any visitors are watching the video or engaging with the CTA button. 

    Insights like this would inform further development such as including important video content above the fold or updating header copy to encourage visitors to scroll down the page more often.

    #7. Session recording

    Recording features go hand in hand with heatmap visualisations. Recording features like Session Recording shows the flow of each user’s time on your website. 

    For example, a session recording replays all clicks, mouse movements, scrolls, window resizes, form interactions, and page changes (e.g. when a popup appears).

    #8. Scroll heatmap 

    A scroll heatmap shows the percentage of people that have seen a part of the page. 

    For example, the top of a website page will be the “hottest” in a scroll heatmap, and it naturally gets “colder” further down.

    Tracking this shows whether customers are staying on the page, whether they are only seeing information above the fold, and whether sales pages are engaging. 

    It is an effective strategy for improving sales pages because it shows where customers are losing interest and which elements receive the most engagement.

    #9. Records clicks 

    With a click heatmap, you can find out what your visitors think is clickable on a webpage.

    This improves conversions in two ways. 

    Firstly, it shows whether customers are clicking where you expect them to. For example, if you create a “buy now” or “free trial” button but nobody ever pushes it, it informs your back end developers that it needs an upgrade. 

    Secondly, it indicates any user experience issues. If there are a lot of clicks on an element that doesn’t link anywhere, it shows that it either needs to be changed or have a link included because customers are trying to engage with it. 

    For even more accurate data, combine click maps with hover maps. This shows where users are paying attention but not clicking through. 

    #10. Records mouse movement/hovering

    Is your website distracting users from the ultimate goal of converting ? Does your website have a logical flow and next step ? Recording mouse movement and attention will help you answer questions like these. 

    Mouse move and hover heatmaps identify where your website visitors engage on the page. Are they naturally drawn to your CTAs ? Is the sidebar taking their attention away from the primary content ? 

    This data increases the likelihood of conversions because it shows where you need to remove distractions or draw their attention in. 

    Matomo's heatmaps feature

    Final thoughts on heatmap analytics 

    Heatmap analytics benefit both you and your customers. By identifying issues that stop them from buying and optimise their engagement, you’ll have happy customers and happy stakeholders. 

    Next, check out these guides on heatmap software and using user behaviour analytics to increase conversions and improve customer experience !

    The Ultimate Guide to Heatmap Software

    How to use Behavioural Analytics to Improve Website Performance

    Heatmap Video

    Session Recording Video

  • Android ffmpeg with opus support

    6 décembre 2014, par ademar111190

    I’m following this tutorial, with some changes, i want add the opus support, I think adding the option --enable-libopus is all i need but no, when I try compile with the shell as follow I’m getting the error :

    configure.sh

    #!/bin/bash

    export ANDROID_NDK=/home/ademar/android-ndk-r9
    export TOOLCHAIN=$(pwd)/temp/ffmpeg
    export SYSROOT=$TOOLCHAIN/sysroot/
    $ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-9 --toolchain=arm-linux-androideabi-4.8 --install-dir=$TOOLCHAIN

    export PATH=$TOOLCHAIN/bin:$PATH
    export CC=arm-linux-androideabi-gcc
    export LD=arm-linux-androideabi-ld
    export AR=arm-linux-androideabi-ar

    CFLAGS="-O3 -Wall -mthumb -pipe -fpic -fasm \
     -finline-limit=300 -ffast-math \
     -fstrict-aliasing -Werror=strict-aliasing \
     -fmodulo-sched -fmodulo-sched-allow-regmoves \
     -Wno-psabi -Wa,--noexecstack \
     -D__ARM_ARCH_5__ -D__ARM_ARCH_5E__ \
     -D__ARM_ARCH_5T__ -D__ARM_ARCH_5TE__ \
     -DANDROID -DNDEBUG"

    EXTRA_CFLAGS="-march=armv7-a -mfpu=neon -mfloat-abi=softfp -mvectorize-with-neon-quad"
    EXTRA_LDFLAGS="-Wl,--fix-cortex-a8"

    FFMPEG_FLAGS="--prefix=/tmp/ffmpeg/build \
     --target-os=linux \
     --arch=arm \
     --enable-cross-compile \
     --cross-prefix=arm-linux-androideabi- \
     --enable-shared \
     --disable-symver \
     --disable-doc \
     --disable-ffplay \
     --disable-ffmpeg \
     --disable-ffprobe \
     --disable-ffserver \
     --disable-avdevice \
     --disable-avfilter \
     --disable-encoders  \
     --disable-muxers \
     --disable-filters \
     --disable-devices \
     --disable-everything \
     --enable-protocols  \
     --enable-parsers \
     --enable-demuxers \
     --disable-demuxer=sbg \
     --enable-decoders \
     --enable-bsfs \
     --disable-network \
     --enable-swscale  \
     --enable-asm \
     --enable-libopus \
     --enable-libtheora \
     --enable-libvorbis \
     --enable-nonfree \
     --enable-version3"

    cd ffmpeg
    ./configure $FFMPEG_FLAGS --extra-cflags="$CFLAGS $EXTRA_CFLAGS" --extra-ldflags="$EXTRA_LDFLAGS"

    the error :

    ERROR: opus not found

    If you think configure made a mistake, make sure you are using the latest version from Git. If the latest version fails, report the problem to the ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net. Include the log file "config.log" produced by configure as this will help solving the problem.

    if want i can post the config.log content, but it is big.

    on folder ffmpeg I have a git clone from source.ffmpeg.org on branch release/1.2