Recherche avancée

Médias (0)

Mot : - Tags -/publication

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (46)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

  • 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

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (7505)

  • ffmpeg blend to exclude the top videos background

    2 février 2016, par user2995705

    I want to blend two videos, the top video named "top.mp4" was combined with some PNG files,but the combined video’s background was black ? why ?

    then i try to overlay the top.mp4 on another video (named bottom.mp4,was capture by android camera with QUALITY_480P)

    but when I use Overlay filter i find the top.mp4 was not transparent and have a black background on the result.mp4.

    I try to use blend filter to combine top.mp4 and bottom.mp4 to exclude the top.mp4’s black background , but i don’t know how to use the blend filter.

    here is my question :
    1.is it possible to combine PNG files to a video and the video has transparent background ? and then just use overlay filter,the result.mp4 will not have a black mask under the top.mp4 ?

    2.if 1 is impossible, how to blend top.mp4 and bottom.mp4 to exclude the black background of top.mp4

    my all output log

    02-02 19:34:04.300 7979-18573/com.demo D/LLLLLLLLLL: /data/data/com.demo/app_bin/ffmpeg -i /storage/sdcard0/baishiMagic/magic/waterfall/waterfall/waterfall_%04d.png -r 25 -vcodec copy -preset ultrafast -y /storage/sdcard0/baishiMagic/temp/anim1.mov
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   built on Oct  7 2014 15:05:17 with gcc 4.8 (GCC)
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libavutil      54.  7.100 / 54.  7.100
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libavcodec     56.  1.100 / 56.  1.100
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libavformat    56.  4.101 / 56.  4.101
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libavdevice    56.  0.100 / 56.  0.100
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libavfilter     5.  1.100 /  5.  1.100
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libswscale      3.  0.100 /  3.  0.100
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libswresample   1.  1.100 /  1.  1.100
    02-02 19:34:04.345 7979-18576/com.demo D/LLLLLLLLLL:   libpostproc    53.  0.100 / 53.  0.100
    02-02 19:34:04.460 7979-18576/com.demo D/LLLLLLLLLL: Input #0, image2, from '/storage/sdcard0/baishiMagic/magic/waterfall/waterfall/waterfall_%04d.png':
    02-02 19:34:04.460 7979-18576/com.demo D/LLLLLLLLLL:   Duration: 00:00:08.00, start: 0.000000, bitrate: N/A
    02-02 19:34:04.460 7979-18576/com.demo D/LLLLLLLLLL:     Stream #0:0: Video: png, rgba, 480x640 [SAR 3779:3779 DAR 3:4], 25 fps, 25 tbr, 25 tbn, 25 tbc
    02-02 19:34:04.470 7979-18576/com.demo D/LLLLLLLLLL: Output #0, mov, to '/storage/sdcard0/baishiMagic/temp/anim1.mov':
    02-02 19:34:04.470 7979-18576/com.demo D/LLLLLLLLLL:   Metadata:
    02-02 19:34:04.470 7979-18576/com.demo D/LLLLLLLLLL:     encoder         : Lavf56.4.101
    02-02 19:34:04.470 7979-18576/com.demo D/LLLLLLLLLL:     Stream #0:0: Video: png (png  / 0x20676E70), rgba, 480x640 [SAR 3779:3779 DAR 3:4], q=2-31, 25 fps, 12800 tbn, 25 tbc
    02-02 19:34:04.470 7979-18576/com.demo D/LLLLLLLLLL: Stream mapping:
    02-02 19:34:04.470 7979-18576/com.demo D/LLLLLLLLLL:   Stream #0:0 -> #0:0 (copy)
    02-02 19:34:04.470 7979-18576/com.demo D/LLLLLLLLLL: Press [q] to stop, [?] for help
    02-02 19:34:05.565 7979-18576/com.demo D/LLLLLLLLLL: frame=   46 fps=0.0 q=-1.0 size=   12339kB time=00:00:01.84 bitrate=54936.1kbits/s    
    02-02 19:34:06.070 7979-18576/com.demo D/LLLLLLLLLL: frame=   59 fps= 56 q=-1.0 size=   22617kB time=00:00:02.36 bitrate=78509.1kbits/s    
    02-02 19:34:06.580 7979-18576/com.demo D/LLLLLLLLLL: frame=   71 fps= 45 q=-1.0 size=   32451kB time=00:00:02.84 bitrate=93605.9kbits/s    
    02-02 19:34:07.095 7979-18576/com.demo D/LLLLLLLLLL: frame=   88 fps= 42 q=-1.0 size=   42163kB time=00:00:03.52 bitrate=98124.1kbits/s    
    02-02 19:34:07.610 7979-18576/com.demo D/LLLLLLLLLL: frame=  109 fps= 42 q=-1.0 size=   52919kB time=00:00:04.36 bitrate=99428.7kbits/s    
    02-02 19:34:08.095 7979-18576/com.demo D/LLLLLLLLLL: frame=  128 fps= 41 q=-1.0 size=   64222kB time=00:00:05.12 bitrate=102755.2kbits/s    
    02-02 19:34:08.270 7979-18576/com.demo D/LLLLLLLLLL: frame=  160 fps= 44 q=-1.0 size=   74397kB time=00:00:06.40 bitrate=95227.6kbits/s    
    02-02 19:34:08.270 7979-18576/com.demo D/LLLLLLLLLL: frame=  200 fps= 53 q=-1.0 Lsize=   77598kB time=00:00:08.00 bitrate=79460.4kbits/s    
    02-02 19:34:08.270 7979-18576/com.demo D/LLLLLLLLLL: video:77596kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002606%
    02-02 19:34:08.270 7979-18573/com.demo D/LLLLLLLLLL: 图片合成,exitValue=0
    02-02 19:34:08.295 7979-18573/com.demo D/LLLLLLLLLL: /data/data/com.demo/app_bin/ffmpeg -i /storage/sdcard0/baishiMagic/magic/waterfall/fish_isolate/fish_%04d.png -r 25 -vcodec copy -preset ultrafast -y /storage/sdcard0/baishiMagic/temp/anim2.mov
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   built on Oct  7 2014 15:05:17 with gcc 4.8 (GCC)
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libavutil      54.  7.100 / 54.  7.100
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libavcodec     56.  1.100 / 56.  1.100
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libavformat    56.  4.101 / 56.  4.101
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libavdevice    56.  0.100 / 56.  0.100
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libavfilter     5.  1.100 /  5.  1.100
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libswscale      3.  0.100 /  3.  0.100
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libswresample   1.  1.100 /  1.  1.100
    02-02 19:34:08.325 7979-18674/com.demo D/LLLLLLLLLL:   libpostproc    53.  0.100 / 53.  0.100
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL: Input #0, image2, from '/storage/sdcard0/baishiMagic/magic/waterfall/fish_isolate/fish_%04d.png':
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL:   Duration: 00:00:08.00, start: 0.000000, bitrate: N/A
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL:     Stream #0:0: Video: png, rgba, 480x640 [SAR 3779:3779 DAR 3:4], 25 fps, 25 tbr, 25 tbn, 25 tbc
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL: Output #0, mov, to '/storage/sdcard0/baishiMagic/temp/anim2.mov':
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL:   Metadata:
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL:     encoder         : Lavf56.4.101
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL:     Stream #0:0: Video: png (png  / 0x20676E70), rgba, 480x640 [SAR 3779:3779 DAR 3:4], q=2-31, 25 fps, 12800 tbn, 25 tbc
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL: Stream mapping:
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL:   Stream #0:0 -> #0:0 (copy)
    02-02 19:34:08.410 7979-18674/com.demo D/LLLLLLLLLL: Press [q] to stop, [?] for help
    02-02 19:34:08.750 7979-18674/com.demo D/LLLLLLLLLL: frame=  200 fps=0.0 q=-1.0 Lsize=    6606kB time=00:00:08.00 bitrate=6764.2kbits/s    
    02-02 19:34:08.750 7979-18674/com.demo D/LLLLLLLLLL: video:6604kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.023112%
    02-02 19:34:08.750 7979-18573/com.demo D/LLLLLLLLLL: 图片合成,exitValue=0
    02-02 19:34:08.780 7979-18573/com.demo D/LLLLLLLLLL: /data/data/com.demo/app_bin/ffmpeg -y -i /storage/sdcard0/baishiMagic/temp/video1454412829452.mp4 -r 25 -i /storage/sdcard0/baishiMagic/temp/anim1.mov -i /storage/sdcard0/baishiMagic/temp/anim2.mov -i /storage/sdcard0/frame.ts -filter_complex transpose=1,crop=480:640:0:40,overlay=0:0:0,overlay=-2:-2:0,overlay=0:0:0 -preset ultrafast -strict -2 /storage/sdcard0/baishiMagic/result.mp4
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   built on Oct  7 2014 15:05:17 with gcc 4.8 (GCC)
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libavutil      54.  7.100 / 54.  7.100
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libavcodec     56.  1.100 / 56.  1.100
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libavformat    56.  4.101 / 56.  4.101
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libavdevice    56.  0.100 / 56.  0.100
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libavfilter     5.  1.100 /  5.  1.100
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libswscale      3.  0.100 /  3.  0.100
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libswresample   1.  1.100 /  1.  1.100
    02-02 19:34:08.810 7979-18716/com.demo D/LLLLLLLLLL:   libpostproc    53.  0.100 / 53.  0.100
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/sdcard0/baishiMagic/temp/video1454412829452.mp4':
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:   Metadata:
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     major_brand     : isom
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     minor_version   : 0
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     compatible_brands: isom3gp4
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     creation_time   : 2016-02-02 11:33:58
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:   Duration: 00:00:07.64, start: 0.000000, bitrate: 3099 kb/s
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x480, 3074 kb/s, SAR 1:1 DAR 4:3, 29.82 fps, 30 tbr, 90k tbn, 180k tbc (default)
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     Metadata:
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:       rotate          : 180
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:       creation_time   : 2016-02-02 11:33:58
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:       handler_name    : VideoHandle
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:       encoder         :                                
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     Side data:
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:       displaymatrix: rotation of 180.00 degrees
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 124 kb/s (default)
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:     Metadata:
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:       creation_time   : 2016-02-02 11:33:58
    02-02 19:34:08.870 7979-18716/com.demo D/LLLLLLLLLL:       handler_name    : SoundHandle
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL: Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/sdcard0/baishiMagic/temp/anim1.mov':
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:   Metadata:
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:     major_brand     : qt  
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:     minor_version   : 512
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:     compatible_brands: qt  
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:     encoder         : Lavf56.4.101
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:   Duration: 00:00:08.00, start: 0.000000, bitrate: 79460 kb/s
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:     Stream #1:0(eng): Video: png (png  / 0x20676E70), rgba, 480x640 [SAR 3779:3779 DAR 3:4], 79458 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default)
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:     Metadata:
    02-02 19:34:08.920 7979-18716/com.demo D/LLLLLLLLLL:       handler_name    : DataHandler
    02-02 19:34:08.950 7979-18716/com.demo D/LLLLLLLLLL: Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/sdcard0/baishiMagic/temp/anim2.mov':
    02-02 19:34:08.950 7979-18716/com.demo D/LLLLLLLLLL:   Metadata:
    02-02 19:34:08.950 7979-18716/com.demo D/LLLLLLLLLL:     major_brand     : qt  
    02-02 19:34:08.950 7979-18716/com.demo D/LLLLLLLLLL:     minor_version   : 512
    02-02 19:34:08.950 7979-18716/com.demo D/LLLLLLLLLL:     compatible_brands: qt  
    02-02 19:34:08.950 7979-18716/com.demo D/LLLLLLLLLL:     encoder         : Lavf56.4.101
    02-02 19:34:08.950 7979-18716/com.demo D/LLLLLLLLLL:   Duration: 00:00:08.00, start: 0.000000, bitrate: 6764 kb/s
    02-02 19:34:08.955 7979-18716/com.demo D/LLLLLLLLLL:     Stream #2:0(eng): Video: png (png  / 0x20676E70), rgba, 480x640 [SAR 3779:3779 DAR 3:4], 6762 kb/s, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default)
    02-02 19:34:08.955 7979-18716/com.demo D/LLLLLLLLLL:     Metadata:
    02-02 19:34:08.955 7979-18716/com.demo D/LLLLLLLLLL:       handler_name    : DataHandler
    02-02 19:34:08.985 7979-18716/com.demo D/LLLLLLLLLL: Input #3, mpegts, from '/storage/sdcard0/frame.ts':
    02-02 19:34:08.985 7979-18716/com.demo D/LLLLLLLLLL:   Duration: 00:00:05.13, start: 1.533333, bitrate: 1006 kb/s
    02-02 19:34:08.985 7979-18716/com.demo D/LLLLLLLLLL:   Program 1
    02-02 19:34:08.985 7979-18716/com.demo D/LLLLLLLLLL:     Metadata:
    02-02 19:34:08.985 7979-18716/com.demo D/LLLLLLLLLL:       service_name    : Service01
    02-02 19:34:08.985 7979-18716/com.demo D/LLLLLLLLLL:       service_provider: FFmpeg
    02-02 19:34:08.985 7979-18716/com.demo D/LLLLLLLLLL:     Stream #3:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 480x480 [SAR 1:1 DAR 1:1], 15 fps, 15 tbr, 90k tbn, 30 tbc
    02-02 19:34:09.000 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] using SAR=1/1
    02-02 19:34:09.020 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] using cpu capabilities: none!
    02-02 19:34:09.115 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] profile Constrained Baseline, level 3.0
    02-02 19:34:09.115 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
    02-02 19:34:09.170 7979-18716/com.demo D/LLLLLLLLLL: Output #0, mp4, to '/storage/sdcard0/baishiMagic/result.mp4':
    02-02 19:34:09.170 7979-18716/com.demo D/LLLLLLLLLL:   Metadata:
    02-02 19:34:09.170 7979-18716/com.demo D/LLLLLLLLLL:     major_brand     : isom
    02-02 19:34:09.175 7979-18716/com.demo D/LLLLLLLLLL:     minor_version   : 0
    02-02 19:34:09.175 7979-18716/com.demo D/LLLLLLLLLL:     compatible_brands: isom3gp4
    02-02 19:34:09.175 7979-18716/com.demo D/LLLLLLLLLL:     encoder         : Lavf56.4.101
    02-02 19:34:09.175 7979-18716/com.demo D/LLLLLLLLLL:     Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 480x640 [SAR 1:1 DAR 3:4], q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
    02-02 19:34:09.175 7979-18716/com.demo D/LLLLLLLLLL:     Metadata:
    02-02 19:34:09.175 7979-18716/com.demo D/LLLLLLLLLL:       encoder         : Lavc56.1.100 libx264
    02-02 19:34:09.175 7979-18716/com.demo D/LLLLLLLLLL:     Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, mono, fltp, 128 kb/s (default)
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:     Metadata:
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:       creation_time   : 2016-02-02 11:33:58
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:       handler_name    : SoundHandle
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:       encoder         : Lavc56.1.100 aac
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL: Stream mapping:
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:   Stream #0:0 (h264) -> transpose (graph 0)
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:   Stream #1:0 (png) -> overlay:overlay (graph 0)
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:   Stream #2:0 (png) -> overlay:overlay (graph 0)
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:   Stream #3:0 (h264) -> overlay:overlay (graph 0)
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:   overlay (graph 0) -> Stream #0:0 (libx264)
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL:   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    02-02 19:34:09.180 7979-18716/com.demo D/LLLLLLLLLL: Press [q] to stop, [?] for help
    02-02 19:34:10.250 7979-18716/com.demo D/LLLLLLLLLL: frame=    1 fps=0.0 q=0.0 size=       0kB time=00:00:01.00 bitrate=   0.4kbits/s    
    02-02 19:34:10.745 7979-18716/com.demo D/LLLLLLLLLL: frame=    6 fps=5.9 q=0.0 size=       0kB time=00:00:01.00 bitrate=   0.4kbits/s    
    02-02 19:34:11.295 7979-18716/com.demo D/LLLLLLLLLL: frame=   11 fps=7.1 q=19.0 size=      11kB time=00:00:01.00 bitrate=  92.1kbits/s    
    02-02 19:34:11.760 7979-18716/com.demo D/LLLLLLLLLL: frame=   16 fps=7.7 q=19.0 size=      24kB time=00:00:01.00 bitrate= 199.3kbits/s    
    02-02 19:34:12.335 7979-18716/com.demo D/LLLLLLLLLL: frame=   22 fps=8.5 q=20.0 size=      39kB time=00:00:01.00 bitrate= 319.8kbits/s    
    02-02 19:34:12.870 7979-18716/com.demo D/LLLLLLLLLL: frame=   28 fps=9.0 q=19.0 size=      58kB time=00:00:01.00 bitrate= 475.7kbits/s    
    02-02 19:34:13.345 7979-18716/com.demo D/LLLLLLLLLL: frame=   30 fps=8.3 q=20.0 size=      63kB time=00:00:02.00 bitrate= 258.6kbits/s    
    02-02 19:34:13.935 7979-18716/com.demo D/LLLLLLLLLL: frame=   34 fps=8.2 q=20.0 size=      74kB time=00:00:02.00 bitrate= 300.8kbits/s    
    02-02 19:34:14.480 7979-18716/com.demo D/LLLLLLLLLL: frame=   39 fps=8.2 q=20.0 size=      87kB time=00:00:02.00 bitrate= 354.0kbits/s    
    02-02 19:34:15.015 7979-18716/com.demo D/LLLLLLLLLL: frame=   43 fps=8.2 q=20.0 size=      98kB time=00:00:02.00 bitrate= 400.4kbits/s    
    02-02 19:34:15.515 7979-18716/com.demo D/LLLLLLLLLL: frame=   48 fps=8.3 q=21.0 size=     112kB time=00:00:02.00 bitrate= 459.5kbits/s    
    02-02 19:34:16.015 7979-18716/com.demo D/LLLLLLLLLL: frame=   54 fps=8.5 q=24.0 size=     137kB time=00:00:02.00 bitrate= 557.9kbits/s    
    02-02 19:34:16.575 7979-18716/com.demo D/LLLLLLLLLL: frame=   58 fps=8.5 q=24.0 size=     169kB time=00:00:02.19 bitrate= 628.2kbits/s    
    02-02 19:34:17.090 7979-18716/com.demo D/LLLLLLLLLL: frame=   60 fps=8.2 q=24.0 size=     189kB time=00:00:03.00 bitrate= 515.4kbits/s    
    02-02 19:34:17.605 7979-18716/com.demo D/LLLLLLLLLL: frame=   65 fps=8.3 q=23.0 size=     228kB time=00:00:03.00 bitrate= 621.7kbits/s    
    02-02 19:34:18.090 7979-18716/com.demo D/LLLLLLLLLL: frame=   70 fps=8.4 q=24.0 size=     269kB time=00:00:03.00 bitrate= 731.7kbits/s    
    02-02 19:34:18.655 7979-18716/com.demo D/LLLLLLLLLL: frame=   76 fps=8.5 q=25.0 size=     320kB time=00:00:03.00 bitrate= 870.6kbits/s    
    02-02 19:34:19.115 7979-18716/com.demo D/LLLLLLLLLL: frame=   82 fps=8.7 q=25.0 size=     374kB time=00:00:03.00 bitrate=1019.4kbits/s    
    02-02 19:34:19.620 7979-18716/com.demo D/LLLLLLLLLL: frame=   87 fps=8.8 q=24.0 size=     419kB time=00:00:03.00 bitrate=1142.2kbits/s    
    02-02 19:34:20.120 7979-18716/com.demo D/LLLLLLLLLL: frame=   89 fps=8.5 q=22.0 size=     434kB time=00:00:04.01 bitrate= 885.6kbits/s    
    02-02 19:34:20.685 7979-18716/com.demo D/LLLLLLLLLL: frame=   94 fps=8.6 q=22.0 size=     464kB time=00:00:04.01 bitrate= 947.8kbits/s    
    02-02 19:34:21.155 7979-18716/com.demo D/LLLLLLLLLL: frame=  100 fps=8.7 q=22.0 size=     495kB time=00:00:04.01 bitrate=1010.7kbits/s    
    02-02 19:34:21.685 7979-18716/com.demo D/LLLLLLLLLL: frame=  105 fps=8.8 q=22.0 size=     523kB time=00:00:04.01 bitrate=1067.3kbits/s    
    02-02 19:34:22.180 7979-18716/com.demo D/LLLLLLLLLL: frame=  110 fps=8.8 q=22.0 size=     551kB time=00:00:04.01 bitrate=1125.1kbits/s    
    02-02 19:34:22.685 7979-18716/com.demo D/LLLLLLLLLL: frame=  115 fps=8.9 q=22.0 size=     576kB time=00:00:04.01 bitrate=1176.9kbits/s    
    02-02 19:34:23.200 7979-18716/com.demo D/LLLLLLLLLL: frame=  118 fps=8.7 q=21.0 size=     592kB time=00:00:04.92 bitrate= 984.3kbits/s    
    02-02 19:34:23.715 7979-18716/com.demo D/LLLLLLLLLL: frame=  123 fps=8.8 q=22.0 size=     619kB time=00:00:05.01 bitrate=1011.1kbits/s    
    02-02 19:34:24.265 7979-18716/com.demo D/LLLLLLLLLL: frame=  127 fps=8.7 q=22.0 size=     638kB time=00:00:05.01 bitrate=1042.8kbits/s    
    02-02 19:34:24.765 7979-18716/com.demo D/LLLLLLLLLL: frame=  131 fps=8.7 q=23.0 size=     658kB time=00:00:05.01 bitrate=1074.5kbits/s    
    02-02 19:34:25.310 7979-18716/com.demo D/LLLLLLLLLL: frame=  137 fps=8.8 q=23.0 size=     700kB time=00:00:05.01 bitrate=1143.7kbits/s    
    02-02 19:34:25.800 7979-18716/com.demo D/LLLLLLLLLL: frame=  142 fps=8.8 q=23.0 size=     736kB time=00:00:05.01 bitrate=1202.2kbits/s    
    02-02 19:34:26.345 7979-18716/com.demo D/LLLLLLLLLL: frame=  147 fps=8.8 q=24.0 size=     771kB time=00:00:05.14 bitrate=1229.1kbits/s    
    02-02 19:34:26.895 7979-18716/com.demo D/LLLLLLLLLL: frame=  150 fps=8.7 q=24.0 size=     798kB time=00:00:06.01 bitrate=1086.7kbits/s    
    02-02 19:34:27.385 7979-18716/com.demo D/LLLLLLLLLL: frame=  156 fps=8.8 q=24.0 size=     847kB time=00:00:06.01 bitrate=1153.9kbits/s    
    02-02 19:34:27.895 7979-18716/com.demo D/LLLLLLLLLL: frame=  161 fps=8.9 q=23.0 size=     886kB time=00:00:06.01 bitrate=1206.2kbits/s    
    02-02 19:34:28.455 7979-18716/com.demo D/LLLLLLLLLL: frame=  167 fps=8.9 q=23.0 size=     927kB time=00:00:06.01 bitrate=1261.6kbits/s    
    02-02 19:34:28.905 7979-18716/com.demo D/LLLLLLLLLL: frame=  173 fps=9.0 q=23.0 size=     964kB time=00:00:06.01 bitrate=1312.4kbits/s    
    02-02 19:34:29.440 7979-18716/com.demo D/LLLLLLLLLL: frame=  177 fps=9.0 q=23.0 size=     987kB time=00:00:06.20 bitrate=1302.9kbits/s    
    02-02 19:34:29.995 7979-18716/com.demo D/LLLLLLLLLL: frame=  180 fps=8.9 q=23.0 size=    1008kB time=00:00:07.01 bitrate=1176.9kbits/s    
    02-02 19:34:30.490 7979-18716/com.demo D/LLLLLLLLLL: frame=  186 fps=9.0 q=21.0 size=    1048kB time=00:00:07.01 bitrate=1223.3kbits/s    
    02-02 19:34:31.015 7979-18716/com.demo D/LLLLLLLLLL: frame=  191 fps=9.0 q=19.0 size=    1076kB time=00:00:07.01 bitrate=1255.5kbits/s    
    02-02 19:34:31.495 7979-18716/com.demo D/LLLLLLLLLL: frame=  197 fps=9.0 q=18.0 size=    1103kB time=00:00:07.01 bitrate=1287.1kbits/s    
    02-02 19:34:32.040 7979-18716/com.demo D/LLLLLLLLLL: frame=  202 fps=9.1 q=19.0 size=    1119kB time=00:00:07.01 bitrate=1306.5kbits/s    
    02-02 19:34:32.555 7979-18716/com.demo D/LLLLLLLLLL: frame=  207 fps=9.1 q=20.0 size=    1138kB time=00:00:07.01 bitrate=1328.1kbits/s    
    02-02 19:34:33.140 7979-18716/com.demo D/LLLLLLLLLL: frame=  213 fps=9.1 q=19.0 size=    1161kB time=00:00:07.01 bitrate=1354.7kbits/s    
    02-02 19:34:33.695 7979-18716/com.demo D/LLLLLLLLLL: frame=  217 fps=9.1 q=19.0 size=    1176kB time=00:00:07.59 bitrate=1268.3kbits/s    
    02-02 19:34:34.205 7979-18716/com.demo D/LLLLLLLLLL: frame=  222 fps=9.1 q=19.0 size=    1195kB time=00:00:07.59 bitrate=1288.8kbits/s dup=0 drop=4    
    02-02 19:34:34.720 7979-18716/com.demo D/LLLLLLLLLL: frame=  222 fps=8.9 q=19.0 size=    1195kB time=00:00:07.59 bitrate=1288.8kbits/s dup=0 drop=13    
    02-02 19:34:35.075 7979-18716/com.demo D/LLLLLLLLLL: frame=  222 fps=8.7 q=19.0 size=    1195kB time=00:00:07.59 bitrate=1288.8kbits/s dup=0 drop=24    
    02-02 19:34:35.075 7979-18716/com.demo D/LLLLLLLLLL: frame=  222 fps=8.6 q=-1.0 Lsize=    1233kB time=00:00:07.63 bitrate=1322.5kbits/s dup=0 drop=30    
    02-02 19:34:35.075 7979-18716/com.demo D/LLLLLLLLLL: video:1104kB audio:122kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.615799%
    02-02 19:34:35.095 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] frame I:1     Avg QP:20.00  size:  5784
    02-02 19:34:35.095 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] frame P:221   Avg QP:21.62  size:  5084
    02-02 19:34:35.095 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] mb I  I16..4: 100.0%  0.0%  0.0%
    02-02 19:34:35.095 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] mb P  I16..4: 17.6%  0.0%  0.0%  P16..4: 21.8%  0.0%  0.0%  0.0%  0.0%    skip:60.5%
    02-02 19:34:35.100 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] coded y,uvDC,uvAC intra: 36.9% 18.1% 2.2% inter: 13.0% 7.3% 0.1%
    02-02 19:34:35.100 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] i16 v,h,dc,p: 27% 30% 24% 19%
    02-02 19:34:35.100 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] i8c dc,h,v,p: 57% 22% 17%  3%
    02-02 19:34:35.100 7979-18716/com.demo D/LLLLLLLLLL: [libx264 @ 0x2b447ef0] kb/s:1221.00
    02-02 19:34:35.110 7979-18573/com.demo D/LLLLLLLLLL: 视频处理,exitValue=0
  • Linear Attribution Model : What Is It and How Does It Work ?

    16 février 2024, par Erin

    Want a more in-depth way to understand the effectiveness of your marketing campaigns ? Then, the linear attribution model could be the answer.

    Although you can choose from several different attribution models, a linear model is ideal for giving value to every touchpoint along the customer journey. It can help you identify your most effective marketing channels and optimise your campaigns. 

    So, without further ado, let’s explore what a linear attribution model is, when you should use it and how you can get started. 

    What is a linear attribution model ?

    A linear attribution model is a multi-touch method of marketing attribution where equal credit is given to each touchpoint. Every marketing channel used across the entire customer journey gets credit, and each is considered equally important. 

    So, if a potential customer has four interactions before converting, each channel gets 25% of the credit.

    The linear attribution model shares credit equally between each touchpoint

    Let’s look at how linear attribution works in practice using a hypothetical example of a marketing manager, Sally, who is looking for an alternative to Google Analytics. 

    Sally starts her conversion path by reading a Matomo article comparing Matomo to Google Analytics she finds when searching on Google. A few days later she signs up for a webinar she saw on Matomo’s LinkedIn page. Two weeks later, Sally gets a sign-off from her boss and decides to go ahead with Matomo. She visits the website and starts a free trial by clicking on one of the paid Google Ads. 

    Using a linear attribution model, we credit each of the channels Sally uses (organic traffic, organic social, and paid ads), ensuring no channel is overlooked in our marketing analysis. 

    Are there other types of attribution models ?

    Absolutely. There are several common types of attribution models marketing managers can use to measure the impact of channels in different ways. 

    Pros & Cons of Different Marketing Attribution Models
    • First interaction : Also called a first-touch attribution model, this method gives all the credit to the first channel in the customer journey. This model is great for optimising the top of your sales funnel.
    • Last interaction : Also called a last-touch attribution model, this approach gives all the credit to the last channel the customer interacts with. It’s a great model for optimising the bottom of your marketing funnel. 
    • Last non-direct interaction : This attribution model excludes direct traffic and credits the previous touchpoint. This is a fantastic alternative to a last-touch attribution model, especially if most customers visit your website before converting. 
    • Time decay attribution model : This model adjusts credit according to the order of the touchpoints. Those nearest the conversion get weighted the highest. 
    • Position-based attribution model : This model allocates 40% of the credit to the first and last touchpoints and splits the remaining 20% evenly between every other interaction.

    Why use a linear attribution model ?

    Marketing attribution is vital if you want to understand which parts of your marketing strategy are working. All of the attribution models described above can help you achieve this to some degree, but there are several reasons to choose a linear attribution model in particular. 

    It uses multi-touch attribution

    Unlike single-touch attribution models like first and last interaction, linear attribution is a multi-touch attribution model that considers every touchpoint. This is vital to get a complete picture of the modern customer journey, where customers interact with companies between 20 and 500 times

    Single-touch attribution models can be misleading by giving conversion credit to a single channel, especially if it was the customer’s last use. In our example above, Sally’s last interaction with our brand was through a paid ad, but it was hardly the most important. 

    It’s easy to understand

    Attribution models can be complicated, but linear attribution is easy to understand. Every touchpoint gets the same credit, allowing you to see how your entire marketing function works. This simplicity also makes it easy for marketers to take action. 

    It’s great for identifying effective marketing channels

    Because linear attribution is one of the few models that provides a complete view of the customer journey, it’s easy to identify your most common and influential touchpoints. 

    It accounts for the top and bottom of your funnel, so you can also categorise your marketing channels more effectively and make more informed decisions. For example, PPC ads may be a more common bottom-of-the-full touchpoint and should, therefore, not be used to target broad, top-of-funnel search terms.

    Are there any reasons not to use linear attribution ?

    Linear attribution isn’t perfect. Like all attribution models, it has its weaknesses. Specifically, linear attribution can be too simple, dilute conversion credit and unsuitable for long sales cycles.

    What are the reasons not to use linear attribution

    It can be too simple

    Linear attribution lacks nuance. It only considers touchpoints while ignoring other factors like brand image and your competitors. This is true for most attribution models, but it’s still important to point it out. 

    It can dilute conversion credit

    In reality, not every touchpoint impacts conversions to the same extent. In the example above, the social media post promoting the webinar may have been the most effective touchpoint, but we have no way of measuring this. 

    The risk with using a linear model is that credit can be underestimated and overestimated — especially if you have a long sales cycle. 

    It’s unsuitable for very long sales cycles

    Speaking of long sales cycles, linear attribution models won’t add much value if your customer journey contains dozens of different touchpoints. Credit will get diluted to the point where analysis becomes impossible, and the model will also struggle to measure the precise ways certain touchpoints impact conversions. 

    Should you use a linear attribution model ?

    A linear attribution model is a great choice for any company with shorter sales cycles or a reasonably straightforward customer journey that uses multiple marketing channels. In these cases, it helps you understand the contribution of each touchpoint and find your best channels. 

    It’s also a practical choice for small businesses and startups that don’t have a team of data scientists on staff or the budget to hire outside help. Because it’s so easy to set up and understand, anyone can start generating insights using this model. 

    How to set up a linear attribution model

    Are you sold on the idea of using a linear attribution model ? Then follow the steps below to get started :

    Set up marketing attribution in four steps

    Choose a marketing attribution tool

    Given the market is worth $3.1 billion, you won’t be surprised to learn there are plenty of tools to choose from. But choose carefully. The tool you pick can significantly impact your success with attribution modelling. 

    Take Google Analytics, for instance. While GA4 offers several marketing attribution models for free, including linear attribution, it lacks accuracy due to cookie consent rejection and data sampling. 

    Accurate marketing attribution is included as a feature in Matomo Cloud and is available as a plugin for Matomo On-Premise users. We support a full range of attribution models that use 100% accurate data because we don’t use data sampling, and cookie consent isn’t an issue (with the exception of Germany and the UK). That means you can trust our insights.

    Matomo’s marketing attribution is available out of the box, and we also provide access to raw data, allowing you to develop your custom attribution model. 

    Collect data

    The quality of your marketing attribution also depends on the quality and quantity of your data. It’s why you need to avoid a platform that uses data sampling. 

    This should include :

    • General data from your analytics platform, like pages visited and forms filled
    • Goals and conversions, which we’ll discuss in more detail in the next step
    • Campaign tracking data so you can monitor the behaviour of traffic from different referral channels
    • Behavioural data from features like Heatmaps or Session Recordings

    Set up goals and conversions

    You can’t assign conversion values to customer journey touchpoints if you don’t have conversion goals in place. That’s why the next step of the process is to set up conversion tracking in your web analytics platform. 

    Depending on your type of business and the product you sell, conversions could take one of the following forms :

    • A product purchase
    • Signing up for a webinar
    • Downloading an ebook
    • Filling in a form
    • Starting a free trial

    Setting up these kinds of goals is easy if you use Matomo. 

    Just head to the Goals section of the dashboard, click Manage Goals and then click the green Add A New Goal button. 

    Fill in the screen below, and add a Goal Revenue at the bottom of the page. Doing so will mean Matomo can automatically calculate the value of each touchpoint when using your attribution model. 

    A screenshot of Matomo's conversion dashboard

    If your analytics platform allows it, make sure you also set up Event Tracking, which will allow you to analyse how many users start to take a desired action (like filling in a form) but never complete the task. 

    Try Matomo for Free

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

    No credit card required

    Test and validate

    As we’ve explained, linear attribution is a great model in some scenarios, but it can fall short if you have a long or complex sales funnel. Even if you’re sure it’s the right model for your company, testing and validating is important. 

    Ideally, your chosen attribution tool should make this process pretty straightforward. For example, Matomo’s Marketing Attribution feature makes comparing and contrasting three different attribution models easy. 

    Here we compare the performance of three attribution models—linear, first-touch, and last-non-direct—in Matomo’s Marketing Attribution dashboard, providing straightforward analysis.

    If you think linear attribution accurately reflects the value of your channels, you can start to analyse the insights it generates. If not, then consider using another attribution model.

    Don’t forget to take action from your marketing efforts, either. Linear attribution helps you spot the channels that contribute most to conversions, so allocate more resources to those channels and see if you can improve your conversion rate or boost your ROI. 

    Make the most of marketing attribution with Matomo

    A linear attribution model lets you measure every touchpoint in your customer journey. It’s an easy attribution model to start with and lets you identify and optimise your most effective marketing channels. 

    However, accurate data is essential if you want to benefit the most from marketing attribution data. If your web analytics solution doesn’t play nicely with cookies or uses sampled data, then your linear model isn’t going to tell you the whole story. 

    That’s why over 1 million sites trust Matomo’s privacy-focused web analytics, ensuring accurate data for a comprehensive understanding of customer journeys.

    Now you know what linear attribution modelling is, start employing the model today by signing up for a free 21-day trial, no credit card required. 

  • Marketing Cohort Analysis : How To Do It (With Examples)

    12 janvier 2024, par Erin

    The better you understand your customers, the more effective your marketing will become. 

    The good news is you don’t need to run expensive focus groups to learn much about how your customers behave. Instead, you can run a marketing cohort analysis using data from your website analytics.

    A marketing cohort groups your users by certain traits and allows you to drill down to discover why they take the actions on your website they do. 

    In this article, we’ll explain what a marketing cohort analysis is, show you what you can achieve with this analytical technique and provide a step-by-step guide to pulling it off. 

    What is cohort analysis in marketing ?

    A marketing cohort analysis is a form of behavioural analytics where you analyse the behavioural patterns of users who share a similar trait to better understand their actions. 

    These shared traits could be anything like the date they signed up for your product, users who bought your service through a paid ad or email subscribers from the United Kingdom.

    It’s a fantastic way to improve your marketing efforts, allowing you to better understand complex user behaviours, personalise campaigns accordingly and improve your ROI. 

    You can run marketing analysis using an analytics platform like Google Analytics or Matomo. With these platforms, you can measure how cohorts perform using traffic, engagement and conversion metrics.

    An example of marketing cohort chart

    There are two types of cohort analysis : acquisition-based cohort analysis and behavioural-based cohort analysis.

    Acquisition-based cohort analysis

    An acquisition-based cohort divides users by the date they purchased your product or service and tracks their behaviour afterward. 

    For example, one cohort could be all the users who signed up for your product in November. Another could be the users who signed up for your product in October. 

    You could then run a cohort analysis to see how the behaviour of the two cohorts differed. 

    Did the November cohort show higher engagement rates, increased frequency of visits post-acquisition or quicker conversions compared to the October cohort ? Analysing these cohorts can help with refining marketing strategies, optimising user experiences and improving retention and conversion rates.

    As you can see from the example, acquisition-based cohorts are a great way to track the initial acquisition and how user behaviour evolves post-acquisition.

    Behavioural-based cohort analysis

    A behavioural-based cohort divides users by their actions on your site. That could be their bounce rate, the number of actions they took on your site, their average time on site and more.

    View of returning visitors cohort report in Matomo dashboard

    Behavioural cohort analysis gives you a much deeper understanding of user behaviour and how they interact with your website.

    What can you achieve with a marketing cohort analysis ?

    A marketing cohort analysis is a valuable tool that can help marketers and product teams achieve the following goals :

    Understand which customers churn and why

    Acquisition and behavioural cohort analyses help marketing teams understand when and why customers leave. This is one of the most common goals of a marketing cohort analysis. 

    Learn which customers are most valuable

    Want to find out which channels create the most valuable customers or what actions customers take that increase their loyalty ? You can use a cohort analysis to do just that. 

    For example, you may find out you retain users who signed up via direct traffic better than those that signed up from an ad campaign. 

    Discover how to improve your product

    You can even use cohort analysis to identify opportunities to improve your website and track the impact of your changes. For example, you could see how visitor behaviour changes after a website refresh or whether visitors who take a certain action make more purchases. 

    Find out how to improve your marketing campaign

    A marketing cohort analysis makes it easy to find out which campaigns generate the best and most profitable customers. For example, you can run a cohort analysis to determine which channel (PPC ads, organic search, social media, etc.) generates customers with the lowest churn rate. 

    If a certain ad campaign generates the low-churn customers, you can allocate a budget accordingly. Alternatively, if customers from another ad campaign churn quickly, you can look into why that may be the case and optimise your campaigns to improve them. 

    Measure the impact of changes

    You can use a behavioural cohort analysis to understand what impact changes to your website or product have on active users. 

    If you introduced a pricing page to your website, for instance, you could analyse the behaviour of visitors who interacted with that page compared to those who didn’t, using behavioural cohort analysis to gauge the impact of these website changes on engagemen or conversions.

    The problem with cohort analysis in Google Analytics

    Google Analytics is often the first platform marketers turn to when they want to run a cohort analysis. While it’s a free solution, it’s not the most accurate or easy to use and users often encounter various issues

    For starters, Google Analytics can’t process user visitor data if they reject cookies. This can lead to an inaccurate view of traffic and compromise the reliability of your insights.

    In addition, GA is also known for sampling data, meaning it provides a subset rather than the complete dataset. Without the complete view of your website’s performance, you might make the wrong decisions, leading to less effective campaigns, missed opportunities and difficulties in reaching marketing goals.

    How to analyse cohorts with Matomo

    Luckily, there is an alternative to Google Analytics. 

    As the leading open-source web analytics solution, Matomo offers a robust option for cohort analysis. With its 100% accurate data, thanks to the absence of sampling, and its privacy-friendly tracking, users can rely on the data without resorting to guesswork. It is a premium feature included with our Matomo Cloud or available to purchase on the Matomo Marketplace for Matomo On-Premise users.

    Below, we’ll show how you can run a marketing cohort analysis using Matomo.

    Set a goal

    Setting a goal is the first step in running a cohort analysis with any platform. Define what you want to achieve from your analysis and choose the metrics you want to measure. 

    For example, you may want to improve your customer retention rate over the first 90 days. 

    Define cohorts

    Next, create cohorts by defining segmentation criteria. As we’ve discussed above, this could be acquisition-based or behavioural. 

    Matomo makes it easy to define cohorts and create charts. 

    In the sidebar menu, click Visitors > Cohorts. You’ll immediately see Matomo’s standard cohort report (something like the one below).

    Marketing cohort by bounce rate of visitors in Matomo dashboard

    In the example above, we’ve created cohorts by bounce rate. 

    You can view cohorts by weekly, monthly or yearly periods using the date selector and change the metric using the dropdown. Other metrics you can analyse cohorts by include :

    • Unique visitors
    • Return visitors
    • Conversion rates
    • Revenue
    • Actions per visit

    Change the data selection to create your desired cohort, and Matomo will automatically generate the report. 

    Try Matomo for Free

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

    No credit card required

    Analyse your cohort chart

    Cohort charts can be intimidating initially, but they are pretty easy to understand and packed with insights. 

    Here’s an example of an acquisition-based cohort chart from Matomo looking at the percentage of returning visitors :

    An Image of a marketing cohort chart in Matomo Analytics

    Cohorts run vertically. The oldest cohort (visitors between February 13 – 19) is at the top of the chart, with the newest cohort (April 17 – 23) at the bottom. 

    The period of time runs horizontally — daily in this case. The cells show the corresponding value for the metric we’re plotting (the percentage of returning visitors). 

    For example, 98.69% of visitors who landed on your site between February 13 – 19, returned two weeks later. 

    Usually, running one cohort analysis isn’t enough to identify a problem or find a solution. That’s why comparing several cohort analyses or digging deeper using segmentation is important.

    Segment your cohort chart

    Matomo lets you dig deeper by segmenting each cohort to examine their behaviour’s specifics. You can do this from the cohort report by clicking the segmented visitor log icon in the relevant row.

    Segmented visit log in Matomo cohort report
    Segmented cohort visitor log in Matomo

    Segmenting cohorts lets you understand why users behave the way they do. For example, suppose you find that users you purchased on Black Friday don’t return to your site often. In that case, you may want to rethink your offers for next year to target an audience with potentially better customer lifetime value. 

    Start using Matomo for marketing cohort analysis

    A marketing cohort analysis can teach you a lot about your customers and the health of your business. But you need the right tools to succeed. 

    Matomo provides an effective and privacy-first way to run your analysis. You can create custom customer segments based on almost anything, from demographics and geography to referral sources and user behaviour. 

    Our custom cohort analysis reports and colour-coded visualisations make it easy to analyse cohorts and spot patterns. Best of all, the data is 100% accurate. Unlike other web analytics solution or cohort analysis tools, we don’t sample data. 

    Find out how you can use Matomo to run marketing cohort analysis by trialling us free for 21 days. No credit card required.