Recherche avancée

Médias (1)

Mot : - Tags -/ogv

Autres articles (100)

  • 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

  • Création définitive du canal

    12 mars 2010, par

    Lorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
    A la validation, vous recevez un email vous invitant donc à créer votre canal.
    Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
    A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (9123)

  • avcodec_find_decoder for FFMpeg 2.1 is not working with Android

    18 mars 2014, par Fabien Henon

    I ported FFMpeg 2.1 to Android with NDK and I wrote a JNI function to initialize a video.

    Here is the code of this C function :

    JNIEXPORT int JNICALL Java_com_media_ffmpeg_FFMpeg_naInit(JNIEnv *pEnv, jobject pObj, jstring pfilename) {
       gVideoFileName = (char *) (*pEnv)->GetStringUTFChars(pEnv, pfilename, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "Init %s\n", gVideoFileName);

       avcodec_register_all();
       __android_log_print(ANDROID_LOG_INFO, TAG, "avcodec_register_all\n");

       av_register_all();
       __android_log_print(ANDROID_LOG_INFO, TAG, "av_register_all\n");

       VideoState *vs;
       __android_log_print(ANDROID_LOG_INFO, TAG, "VideoState var\n");

       vs = malloc(sizeof (VideoState));
       memset(vs, 0, sizeof(VideoState));
       __android_log_print(ANDROID_LOG_INFO, TAG, "malloc\n");

       gvs = vs;
       __android_log_print(ANDROID_LOG_INFO, TAG, "VideoState\n");

       //open the video file
       avformat_open_input(&vs->pFormatCtx, gVideoFileName, NULL, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "open_input\n");

       //retrieve stream info
       avformat_find_stream_info(vs->pFormatCtx, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "find_stream_info\n");

       //find the video stream
       AVCodecContext *pcodecctx;
       //find the first video stream
       vs->videoStreamIdx = -1;
       __android_log_print(ANDROID_LOG_INFO, TAG, "before loop\n");

       AVCodec *pcodec;

       vs->videoStreamIdx =  av_find_best_stream(vs->pFormatCtx, AVMEDIA_TYPE_VIDEO, -1, -1, &pcodec, 0);
       __android_log_print(ANDROID_LOG_INFO, TAG, "after loop. %d\n", vs->videoStreamIdx);

       //get the decoder from the video stream
       pcodecctx = vs->pFormatCtx->streams[vs->videoStreamIdx]->codec;
       __android_log_print(ANDROID_LOG_INFO, TAG, "stream selected %d, %d\n", pcodecctx != NULL ? 1 : 0, pcodecctx->codec_id);

       pcodec = avcodec_find_decoder(pcodecctx->codec_id);
       __android_log_print(ANDROID_LOG_INFO, TAG, "find_decoder\n");

       //open the codec
       avcodec_open2(pcodecctx, pcodec, NULL);
       __android_log_print(ANDROID_LOG_INFO, TAG, "open2\n");

       return 0;
    }

    When I execute this function from my Java code the log find_decoder (after the call to the function avcodec_find_decoder) is never displayed.

    Everything is correct : pointers have correct values and pcodecctx->codec_id has a value equal to 28.
    But when avcodec_find_decoder there is nothing more, like a crash and I have no more log.

    Did I do something wrong when using and initializing FFMpeg ?

    PS : before that instead of a call to malloc, then memset I had a call to av_mallocz but I also had a crash at this point, and replacing this call by malloc and memset fixed the crash.

    EDIT

    I built FFMpeg using this script :

    #!/bin/bash
    NDK=/Users/me/android-ndk
    SYSROOT=$NDK/platforms/android-8/arch-arm/
    TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64
    function build_one
    {
    ./configure \
    --prefix=$PREFIX \
    --disable-shared \
    --enable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --target-os=linux \
    --arch=arm \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
    make clean
    make
    make install
    }
    CPU=arm
    PREFIX=$(pwd)/android/$CPU
    ADDI_CFLAGS="-marm"
    build_one

    EDIT 2

    Here is the output for the configuration of the build of the library

    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1
    install prefix            /Users/fabienhenon/android-ndk/sources/ffmpeg/android/arm
    source path               .
    C compiler                /Users/fabienhenon/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc
    C library                 bionic
    host C compiler           gcc
    host C library            
    ARCH                      arm (armv5te)
    big-endian                no
    runtime cpu detection     yes
    ARMv5TE enabled           yes
    ARMv6 enabled             yes
    ARMv6T2 enabled           yes
    VFP enabled               yes
    NEON enabled              yes
    THUMB enabled             no
    debug symbols             yes
    strip symbols             yes
    optimize for size         no
    optimizations             yes
    static                    yes
    shared                    no
    postprocessing support    no
    new filter support        yes
    network support           yes
    threading support         pthreads
    safe bitstream reader     yes
    SDL support               no
    opencl enabled            no
    libzvbi enabled           no
    texi2html enabled         no
    perl enabled              yes
    pod2man enabled           yes
    makeinfo enabled          yes

    External libraries:
    zlib

    Enabled decoders:
    aac         bmp         iac
    aac_latm        bmv_audio       idcin
    aasc            bmv_video       idf
    ac3         brender_pix     iff_byterun1
    adpcm_4xm       c93         iff_ilbm
    adpcm_adx       cavs            imc
    adpcm_afc       cdgraphics      indeo2
    adpcm_ct        cdxl            indeo3
    adpcm_dtk       cinepak         indeo4
    adpcm_ea        cljr            indeo5
    adpcm_ea_maxis_xa   cllc            interplay_dpcm
    adpcm_ea_r1     comfortnoise        interplay_video
    adpcm_ea_r2     cook            jacosub
    adpcm_ea_r3     cpia            jpeg2000
    adpcm_ea_xas        cscd            jpegls
    adpcm_g722      cyuv            jv
    adpcm_g726      dca         kgv1
    adpcm_g726le        dfa         kmvc
    adpcm_ima_amv       dirac           lagarith
    adpcm_ima_apc       dnxhd           loco
    adpcm_ima_dk3       dpx         mace3
    adpcm_ima_dk4       dsicinaudio     mace6
    adpcm_ima_ea_eacs   dsicinvideo     mdec
    adpcm_ima_ea_sead   dvbsub          metasound
    adpcm_ima_iss       dvdsub          microdvd
    adpcm_ima_oki       dvvideo         mimic
    adpcm_ima_qt        dxa         mjpeg
    adpcm_ima_rad       dxtory          mjpegb
    adpcm_ima_smjpeg    eac3            mlp
    adpcm_ima_wav       eacmv           mmvideo
    adpcm_ima_ws        eamad           motionpixels
    adpcm_ms        eatgq           movtext
    adpcm_sbpro_2       eatgv           mp1
    adpcm_sbpro_3       eatqi           mp1float
    adpcm_sbpro_4       eightbps        mp2
    adpcm_swf       eightsvx_exp        mp2float
    adpcm_thp       eightsvx_fib        mp3
    adpcm_xa        escape124       mp3adu
    adpcm_yamaha        escape130       mp3adufloat
    aic         evrc            mp3float
    alac            exr         mp3on4
    als         ffv1            mp3on4float
    amrnb           ffvhuff         mpc7
    amrwb           ffwavesynth     mpc8
    amv         flac            mpeg1video
    anm         flashsv         mpeg2video
    ansi            flashsv2        mpeg4
    ape         flic            mpegvideo
    ass         flv         mpl2
    asv1            fourxm          msa1
    asv2            fraps           msmpeg4v1
    atrac1          frwu            msmpeg4v2
    atrac3          g2m         msmpeg4v3
    aura            g723_1          msrle
    aura2           g729            mss1
    avrn            gif         mss2
    avrp            gsm         msvideo1
    avs         gsm_ms          mszh
    avui            h261            mts2
    ayuv            h263            mvc1
    bethsoftvid     h263i           mvc2
    bfi         h263p           mxpeg
    bink            h264            nellymoser
    binkaudio_dct       hevc            nuv
    binkaudio_rdft      hnm4_video      paf_audio
    bintext         huffyuv         paf_video
    pam         realtext        v308
    pbm         rl2         v408
    pcm_alaw        roq         v410
    pcm_bluray      roq_dpcm        vb
    pcm_dvd         rpza            vble
    pcm_f32be       rv10            vc1
    pcm_f32le       rv20            vc1image
    pcm_f64be       rv30            vcr1
    pcm_f64le       rv40            vima
    pcm_lxf         s302m           vmdaudio
    pcm_mulaw       sami            vmdvideo
    pcm_s16be       sanm            vmnc
    pcm_s16be_planar    sgi         vorbis
    pcm_s16le       sgirle          vp3
    pcm_s16le_planar    shorten         vp5
    pcm_s24be       sipr            vp6
    pcm_s24daud     smackaud        vp6a
    pcm_s24le       smacker         vp6f
    pcm_s24le_planar    smc         vp8
    pcm_s32be       smvjpeg         vp9
    pcm_s32le       snow            vplayer
    pcm_s32le_planar    sol_dpcm        vqa
    pcm_s8          sonic           wavpack
    pcm_s8_planar       sp5x            webp
    pcm_u16be       srt         webvtt
    pcm_u16le       ssa         wmalossless
    pcm_u24be       subrip          wmapro
    pcm_u24le       subviewer       wmav1
    pcm_u32be       subviewer1      wmav2
    pcm_u32le       sunrast         wmavoice
    pcm_u8          svq1            wmv1
    pcm_zork        svq3            wmv2
    pcx         tak         wmv3
    pgm         targa           wmv3image
    pgmyuv          targa_y216      wnv1
    pgssub          text            ws_snd1
    pictor          theora          xan_dpcm
    pjs         thp         xan_wc3
    png         tiertexseqvideo     xan_wc4
    ppm         tiff            xbin
    prores          tmv         xbm
    prores_lgpl     truehd          xface
    ptx         truemotion1     xl
    qcelp           truemotion2     xsub
    qdm2            truespeech      xwd
    qdraw           tscc            y41p
    qpeg            tscc2           yop
    qtrle           tta         yuv4
    r10k            twinvq          zero12v
    r210            txd         zerocodec
    ra_144          ulti            zlib
    ra_288          utvideo         zmbv
    ralf            v210
    rawvideo        v210x

    Enabled encoders:
    a64multi        ljpeg           prores
    a64multi5       mjpeg           prores_aw
    aac         movtext         prores_ks
    ac3         mp2         qtrle
    ac3_fixed       mp2fixed        r10k
    adpcm_adx       mpeg1video      r210
    adpcm_g722      mpeg2video      ra_144
    adpcm_g726      mpeg4           rawvideo
    adpcm_ima_qt        msmpeg4v2       roq
    adpcm_ima_wav       msmpeg4v3       roq_dpcm
    adpcm_ms        msvideo1        rv10
    adpcm_swf       nellymoser      rv20
    adpcm_yamaha        pam         s302m
    alac            pbm         sgi
    amv         pcm_alaw        snow
    ass         pcm_f32be       sonic
    asv1            pcm_f32le       sonic_ls
    asv2            pcm_f64be       srt
    avrp            pcm_f64le       ssa
    avui            pcm_mulaw       subrip
    ayuv            pcm_s16be       sunrast
    bmp         pcm_s16be_planar    svq1
    cljr            pcm_s16le       targa
    comfortnoise        pcm_s16le_planar    tiff
    dca         pcm_s24be       tta
    dnxhd           pcm_s24daud     utvideo
    dpx         pcm_s24le       v210
    dvbsub          pcm_s24le_planar    v308
    dvdsub          pcm_s32be       v408
    dvvideo         pcm_s32le       v410
    eac3            pcm_s32le_planar    vorbis
    ffv1            pcm_s8          wavpack
    ffvhuff         pcm_s8_planar       wmav1
    flac            pcm_u16be       wmav2
    flashsv         pcm_u16le       wmv1
    flashsv2        pcm_u24be       wmv2
    flv         pcm_u24le       xbm
    g723_1          pcm_u32be       xface
    gif         pcm_u32le       xsub
    h261            pcm_u8          xwd
    h263            pcx         y41p
    h263p           pgm         yuv4
    huffyuv         pgmyuv          zlib
    jpeg2000        png         zmbv
    jpegls          ppm

    Enabled hwaccels:

    Enabled parsers:
    aac         dvd_nav         mpegvideo
    aac_latm        dvdsub          png
    ac3         flac            pnm
    adx         gsm         rv30
    bmp         h261            rv40
    cavsvideo       h263            tak
    cook            h264            vc1
    dca         hevc            vorbis
    dirac           mjpeg           vp3
    dnxhd           mlp         vp8
    dpx         mpeg4video      vp9
    dvbsub          mpegaudio

    Enabled demuxers:
    aac         hevc            pcm_s32le
    ac3         hls         pcm_s8
    act         hnm         pcm_u16be
    adf         ico         pcm_u16le
    adp         idcin           pcm_u24be
    adx         idf         pcm_u24le
    aea         iff         pcm_u32be
    afc         ilbc            pcm_u32le
    aiff            image2          pcm_u8
    amr         image2pipe      pjs
    anm         ingenient       pmp
    apc         ipmovie         pva
    ape         ircam           pvf
    aqtitle         iss         qcp
    asf         iv8         r3d
    ass         ivf         rawvideo
    ast         jacosub         realtext
    au          jv          redspark
    avi         latm            rl2
    avr         lmlm4           rm
    avs         loas            roq
    bethsoftvid     lvf         rpl
    bfi         lxf         rsd
    bink            m4v         rso
    bintext         matroska        rtp
    bit         mgsts           rtsp
    bmv         microdvd        sami
    boa         mjpeg           sap
    brstm           mlp         sbg
    c93         mm          sdp
    caf         mmf         segafilm
    cavsvideo       mov         shorten
    cdg         mp3         siff
    cdxl            mpc         smacker
    concat          mpc8            smjpeg
    data            mpegps          smush
    daud            mpegts          sol
    dfa         mpegtsraw       sox
    dirac           mpegvideo       spdif
    dnxhd           mpl2            srt
    dsicin          mpsub           str
    dts         msnwc_tcp       subviewer
    dtshd           mtv         subviewer1
    dv          mv          swf
    dxa         mvi         tak
    ea          mxf         tedcaptions
    ea_cdata        mxg         thp
    eac3            nc          tiertexseq
    epaf            nistsphere      tmv
    ffm         nsv         truehd
    ffmetadata      nut         tta
    filmstrip       nuv         tty
    flac            ogg         txd
    flic            oma         vc1
    flv         paf         vc1t
    fourxm          pcm_alaw        vivo
    frm         pcm_f32be       vmd
    g722            pcm_f32le       vobsub
    g723_1          pcm_f64be       voc
    g729            pcm_f64le       vplayer
    gif         pcm_mulaw       vqf
    gsm         pcm_s16be       w64
    gxf         pcm_s16le       wav
    h261            pcm_s24be       wc3
    h263            pcm_s24le       webvtt
    h264            pcm_s32be       wsaud
    wsvqa           xa          xwma
    wtv         xbin            yop
    wv          xmv         yuv4mpegpipe

    Enabled muxers:
    a64         image2pipe      pcm_s24be
    ac3         ipod            pcm_s24le
    adts            ircam           pcm_s32be
    adx         ismv            pcm_s32le
    aiff            ivf         pcm_s8
    amr         jacosub         pcm_u16be
    asf         latm            pcm_u16le
    asf_stream      m4v         pcm_u24be
    ass         matroska        pcm_u24le
    ast         matroska_audio      pcm_u32be
    au          md5         pcm_u32le
    avi         microdvd        pcm_u8
    avm2            mjpeg           psp
    bit         mkvtimestamp_v2     rawvideo
    caf         mlp         rm
    cavsvideo       mmf         roq
    crc         mov         rso
    data            mp2         rtp
    daud            mp3         rtsp
    dirac           mp4         sap
    dnxhd           mpeg1system     segment
    dts         mpeg1vcd        smjpeg
    dv          mpeg1video      smoothstreaming
    eac3            mpeg2dvd        sox
    f4v         mpeg2svcd       spdif
    ffm         mpeg2video      speex
    ffmetadata      mpeg2vob        srt
    filmstrip       mpegts          stream_segment
    flac            mpjpeg          swf
    flv         mxf         tee
    framecrc        mxf_d10         tg2
    framemd5        null            tgp
    g722            nut         truehd
    g723_1          ogg         vc1
    gif         oma         vc1t
    gxf         opus            voc
    h261            pcm_alaw        w64
    h263            pcm_f32be       wav
    h264            pcm_f32le       webm
    hds         pcm_f64be       webvtt
    hls         pcm_f64le       wtv
    ico         pcm_mulaw       wv
    ilbc            pcm_s16be       yuv4mpegpipe
    image2          pcm_s16le

    Enabled protocols:
    cache           hls         rtmpt
    concat          http            rtp
    crypto          httpproxy       srtp
    data            md5         tcp
    ffrtmphttp      mmsh            udp
    file            mmst            unix
    ftp         pipe
    gopher          rtmp

    Enabled filters:
    aconvert        colorchannelmixer   null
    adelay          compand         nullsink
    aecho           concat          nullsrc
    aeval           copy            overlay
    aevalsrc        crop            pad
    afade           curves          pan
    aformat         dctdnoiz        perms
    ainterleave     decimate        pixdesctest
    allpass         deshake         psnr
    alphaextract        drawbox         removelogo
    alphamerge      drawgrid        replaygain
    amerge          earwax          rgbtestsrc
    amix            edgedetect      rotate
    amovie          elbg            scale
    anull           equalizer       select
    anullsink       extractplanes       sendcmd
    anullsrc        fade            separatefields
    apad            field           setdar
    aperms          fieldmatch      setfield
    aphaser         fieldorder      setpts
    aresample       format          setsar
    aselect         fps         settb
    asendcmd        framestep       showinfo
    asetnsamples        gradfun         showspectrum
    asetpts         haldclut        showwaves
    asetrate        haldclutsrc     silencedetect
    asettb          hflip           sine
    ashowinfo       highpass        smptebars
    asplit          histogram       smptehdbars
    astats          hue         split
    astreamsync     idet            swapuv
    atempo          il          telecine
    atrim           interleave      testsrc
    avectorscope        join            thumbnail
    bandpass        life            tile
    bandreject      lowpass         transpose
    bass            lut         treble
    bbox            lut3d           trim
    biquad          lutrgb          unsharp
    blackdetect     lutyuv          vflip
    blend           mandelbrot      vignette
    cellauto        mergeplanes     volume
    channelmap      movie           volumedetect
    channelsplit        negate          w3fdif
    color           noformat
    colorbalance        noise

    Enabled bsfs:
    aac_adtstoasc       imx_dump_header     mp3_header_decompress
    chomp           mjpeg2jpeg      noise
    dump_extradata      mjpega_dump_header  remove_extradata
    h264_mp4toannexb    mov2textsub     text2movsub

    Enabled indevs:
    dv1394          lavfi
    fbdev           v4l2

    Enabled outdevs:
    fbdev           v4l2

    License: LGPL version 2.1 or later
  • Making Your First-Party Data Work for You and Your Customers

    11 mars, par Alex Carmona

    At last count, 162 countries had enacted data privacy policies of one kind or another. These laws or regulations, without exception, intend to eliminate the use of third-party data. That puts marketing under pressure because third-party data has been the foundation of online marketing efforts since the dawn of the Internet.

    Marketers need to future-proof their operations by switching to first-party data. This will require considerable adjustment to systems and processes, but the reward will be effective marketing campaigns that satisfy privacy compliance requirements and bring the business closer to its customers.

    To do that, you’ll need a coherent first-party data strategy. That’s what this article is all about. We’ll explain the different types of personal data and discuss how to use them in marketing without compromising or breaching data privacy regulations. We’ll also discuss how to build that strategy in your business. 

    So, let’s dive in.

    The different data types

    There are four distinct types of personal data used in marketing, each subject to different data privacy regulations.

    Before getting into the different types, it’s essential to understand that all four may comprise one or more of the following :

    Identifying dataName, email address, phone number, etc.
    Behavioural dataWebsite activity, app usage, wishlist content, purchase history, etc.
    Transactional dataOrders, payments, subscription details, etc.
    Account dataCommunication preferences, product interests, wish lists, etc.
    Demographic dataAge, gender, income level, education, etc.
    Geographic DataLocation-based information, such as zip codes or regional preferences.
    Psychographic DataInterests, hobbies and lifestyle preferences.

    First-party data

    When businesses communicate directly with customers, any data they exchange is first-party. It doesn’t matter how the interaction occurs : on the telephone, a website, a chat session, or even in person.

    Of course, the parties involved aren’t necessarily individuals. They may be companies, but people within those businesses will probably share at least some of the data with colleagues. That’s fine, so long as the data : 

    • Remains confidential between the original two parties involved, and 
    • It is handled and stored following applicable data privacy regulations.

    The core characteristic of first-party data is that it’s collected directly from customer interactions. This makes it reliable, accurate and inherently compliant with privacy regulations — assuming the collecting party complies with data privacy laws.

    A great example of first-party data use is in banking. Data collected from customer interactions is used to provide personalised services, detect fraud, assess credit risk and improve customer retention.

    Zero-party data

    There’s also a subset of first-party data, sometimes called zero-party data. It’s what users intentionally and proactively share with a business. It can be preferences, intentions, personal information, survey responses, support tickets, etc.

    What makes it different is that the collection of this data depends heavily on the user’s trust. Transparency is a critical factor, too ; visitors expect to be informed about how you’ll use their data. Consumers also have the right to withdraw permission to use all or some of their information at any time.

    Diagram showing how a first-party data strategy is built on trust and transparency

    Second-party data

    This data is acquired from a separate organisation that collects it firsthand. Second-party data is someone else’s first-party data that’s later shared with or sold to other businesses. The key here is that whoever owns that data must give explicit consent and be informed of who businesses share their data with.

    A good example is the cooperation between hotel chains, car rental companies, and airlines. They share joint customers’ flight data, hotel reservations, and car rental bookings, much like travel agents did before the internet undermined that business model.

    Third-party data

    This type of data is the arch-enemy of lawmakers and regulators trying to protect the personal data of citizens and residents in their country. It’s information collected by entities that have no direct relationship with the individuals whose data it is.

    Third-party data is usually gathered, aggregated, and sold by data brokers or companies, often by using third-party cookies on popular websites. It’s an entire business model — these third-party brokers sell data for marketing, analytics, or research purposes. 

    Most of the time, third-party data subjects are unaware that their data has been gathered and sold. Hence the need for strong data privacy regulations.

    Benefits of a first-party data strategy

    First-party data is reliable, accurate, and ethically sourced. It’s an essential part of any modern digital marketing strategy.

    More personalised experiences

    The most important application of first-party data is customising and personalising customers’ interactions based on real behaviours and preferences. Personalised experiences aren’t restricted to websites and can extend to all customer communication.

    The result is company communications and marketing messages are far more relevant to customers. It allows businesses to engage more meaningfully with them, building trust and strengthening customer relationships. Inevitably, this also results in stronger customer loyalty and better customer retention.

    Greater understanding of customers

    Because first-party data is more accurate and reliable, it can be used to derive valuable insights into customer needs and wants. When all the disparate first-party data points are centralised and organised, it’s possible to uncover trends and patterns in customer behaviour that might not be apparent using other data.

    This helps businesses predict and respond to customer needs. It also allows marketing teams to be more deliberate when segmenting customers and prospects into like-minded groups. The data can also be used to create more precise personas for future campaigns or reveal how likely a customer would be to purchase in response to a campaign.

    Build trust with customers

    First-party data is unique to a business and originates from interactions with customers. It’s also data collected with consent and is “owned” by the company — if you can ever own someone else’s data. If treated like the precious resource, it can help businesses build trust with customers.

    However, developing that trust requires a transparent, step-by-step approach. This gradually strengthens relationships to the point where customers are more comfortable sharing the information they’re asked for.

    However, while building trust is a long and sometimes arduous process, it can be lost in an instant. That’s why first-party data must be protected like the Crown Jewels.

    Image showing the five key elements of a first-party data strategy

    Components of a first-party data strategy

    Security is essential to any first-party data strategy, and for good reason. As Gartner puts it, a business must find the optimal balance between business outcomes and data risk mitigation. Once security is baked in, attention can turn to the different aspects of the strategy.

    Data collection

    There are many ways to collect first-party data ethically, within the law and while complying with data privacy regulations, such as Europe’s General Data Protection Regulation (GDPR). Potential sources include :

    Website activityforms and surveys, behavioural tracking, cookies, tracking pixels and chatbots
    Mobile app interactionsin-app analytics, push notifications and in-app forms
    Email marketingnewsletter sign-ups, email engagement tracking, promotions, polls and surveys 
    Eventsregistrations, post-event surveys and virtual event analytics
    Social media interactionpolls and surveys, direct messages and social media analytics
    Previous transactionspurchase history, loyalty programmes and e-receipts 
    Customer service call centre data, live chat, chatbots and feedback forms
    In-person interactions in-store purchases, customer feedback and Wi-Fi sign-ins
    Gated contentwhitepapers, ebooks, podcasts, webinars and video downloads
    Interactive contentquizzes, assessments, calculators and free tools
    CRM platformscustomer profiles and sales data
    Consent managementprivacy policies, consent forms, preference setting

    Consent management

    It may be the final item on the list above, but it’s also a key requirement of many data privacy laws and regulations. For example, the GDPR is very clear about consent : “Processing personal data is generally prohibited, unless it is expressly allowed by law, or the data subject has consented to the processing.”

    For that reason, your first-party data strategy must incorporate various transparent consent mechanisms, such as cookie banners and opt-in forms. Crucially, you must provide customers with a mechanism to manage their preferences and revoke that consent easily if they wish to.

    Data management

    Effective first-party data management, mainly its security and storage, is critical. Most data privacy regimes restrict the transfer of personal data to other jurisdictions and even prohibit it in some instances. Many even specify where residents’ data must be stored.

    Consider this cautionary tale : The single biggest fine levied for data privacy infringement so far was €1.2 billion. The Irish Data Protection Commission imposed a massive fine on Meta for transferring EU users’ data to the US without adequate data protection mechanisms.

    Data security is critical. If first-party data is compromised, it becomes third-party data, and any customer trust developed with the business will evaporate. To add insult to injury, data regulators could come knocking. That’s why the trend is to use encryption and anonymisation techniques alongside standard access controls.

    Once security is assured, the focus is on data management. Many businesses use a Customer Data Platform. This software gathers, combines and manages data from many sources to create a complete and central customer profile. Modern CRM systems can also do that job. AI tools could help find patterns and study them. But the most important thing is to keep databases clean and well-organised to make it easier to use and avoid data silos.

    Data activation

    Once first-party data has been collected and analysed, it needs to be activated, which means a business needs to use it for the intended purpose. This is the implementation phase where a well-constructed first-party strategy pays off. 

    The activation stage is where businesses use the intelligence they gather to :

    • Personalise website and app experiences
    • Adapt marketing campaigns
    • Improve conversion rates
    • Match stated preferences
    • Cater to observed behaviours
    • Customise recommendations based on purchase history
    • Create segmented email campaigns
    • Improve retargeting efforts
    • Develop more impactful content

    Measurement and optimisation

    Because first-party data is collected directly from customers or prospects, it’s far more relevant, reliable, and specific. Your analytics and campaign tracking will be more accurate. This gives you direct and actionable insights into your audience’s behaviour, empowering you to optimise your strategies and achieve better results.

    The same goes for your collection and activation efforts. An advanced web analytics platform like Matomo lets you identify key user behaviour and optimise your tracking. Heatmaps, marketing attribution tools, user behaviour analytics and custom reports allow you to segment audiences for better traction (and collect even more first-party data).

    Image showing the five steps to developing a first-party data strategy

    How to build a first-party data strategy

    There are five important and sequential steps to building a first-party data strategy. But this isn’t a one-time process. It must be revisited regularly as operating and regulatory environments change. There are five steps : 

    1. Audit existing data

    Chances are that customers already freely provide a lot of first-party data in the normal course of business. The first step is to locate this data, and the easiest way to do that is by mapping the customer journey. This identifies all the touchpoints where first-party data might be found.

    1. Define objectives

    Then, it’s time to step back and figure out the goals of the first-party data strategy. Consider what you’re trying to achieve. For example :

    • Reduce churn 
    • Expand an existing loyalty programme
    • Unload excess inventory
    • Improve customer experiences

    Whatever the objectives are, they should be clear and measurable.

    1. Implement tools and technology

    The first two steps point to data gaps. Now, the focus turns to ethical web analytics with a tool like Matomo. 

    To further comply with data privacy regulations, it may also be appropriate to implement a Consent Management Platform (CMP) to help manage preferences and consent choices.

    1. Build trust with transparency

    With the tools in place, it’s time to engage customers. To build trust, keep them informed about how their data is used and remind them of their right to withdraw their consent. 

    Transparency is crucial in such engagement, as outlined in the 7 GDPR principles.

    1. Continuously improve

    Rinse and repeat. The one constant in business and life is change. As things change, they expose weaknesses or flaws in the logic behind systems and processes. That’s why a first-party data strategy needs to be continually reviewed, updated, and revised. It must adapt to changing trends, markets, regulations, etc. 

    Tools that can help

    Looking back at the different types of data, it’s clear that some are harder and more bothersome to get than others. But capturing behaviours and interactions can be easy — especially if you use tools that follow data privacy rules.

    But here’s a tip. Google Analytics 4 isn’t compliant by default, especially not with Europe’s GDPR. It may also struggle to comply with some of the newer data privacy regulations planned by different US states and other countries.

    Matomo Analytics is compliant with the GDPR and many other data privacy regulations worldwide. Because it’s open source, it can be integrated with any consent manager.

    Get started today by trying Matomo for free for 21 days,
    no credit card required.

  • Six Best Amplitude Alternatives

    10 décembre 2024, par Daniel Crough

    Product analytics is big business. Gone are the days when we could only guess what customers were doing with our products or services. Now, we can track, visualise, and analyse how they interact with them and, with that, constantly improve and optimise. 

    The problem is that many product analytics tools are expensive and complicated — especially for smaller businesses. They’re also packed with functionality more attuned to the needs of massive companies. 

    Amplitude is such a tool. It’s brilliant and it has all the bells and whistles that you’ll probably never need. Fortunately, there are alternatives. In this guide, we’ll explore the best of those alternatives and, along the way, provide the insight you’ll need to select the best analytics tool for your organisation. 

    Amplitude : a brief overview

    To set the stage, it makes sense to understand exactly what Amplitude offers. It’s a real-time data analytics tool for tracking user actions and gaining insight into engagement, retention, and revenue drivers. It helps you analyse that data and find answers to questions about what happened, why it happened, and what to do next.

    However, as good as Amplitude is, it has some significant disadvantages. While it does offer data export functionality, that seems deliberately restricted. It allows data exports for specific events, but it’s not possible to export complete data sets to manipulate or format in another tool. Even pulling it into a CSV file has a 10,000-row limit. There is an API, but not many third-party integration options.

    Getting data in can also be a problem. Amplitude requires manual tags on events that must be tracked for analysis, which can leave holes in the data if every possible subsequent action isn’t tagged. That’s a time-consuming exercise, and it’s made worse because those tags will have to be updated every time the website or app is updated. 

    As good as it is, it can also be overwhelming because it’s stacked with features that can create confusion for novice or inexperienced analysts. It’s also expensive. There is a freemium plan that limits functionality and events. Still, when an organisation wants to upgrade for additional functionality or to analyse more events, the step up to the paid plan is massive.

    Lastly, Amplitude has made some strides towards being a web analytics option, but it lacks some basic functionality that may frustrate people who are trying to see the full picture from web to app.

    Snapshot of Amplitude alternatives

    So, in place of Amplitude, what product analytics tools are available that won’t break the bank and still provide the functionality needed to improve your product ? The good news is that there are literally hundreds of alternatives, and we’ve picked out six of the best.

    1. Matomo – Best privacy-focused web and mobile analytics
    2. Mixpanel – Best for product analytics
    3. Google Analytics – Best free option
    4. Adobe Analytics – Best for predictive analytics
    5. Umami – Best lightweight tool for product analytics
    6. Heap – Best for automatic user data capture

    A more detailed analysis of the Amplitude alternatives

    Now, let’s dive deeper into each of the six Amplitude alternatives. We’ll cover standout features, integrations, pricing, use cases and community critiques. By the end, you’ll know which analytics tool can help optimise website and app performance to grow your business.

    1. Matomo – Best privacy-friendly web and app analytics

    Privacy is a big concern these days, especially for organisations with a presence in the European Union (EU). Unlike other analytics tools, Matomo ensures you comply with privacy laws and regulations, like the General Data Protection Regulation (GDPR) and California’s Consumer Privacy Act (CCPA).

    Matomo helps businesses get the insights they need without compromising user privacy. It’s also one of the few self-hosted tools, ensuring data never has to leave your site.

    Matomo is open-source, which is also rare in this class of tools. That means it’s available for anyone to adapt and customise as they wish. Everything you need to build custom APIs is there.

    Image showing the origin of website traffic.
    The Locations page in Matomo shows the countries, continents, regions, and cities where website traffic originates.

    Its most useful capabilities include visitor logs and session recordings to trace the entire customer journey, spot drop-off points, and fine-tune sales funnels. The platform also comes with heatmaps and A/B testing tools. Heatmaps provide a useful visual representation of your data, while A/B testing allows for more informed, data-driven decisions.

    Despite its range of features, many reviewers laud Matomo’s user interface for its simplicity and user-friendliness. 

    Why Matomo : Matomo is an excellent alternative because it fills in the gaps where Amplitude comes up short, like with cookieless tracking. Also, while Amplitude focuses mainly on behavioural analytics, Matomo offers both behavioural and traditional analytics, which allows more profound insight into your data. Furthermore, Matomo fully complies with the strictest privacy regulations worldwide, including GDPR, LGPD, and HIPAA.

    Standout features include multi-touch attribution, visits log, content engagement, ecommerce, customer segments, event tracking, goal tracking, custom dimensions, custom reports, automated email reports, tag manager, sessions recordings, roll-up reporting that can pull data from multiple websites or mobile apps, Google Analytics importer, Matomo tag manager, comprehensive visitor tracking, heatmaps, and more.

    Integrations with 100+ technologies, including Cloudflare, WordPress, Magento, Google Ads, Drupal, WooCommerce, Vue, SharePoint and Wix.

    Pricing is free for Matomo On-Premise and $23 per month for Matomo Cloud, which comes with a 21-day free trial (no credit card required).

    Strengths

    • Privacy focused
    • Cookieless consent banners
    • 100% accurate, unsampled data
    • Open-source code 
    • Complete data ownership (no sharing with third parties)
    • Self-hosting and cloud-based options
    • Built-in GDPR Manager
    • Custom alerts, white labelling, dashboards and reports

    Community critiques 

    • Premium features are expensive and proprietary
    • Learning curve for non-technical users

    2. Mixpanel – Best for product analytics

    Mixpanel is a dedicated product analytics tool. It tracks and analyses customer interactions with a product across different platforms and helps optimise digital products to improve the user experience. It works with real-time data and can provide answers from customer and revenue data in seconds.

    It also presents data visualisations to show how customers interact with products.

    Screenshot reflecting useful customer trends

    Mixpanel allows you to play around filters and views to reveal and chart some useful customer trends. (Image source)

    Why Mixpanel : One of the strengths of this platform is the ability to test hypotheses. Need to test an ambitious idea ? Mixpanel data can do it with real user analytics. That allows you to make data-driven decisions to find the best path forward.

    Standout features include automatic funnel segment analysis, behavioural segmentation, cohort segmentation, collaboration support, customisable dashboards, data pipelines, filtered data views, SQL queries, warehouse connectors and a wide range of pre-built integrations.

    Integrations available include Appcues, AppsFlyer, AWS, Databox, Figma, Google Cloud, Hotjar, HubSpot, Intercom, Integromat, MailChimp, Microsoft Azure, Segment, Slack, Statsig, VWO, Userpilot, WebEngage, Zapier, ZOH) and dozens of others.

    Pricing starts with a freemium plan valid for up to 20 million events per month. The growth plan is affordable at $25 per month and adds features like no-code data transformations and data pipeline add-ons. The enterprise version runs at a monthly cost of $833 and provides the full suite of features and services and premium support.

    There’s a caveat. Those prices only allow up to 1,000 Monthly Tracked Users (MTUs), calculated based on the number of visitors that perform a qualifying event each month. Beyond that, MTU plans start at $20,000 per year.

    Strengths

    • User behaviour and interaction tracking
    • Unlimited cohort segmentation capabilities
    • Drop-off analysis showing where users get stuck
    • A/B testing capabilities

    Community critiques 

    • Expensive enterprise features
    • Extensive setup and configuration requirements

    3. Google Analytics 4 – Best free web analytics tool

    The first thing to know about Google Analytics 4 is that it’s a web analytics tool. In other words, it tracks sessions, not user behaviours in app environments. It can provide details on how people found your website and how they go there, but it doesn’t offer much detail on how people use your product. 

    There is also an enterprise version, Google Analytics 360, which is not free. We’ve broken down the differences between the two versions elsewhere.

    Image showing audience-related data provided by GA4

    GA4’s audience overview shows visitors, sessions, session lengths, bounce rates, and user engagement data. (Image source)

     

    Why Google Analytics : It’s great for gauging the effectiveness of marketing campaigns, tracking goal completions (purchases, cart additions, etc.) and spotting trends and patterns in user engagement.

    Standout features include built-in automation, customisable conversion goals, data drill-down functionality, detailed web acquisition metrics, media spend ROI calculations and out-of-the-box web analytics reporting.

    Integrations include all major CRM platforms, CallRail, DoubleClick DCM, Facebook, Hootsuite, Marketo, Shopify, VWO, WordPress, Zapier and Zendesk, among many others.

    Pricing is free for the basic version (Google Analytics 4) and scales based on features and data volume. The advanced features (in Google Analytics 360) are pitched at enterprises, and pricing is custom.

    Strengths

    • Free to start
    • Multiple website management
    • Traffic source details
    • Up-to-date traffic data

    Community critiques 

    • Steep learning curve 
    • Data sampling

    4. Adobe Analytics – Best for predictive analytics

    A fully configured Adobe Analytics implementation is the Swiss army knife of analytics tools. It begins with web analytics, adds product analytics, and then wraps it up nicely with predictive analytics.

    Unlike all the Amplitude alternatives here, there’s no free version. Adobe Analytics has a complicated pricing matrix with options like website analytics, marketing analytics, attribution, and predictive analytics. It also has a wide range of customisation options that will appeal to large businesses. But for smaller organisations, it may all be a bit too much.

    Mixpanel allows you to play around filters and views to reveal and chart some useful customer trends. (Image source)

    Screenshot categorising online orders by marketing channel

    Adobe Analytics’ cross-channel attribution ties actions from different channels into a single customer journey. (Image source)

     

    Why Adobe Analytics : For current Adobe customers, this is a logical next step. Either way, Adobe Analytics can combine, evaluate, and analyse data from any part of the customer journey. It analyses that data with predictive intelligence to provide insights to enhance customer experiences.

     

    Standout features include AI-powered prediction analysis, attribution analysis, multi-channel data collection, segmentation and detailed customer journey analytics, product analytics and web analytics.

     

    Integrations are available through the Adobe Experience Cloud Exchange. Adobe Analytics also supports data exchange with brands such as BrightEdge, Branch.io, Google Ads, Hootsuite, Invoca, Salesforce and over 200 other integrations.

     

    Pricing starts at $500 monthly, but prospective customers are encouraged to contact the company for a needs-based quotation.

     

    Strengths

    • Drag-and-drop interface
    • Flexible segmentation 
    • Easy-to-create conversion funnels
    • Threshold-based alerts and notifications

    Community critiques 

    • No free version
    • Lack of technical support
    • Steep learning curve

    5. Umami – Best lightweight tool for web analytics

    The second of our open-source analytics solutions is Umami, a favourite in the software development community. Like Matomo, it’s a powerful and privacy-focused alternative that offers complete data control and respects user privacy. It’s also available as a cloud-based freemium plan or as a self-hosted solution.

     

    Image showing current user traffic and hourly traffic going back 24 hours

    Umami’s dashboard reveals the busiest times of day and which pages are visited when.(Image source)

     

    Why Umami : Unami has a clear and simple user interface (UI) that lets you measure important metrics such as page visits, referrers, and user agents. It also features event tracking, although some reviewers complain that it’s quite limited.

    Standout features can be summed up in five words : privacy, simplicity, lightweight, real-time, and open-source. Unami’s UI is clean, intuitive and modern, and it doesn’t slow down your website. 

    Integrations include plugins for VuePress, Gatsby, Craft CMS, Docusaurus, WordPress and Publii, and a module for Nuxt. Unami’s API communicates with Javascript, PHP Laravel and Python.

    Pricing is free for up to 100k monthly events and three websites, but with limited support and data retention restrictions. The Pro plan costs $20 a month and gives you unlimited websites and team members, a million events (plus $0.00002 for each event over that), five years of data and email support. Their Enterprise plan is priced custom.

    Strengths

    • Freemium plan
    • Open-source
    • Lightweight 

    Community critiques 

    • Limited support options
    • Data retention restrictions
    • No funnel functionality

    6. Heap – Best for automatic data capture

    Product analytics with a twist is a good description of Heap. It features event auto-capture to track user interactions across all touchpoints in the user journey. This lets you fully understand how and why customers engage with your product and website. 

    Using a single Javascript snippet, Heap automatically collects data on everything users do, including how they got to your website. It also helps identify how different cohorts engage with your product, providing the critical insights teams need to boost conversion rates.

    Image showing funnel and path analysis data and insights

    Heap’s journeys feature combines funnel and path analysis. (Image source)

     

    Why Heap : The auto-capture functionality solves a major shortcoming of many product analytics tools — manual tracking. Instead of having to set up manual tags on events, Heap automatically captures all data on user activity from the start. 

    Standout features include event auto-capture, session replay, heatmaps, segments (or cohorts) and journeys, the last of which combines the functions of funnel and path analysis tools into a single feature.

    Integrations include AWS, Google, Microsoft Azure, major CRM platforms, Snowflake and many other data manipulation platforms.

    Pricing is quote-based across all payment tiers. There is also a free plan and a 14-day free trial.

    Strengths

    • Session replay
    • Heatmaps 
    • User segmentation
    • Simple setup 
    • Event auto-capture 

    Community critiques 

    • No A/B testing functionality
    • No GDPR compliance support

    Choosing the best solution for your team

    When selecting a tool, it’s crucial to understand how product analytics and web analytics solutions differ. 

    Product analytics tools track users or accounts and record the features they use, the funnels they move through, and the cohorts they’re part of. Web analytics tools focus more on sessions than users because they’re interested in data that can help improve website usage. 

    Some tools combine product and web analytics to do both of these jobs.

    Area of focus

    Product analytics tools track user behaviour within SaaS- or app-based products. They’re helpful for analysing features, user journeys, engagement metrics, product development and iteration. 

    Web analytics tools analyse web traffic, user demographics, and traffic sources. They’re most often used for marketing and SEO insights.

    Level of detail

    Product analytics tools provide in-depth tracking and analysis of user interactions, feature usage, and cohort analysis.

    Web analytics tools provide broader data on page views, bounce rates, and conversion tracking to analyse overall site performance.

    Whatever tools you try, your first step should be to search for reviews online to see what people who’ve used them think about them. There are some great review sites you can try. See what people are saying on Capterra, G2, Gartner Peer Insights, or TrustRadius

    Use Matomo to power your web and app analytics

    Web and product analytics is a competitive field, and there are many other tools worth considering. This list is a small cross-section of what’s available.

    That said, if you have concerns about privacy and costs, consider choosing Matomo. Start your 21-day free trial today.