Recherche avancée

Médias (0)

Mot : - Tags -/formulaire

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

Autres articles (81)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (10327)

  • Using FFmpeg to stitch together H.264 videos and variably-spaced JPEG pictures ; dealing with ffmpeg warnings

    19 octobre 2022, par LB2

    Context

    


    I have a process flow that may output either H.264 Annex B streams, variably-spaced JPEGs, or a mixture of two. By variably-spaced I mean where elapsed time between any two adjacent JPEGs may (and likely to be) different from any other two adjacent JPEGs. So an example of possible inputs are :

    


      

    1. stream1.h264
    2. 


    3. {Set of JPEGs}
    4. 


    5. stream1.h264 + stream2.h264
    6. 


    7. stream1.h264 + {Set of JPEGs}
    8. 


    9. stream1.h264 + {Set of JPEGs} + stream2.h264
    10. 


    11. stream1.h264 + {Set of JPEGs} + stream2.h264 + {Set of JPEGs} + ...
    12. 


    13. stream1.h264 + stream2.h264 + {Set of JPEGs} + ...
    14. 


    


    The output needs to be a single stitched (i.e. concatenated) output in MPEG-4 container.

    


    Requirements : No re-encoding or transcoding of existing video compression (One time conversion of JPEG sets to video format is OKay).

    


    Solution Prototype

    


    To prototype the solution I have found that ffmpeg has concat demuxer that would let me specify an ordered sequence of inputs that ffmpeg would then concatenate together, but all inputs must be of the same format. So, to meet that requirement, I :

    


      

    1. Convert every JPEG set to an .mp4 using concat (and using delay # directive to specify time-spacing between each JPEG)
    2. 


    3. Convert every .h264 to .mp4 using -c copy to avoid transcoding.
    4. 


    5. Stitch all generated interim .mp4 files into the single final .mp4 using -f concat and -c copy.
    6. 


    


    Here's the bash script, in parts, that performs the above :

    


      

    1. Ignore the curl comment ; that's from originally generating a 100 jpeg images with numbers and these are simply saved locally. What the loop does is it generates concat input file with file sequence#.jpeg directives and duration # directive where each successive JPEG delay is incremented by 0.1 seconds (0.1 between first and second, 0.2 b/w 2nd and 3rd, 0.3 b/w 3rd and 4th, and so on). Then it runs ffmpeg command to convert the set of JPEGs to .mp4 interim file.

      


      echo "ffconcat version 1.0" >ffconcat-jpeg.txt
echo >>ffconcat-jpeg.txt

for i in {1..100}
do
    echo "file $i.jpeg" >>ffconcat-jpeg.txt
    d=$(echo "$i" | awk '{printf "%f", $1 / 10}')
    # d=$(echo "scale=2; $i/10" | bc)
    echo "duration $d" >>ffconcat-jpeg.txt
    echo "" >>ffconcat-jpeg.txt
    # curl -o "$i.jpeg" "https://math.tools/equation/get_equaimages?equation=$i&fontsize=256"
done

ffmpeg \
    -hide_banner \
    -vsync vfr \
    -f concat \
    -i ffconcat-jpeg.txt \
    -r 30 \
    -video_track_timescale 90000 \
    video-jpeg.mp4


      


    2. 


    3. Convert two streams from .h264 to .mp4 via copy (no transcoding).

      


      ffmpeg \
    -hide_banner \
    -i low-motion-video.h264 \
    -c copy \
    -vsync vfr \
    -video_track_timescale 90000 \
    low-motion-video.mp4

ffmpeg \
    -hide_banner \
    -i full-video.h264 \
    -c copy \
    -video_track_timescale 90000 \
    -vsync vfr \
    full-video.mp4


      


    4. 


    5. Stitch all together by generating another concat directive file.

      


      echo "ffconcat version 1.0" >ffconcat-h264.txt
echo >>ffconcat-h264.txt
echo "file low-motion-video.mp4" >>ffconcat-h264.txt
echo >>ffconcat-h264.txt
echo "file full-video.mp4" >>ffconcat-h264.txt
echo >>ffconcat-h264.txt
echo "file video-jpeg.mp4" >>ffconcat-h264.txt
echo >>ffconcat-h264.txt

ffmpeg \
    -hide_banner \
    -f concat \
    -i ffconcat-h264.txt \
    -pix_fmt yuv420p \
    -c copy \
    -video_track_timescale 90000 \
    -vsync vfr \
    video-out.mp4



      


    6. 


    


    Problem (and attempted troubleshooting)

    


    The above does produce a reasonable output — it plays first video, then plays second video with no timing/rate issues AFAICT, then plays JPEGs with time between each JPEG "frame" growing successively, as expected.

    


    But, the conversion process produces warnings that concern me (for compatibility with players ; or potentially other IRL streams that may result in some issue my prototyping content doesn't make obvious). Initial attempts generated 100s of warnings, but with some arguments added, I reduced it down to just a handful, but this handful is stubborn and nothing I tried would help.

    


    The first conversion of JPEGs to .mp4 goes fine with the following output :

    


    Input #0, concat, from 'ffconcat-jpeg.txt':
  Duration: 00:08:25.00, start: 0.000000, bitrate: 0 kb/s
  Stream #0:0: Video: png, pal8(pc), 176x341 [SAR 3780:3780 DAR 16:31], 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x7fe418008e00] using SAR=1/1
[libx264 @ 0x7fe418008e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x7fe418008e00] profile High 4:4:4 Predictive, level 1.3, 4:4:4, 8-bit
[libx264 @ 0x7fe418008e00] 264 - core 163 r3060 5db6aa6 - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=11 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'video-jpeg.mp4':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv444p(tv, progressive), 176x341 [SAR 1:1 DAR 16:31], q=2-31, 30 fps, 90k tbn
    Metadata:
      encoder         : Lavc58.134.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame=  100 fps=0.0 q=-1.0 Lsize=     157kB time=00:07:55.33 bitrate=   2.7kbits/s speed=2.41e+03x    
video:155kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.800846%
[libx264 @ 0x7fe418008e00] frame I:1     Avg QP:20.88  size:   574
[libx264 @ 0x7fe418008e00] frame P:43    Avg QP:14.96  size:  2005
[libx264 @ 0x7fe418008e00] frame B:56    Avg QP:21.45  size:  1266
[libx264 @ 0x7fe418008e00] consecutive B-frames: 14.0% 24.0% 30.0% 32.0%
[libx264 @ 0x7fe418008e00] mb I  I16..4: 36.4% 55.8%  7.9%
[libx264 @ 0x7fe418008e00] mb P  I16..4:  5.1%  7.5% 11.2%  P16..4:  5.6%  8.1%  4.5%  0.0%  0.0%    skip:57.9%
[libx264 @ 0x7fe418008e00] mb B  I16..4:  2.4%  0.9%  3.9%  B16..8: 16.2%  8.8%  4.6%  direct: 1.2%  skip:62.0%  L0:56.6% L1:38.7% BI: 4.7%
[libx264 @ 0x7fe418008e00] 8x8 transform intra:28.3% inter:3.7%
[libx264 @ 0x7fe418008e00] coded y,u,v intra: 26.5% 0.0% 0.0% inter: 9.8% 0.0% 0.0%
[libx264 @ 0x7fe418008e00] i16 v,h,dc,p: 82% 13%  4%  0%
[libx264 @ 0x7fe418008e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20%  8% 71%  1%  0%  0%  0%  0%  0%
[libx264 @ 0x7fe418008e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 11% 29%  4%  2%  3%  1%  7%  1%
[libx264 @ 0x7fe418008e00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fe418008e00] ref P L0: 44.1%  4.2% 28.4% 23.3%
[libx264 @ 0x7fe418008e00] ref B L0: 56.2% 32.1% 11.6%
[libx264 @ 0x7fe418008e00] ref B L1: 92.4%  7.6%
[libx264 @ 0x7fe418008e00] kb/s:2.50


    


    The conversion of individual streams from .h264 to .mp4 generates two types of warnings each. One is [mp4 @ 0x7faee3040400] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly, and the other is [mp4 @ 0x7faee3040400] pts has no value.

    


    Some posts on SO (can't find my original finds on that now) suggested that it's safe to ignore and comes from H.264 being an elementary stream that supposedly doesn't contain timestamps. It surprises me a bit since I produce that stream using NVENC API and clearly supply timing information for each frame via PIC_PARAMS structure : NV_STRUCT(PIC_PARAMS, pp); ...; pp.inputTimeStamp = _frameIndex++ * (H264_CLOCK_RATE / _params.frameRate);, where #define H264_CLOCK_RATE 9000 and _params.frameRate = 30.

    


    Input #0, h264, from 'low-motion-video.h264':
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 1440x3040 [SAR 1:1 DAR 9:19], 30 fps, 30 tbr, 1200k tbn, 60 tbc
Output #0, mp4, to 'low-motion-video.mp4':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1440x3040 [SAR 1:1 DAR 9:19], q=2-31, 30 fps, 30 tbr, 90k tbn, 1200k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x7faee3040400] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mp4 @ 0x7faee3040400] pts has no value
[mp4 @ 0x7faee3040400] pts has no value0kB time=-00:00:00.03 bitrate=N/A speed=N/A    
    Last message repeated 17985 times
frame=17987 fps=0.0 q=-1.0 Lsize=   79332kB time=00:09:59.50 bitrate=1084.0kbits/s speed=1.59e+03x    
video:79250kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.103804%
Input #0, h264, from 'full-video.h264':
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 1440x3040 [SAR 1:1 DAR 9:19], 30 fps, 30 tbr, 1200k tbn, 60 tbc
Output #0, mp4, to 'full-video.mp4':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1440x3040 [SAR 1:1 DAR 9:19], q=2-31, 30 fps, 30 tbr, 90k tbn, 1200k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x7f9381864600] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mp4 @ 0x7f9381864600] pts has no value
[mp4 @ 0x7f9381864600] pts has no value0kB time=-00:00:00.03 bitrate=N/A speed=N/A    
    Last message repeated 17981 times
frame=17983 fps=0.0 q=-1.0 Lsize=   52976kB time=00:09:59.36 bitrate= 724.1kbits/s speed=1.33e+03x    
video:52893kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.156232%


    


    But the most worrisome error for me is from stitching together all interim .mp4 files into one :

    


    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9ff2010e00] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from 'ffconcat-h264.txt':
  Duration: N/A, bitrate: 1082 kb/s
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1440x3040 [SAR 1:1 DAR 9:19], 1082 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
Output #0, mp4, to 'video-out.mp4':
  Metadata:
    encoder         : Lavf58.76.100
  Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1440x3040 [SAR 1:1 DAR 9:19], q=2-31, 1082 kb/s, 30 fps, 30 tbr, 90k tbn, 90k tbc
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9fe1009c00] Auto-inserting h264_mp4toannexb bitstream filter
[mp4 @ 0x7f9ff2023400] Non-monotonous DTS in output stream 0:0; previous: 53954460, current: 53954460; changing to 53954461. This may result in incorrect timestamps in the output file.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9fd1008a00] Auto-inserting h264_mp4toannexb bitstream filter
[mp4 @ 0x7f9ff2023400] Non-monotonous DTS in output stream 0:0; previous: 107900521, current: 107874150; changing to 107900522. This may result in incorrect timestamps in the output file.
[mp4 @ 0x7f9ff2023400] Non-monotonous DTS in output stream 0:0; previous: 107900522, current: 107886150; changing to 107900523. This may result in incorrect timestamps in the output file.
frame=36070 fps=0.0 q=-1.0 Lsize=  132464kB time=00:27:54.26 bitrate= 648.1kbits/s speed=6.54e+03x    
video:132296kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.126409%


    


    I'm not sure how to deal with those non-monotonous DTS errors, and no matter what I try, nothing budges. I analyzed the interim .mp4 files using ffprobe -show_frames and found that the last frame of each interim .mp4 does not have DTS, while previous frames do. E.g. :

    


    ...
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=53942461
pkt_pts_time=599.360678
pkt_dts=53942461
pkt_dts_time=599.360678
best_effort_timestamp=53942461
best_effort_timestamp_time=599.360678
pkt_duration=3600
pkt_duration_time=0.040000
pkt_pos=54161377
pkt_size=1034
width=1440
height=3040
pix_fmt=yuv420p
sample_aspect_ratio=1:1
pict_type=B
coded_picture_number=17982
display_picture_number=0
interlaced_frame=0
top_field_first=0
repeat_pict=0
color_range=unknown
color_space=unknown
color_primaries=unknown
color_transfer=unknown
chroma_location=left
[/FRAME]
[FRAME]
media_type=video
stream_index=0
key_frame=0
pkt_pts=53927461
pkt_pts_time=599.194011
pkt_dts=N/A
pkt_dts_time=N/A
best_effort_timestamp=53927461
...


    


    My guess is that as concat demuxer reads in (or elsewhere in ffmpeg's conversion pipeline), for the last frame it sees no DTS set, and produces a virtual value equal to the last seen. Then further in pipeline it consumes this input, sees that DTS value is being repeated, issues a warning and offsets it with increment by one, which might be somewhat nonsensical/unrealistic timing value.

    


    I tried using -fflags +genpts as suggested in this SO answer, but that doesn't change anything.

    


    Per yet other posts suggesting issue being with incompatible tbn and tbc values and possible timebase issues, I tried adding -time_base 1:90000 and -enc_time_base 1:90000 and -copytb 1 and nothing budges. The -video_track_timescale 90000 is there b/c it helped reduce those DTS warnings from 100s down to 3, but doesn't eliminate them all.

    


    Question

    


    What is missing and how can I get ffmpeg to perform conversions without these warnings, to be sure it produces proper, well-formed output ?

    


  • Matomo’s privacy-friendly web analytics software named best of the year 2022

    25 janvier 2023, par Erin

    W3Tech names Matomo ‘Traffic Analysis Tool of the Year 2022’ in its Web Technologies of the Year list of technologies that gained the most sites

    Matomo, a world-leading open-source web analytics platform, is proud to announce that it has received W3Tech’s award for the best web analytics software in its Web Technologies of the Year 2022. Matomo is the first independent, open-source tool named Traffic Analysis Tool of the Year – with previous winners including Google Analytics and Facebook Pixel.


    W3Tech, a trusted source for web technology research, determines winners for its annual Web Technologies of the Year list by technologies that gained the most websites. W3Tech surveys usage across millions of websites globally – comparing the number of sites using a technology on January 1st of one year with the number of sites using it the following year.

    W3Tech commenting on the Traffic Analysis Tool winners, said : “Matomo, the privacy-focused open source analytics platform, is the traffic analysis tool of the year for the first time, while Google Analytics and the other previous winners all lost a bit of market share in 2022. The Chinese Baidu Analytics ranks second this year. Snowplow, another open source tool, is an unexpected third.”


    Matomo launched in 2007 as an open-source analytics alternative to Google Analytics, keeps businesses GDPR and CCPA-compliant. Matomo is trusted by over 1.4 million websites in 220 countries and is translated into over 50 languages.


    Matomo founder Matthieu Aubry says, “As the first independent, open-source traffic analysis tool to receive this recognition, Matomo is humbled and honoured to lead the charge for change. It’s a testament to the hard work of our community, and it’s a clear sign that consumers and organisations are looking for ethical alternatives.


    “This recognition is a major win for the entire privacy movement and proves that the tide is turning against the big tech players who I believe have long prioritised profits over privacy. We are committed to continuing our work towards a more private and secure digital landscape for all.”


    In W3Tech’s Web Technologies of the Year 2022, Matomo was also judged third Tag Manager, behind Google Tag Manager and Adobe DTM.


    Matomo helps businesses and organisations track and optimise their online presence allowing users to easily collect, analyse, and act on their website and marketing data to gain a deeper understanding of their visitors and drive conversions and revenue. With 100% data ownership, customers using the company’s tools get the power to protect their website user’s privacy – and where their data is stored and what’s happening to it, without external influence. Furthermore, as the data is not sampled, it maintains data accuracy. 


    Aubry says its recent award is a positive reminder of how well this solution is performing internationally and is a testament to the exceptional quality and performance of Matomo’s powerful web analytics tools that respect a user’s privacy.


    “In 2020, the CJEU ruled US cloud servers don’t comply with GDPR. Then in 2022, the Austrian Data Protection Authority and French Data Protection Authority (CNIL) ruled that the use of Google Analytics is illegal due to data transfers to the US. With Matomo Cloud, the customer’s data is stored in Europe, and no data is transferred to the US. On the other hand, with Matomo On-Premise, the data is stored in your country of choice.


    “Matomo has also become one of the most popular open-source alternatives to Google Analytics for website owners and marketing teams because it empowers web professionals to make business decisions. Website investment, collateral, and arrangement are enriched by having the full picture and control of the data.”

    Image of a laptop surrounded by multiple data screens from matomo

    About Matomo

    Matomo is a world-leading open-source web analytics platform, trusted by over 1.4 million websites in 220 countries and translated into over 50 languages. Matomo helps businesses and organisations track and optimise their online presence allowing users to easily collect, analyse, and act on their website and marketing data to gain a deeper understanding of their visitors and drive conversions and revenue. Matomo’s vision is to create, as a community, the leading open digital analytics platform that gives every user complete control of their data.

    For more information/ press enquiries Press – Matomo

  • Top 5 Web Analytics Tools for Your Site

    11 août 2023, par Erin — Analytics Tips

    At the start of July 2023, Universal Analytics (UA) users had to say goodbye to their preferred web analytics tool as Google discontinued it. While some find Google Analytics 4 (GA4) can do what they need, many GA4 users are starting to realise GA4 doesn’t meet all the needs UA once fulfilled. Consequently, they are actively seeking another web analytics tool to complement GA4 and address those unmet requirements effectively.

    In this article, we’ll break down five of the top web analytics tools on the market. You’ll find details about their core capabilities, pricing structures and some noteworthy pros and cons to help you decide which tool is the right fit for you. We’ve also included some key features a good web analytics tool should have to give you a baseline for comparison.

    Whether you’re a marketing manager focused on ROI of campaigns, a web analyst focused on conversions or simply interested in learning more about web analytics, there’s something for you on this list.

    What is a web analytics tool ?

    Web analytics tools collect and analyse information about your website’s visitors, their behaviour and the technical performance of your site. A web analytics tool compiles, measures and analyses website data to give you the information you need to improve site performance, boost conversions and increase your ROI.

    What makes a web analytics tool good ?

    Before we get into tool specifics, let’s go over some of the core features you can expect from a web analytics tool.

    For a web analytics tool to be worth your time (and money), it needs to cover the basics. For example :

    • Visitor reports : The number of visitors, whether they were unique or repeat visitors, the source of traffic (where they found your website), device information (if they’re using a desktop or mobile device) and demographic information like geographic location
    • Behaviour reports : What your visitors did while on your site, conversion rates (e.g., if they signed up for or purchased something), the pages they entered and exited from, average session duration, total time spent on a page and bounce rates (if they left without interacting with anything)
    • Technical information : Page loading speed and event tracking — where users are clicking, what they’re downloading or sharing from your site, if they’re engaging with the media on it and how far down the page they’re scrolling
    • Marketing campaign information : Breakdowns of ad campaigns by provider, showing if ads resulted in traffic to your site and lead to an eventual sale or conversion
    • Search Engine Optimisation (SEO) information : Which keywords on which pages are driving traffic to your site, and what search engines are they coming from
    • Real-time data tracking : Visitor, behaviour and technical information available in real-time, or close to it — allowing you to address to issues as they occur
    • Data visualisation : Charts and graphs illustrating the above information in an easily-readable format — helping identify opportunities and providing valuable insights you can leverage to improve site performance, conversion rates and the amount of time visitors spend on a page
    • Custom reporting : Create custom reports detailing the desired metrics and time frame you’re interested in
    • Security : User access controls and management tools to limit who can see and interact with user data
    • Resources : Official user guides, technical documentation, troubleshooting materials, customer support and community forums
    Google Analytics 4 dashboard

    Pros and Cons of Google Analytics 4

    Despite many users’ dissatisfaction, GA4 isn’t going away anytime soon. It’s still a powerful tool with all the standard features you’d expect. It’s the most popular choice for web analytics for a few other reasons, too, including :

    • It’s free to use
    • It’s easy to set up
    • It has a convenient mobile app
    • It has a wealth of user documentation and technical resources online
    • Its machine-learning capabilities help predict user behaviour and offer insights on how to grow your site
    • It integrates easily with other Google tools, like Google Search Console, Google Ads and Google Cloud

    That said, it comes with some serious drawbacks. Many users accustomed to UA have reported being unhappy with the differences between it and GA4. Their reasons range from changes to the user interface and bounce rate calculations, as well as Google’s switch from pageview-focused metrics to event-based ones. 

    Let’s take a look at some of the other cons :

    Now that you know GA4’s strengths and weaknesses, it’s time to explore other tools that can help fill in GA4’s gaps.

    Top 5 web analytics tools (that aren’t Google)

    Below is a list of popular web analytics tools that, unless otherwise stated, have all the features a good tool should have.

    Adobe Analytics

    Screenshot of the landing page for Adobe's web analytics tool

    Adobe is a trusted name in software, with tools that have shaped the technological landscape for decades, like Photoshop and Illustrator. With web design and UX tools Dreamweaver and XD, it makes sense that they’d offer a web analytics platform as well.

    Adobe Analytics provides not just web analytics but marketing analytics that tell you about customer acquisition and retention, ROI and ad campaign performance metrics. Its machine learning (ML) and AI-powered analytics predict future customer behaviour based on previously collected data.

    Key features : 

    • Multichannel data collection that covers computers, mobile devices and IoT devices
    • Adobe Sensei (AI/ML) for marketing attribution and anomaly detection
    • Tag management through Adobe Experience Platform Launch simplifies the tag creation and maintenance process to help you track how users interact with your site

    Pros :

    • User-friendly and simple to learn with a drag-and-drop interface
    • When integrated with other Adobe software, it becomes a powerful solution for enterprises
    • Saves your team a lot of time with the recommendations and insights automatically generated by Adobe’s AI/ML

    Cons :

    • No free version
    • Adobe Sensei and tag manager limited to premium version
    • Expensive, especially when combined with the company’s other software
    • Steep learning curve for both setup and use

    Mobile app : Yes

    Integrations : Integrates with Adobe Experience Manager Sites, the company’s CMS. Adobe Target, a CRO tool and part of the Adobe Marketing Cloud subscription, integrates with Analytics.

    Pricing : Available upon request

    Matomo

    Screenshot of Matomo Web Analytics Dashboard

    Matomo is the leading open-source web analytics solution designed to help you make more informed decisions and enhance your customer experience while ensuring GDPR compliance and user privacy. With Matomo Cloud, your data is stored in Europe, while Matomo On-Premise allows you to host your data on your own servers.

    Matomo is used on over 1 million websites, in over 190 countries, and in over 50 languages. Additionally, Matomo is an all-in-one solution, with traditional web analytics (visits, acquisition, etc.) alongside behavioural analytics (heatmaps, session recordings and more), plus a tag manager. No more inefficiently jumping back and forth between tabs in a huge tech stack. It’s all in Matomo, for one consistent, seamless and efficient experience. 

    Key features : 

    • Heatmaps and session recording to display what users are clicking on and how individual users interacted with your site 
    • A/B testing to compare different versions of the same content and see which gets better results
    • Robust API that lets you get insights by connecting your data to other platforms, like data visualisation or business intelligence tools

    Pros : 

    • Open-source, reviewed by experts to ensure that it’s secure
    • Offers On-Premise or Cloud-hosted options
    • Fully compliant with GDPR, so you can be data-driven without worrying. 
    • Option to run without cookies, meaning in most countries you can use Matomo without annoying cookie consent banners and while getting more accurate data
    • You retain complete ownership of your data, with no third parties using it for advertising or unspecified “own purposes”

    Cons : 

    • On-Premise is free, but that means an additional cost for advanced features (A/B testing, heatmaps, etc.) that are included by default on Matomo Cloud
    • Matomo On-Premise requires servers and technical expertise to setup and manage

    Mobile app : Matomo offers a free mobile app (iOS and Android) so you can access your analytics on the go. 

    Integrations : Matomo integrates easily with many other tools and platforms, including WordPress, Looker Studio, Magento, Jira, Drupal, Joomla and Cloudflare.

    Pricing : 

    • Varies based on monthly hits
    • Matomo On-Premise : free
    • Matomo Cloud : starting at €19/month

    Mixpanel

    Screenshot of Mixpanel's product page

    Mixpanel’s features are heavily geared toward e-commerce companies. From the moment a visitor lands on your website to the moment they enter their payment details and complete a transaction, Mixpanel tracks these events.

    Similar to GA4, Mixpanel is an event-focused analytics platform. While you can still track pageviews with Mixpanel, its main focus is on the specific actions users take that lead them to purchases. Putting your attention on this information allows you to find out which events on your site are going through the sales funnel.

    They’re currently developing a Warehouse Events feature to simplify the process of importing data lakes and data warehouses.

    Key features :

    • Custom alerts and anomaly detection
    • Boards, which allow you to share multiple reports and insights with your team in a range of visual styles 
    • Detailed segmentation reporting that lets you break down your data to the individual user, specific event or geographic level

    Pros :

    • Boards allow for emojis, gifs, images and videos to make collaboration fun
    • Powerful mobile analytics for iOS and Android apps
    • Free promotional credits for eligible startups 

    Cons :

    • Limited features in free plan
    • Best features limited to the Enterprise-tier subscription
    • Complicated set up
    • Steep learning curve

    Mobile app : No

    Integrations : Mixpanel has a load of integrations, including Figma, Google Cloud, Slack, HappyFox, Snowflake, Microsoft Azure, Optimizely, Mailchimp and Tenjin. They also have a WordPress plugin.

    Pricing : 

    • Starter : free plan available
    • Growth : $20/month
    • Enterprise $833/month

    HubSpot Marketing

    Screenshot of Hubspot Marketing's main page

    HubSpot is a customer relationship management (CRM) platform with marketing, sales, customer service, content management system (CMS) and operations tools. This greater ecosystem of HubSpot software allows you to practically run your entire business in one place.

    Even though HubSpot Marketing isn’t a dedicated web analytics tool, it provides comparable standard metrics as the other tools on this list, albeit without the more advanced analytical metrics they offer. If you’re already using HubSpot to host your website, it’s definitely worth consideration.

    Key features :

    • Customer Journey Analytics presents the steps your customers went through in the sales process, step-by-step, in a visual way
    • Dashboards for your reports, including both fully customisable options for power users and pre-made templates for new users

    Pros :

    • Integration with other HubSpot tools, like HubSpot CRM’s free live chat widget 
    • User-friendly interface with many features being drag-and-drop, like the report dashboard
    • 24/7 customer support

    Cons :

    • Can get expensive with upgrades and other HubSpot tool add ons
    • Not a dedicated web analytics tool, so it’s missing some of the features other tools have, like heatmaps
    • Not really worth it as a standalone tool
    • Some users report customer support is unhelpful

    Mobile app : Yes

    Integrations : The larger HubSpot CRM platform can connect with nearly 1,500 other apps through the HubSpot App Marketplace. These include Slack, Microsoft Teams, Salesforce, Make, WordPress, SurveyMonkey, Shopify, monday.com, Stripe, WooCommerce and hundreds of others.

    Pricing : 

    • Starter : $20/month ($18/month with annual plan) 
    • Professional : $890/month ($800/month with annual plan) 
    • Enterprise : $3,600/month ($43,200 billed annually)

    Kissmetrics

    Screenshot of the landing page of web analytics tool Kissmetrics

    Kissmetrics is a web analytics tool that is marketed toward SaaS and ecommerce companies. They label themselves as “person-based” because they combine event-based tracking with detailed user profiles of the visitors to your site, which allows you to gain insights into customer behaviour. 

    With user profiles, you can drill down to see how many times someone has visited your site, if they’ve purchased from you and the steps they took before completing a sale. This allows you to cater more to these users and drive growth.

    Key features : 

    • Person Profiles that give granular information about individual users and their activities on your site
    • Campaigns, an engagement messenger application, allows you to set up email automations that are triggered by specific events
    • Detailed reporting tools 

    Pros : 

    • No third-party cookies
    • No data sampling
    • APIs for Ruby on Rails, JavaScript, Python and PHP

    Cons : 

    • Difficult installation
    • Strongest reporting features only available in the most expensive plan
    • Reports can be slow to generate
    • Requires custom JavaScript code to tack single-page applications
    • Doesn’t track demographic data, bounce rate, exits, session length or time on page

    Mobile app : No

    Integrations : Kissmetrics integrates with HubSpot, Appcues, Slack, Mailchimp, Shopify, WooCommerce, Recurly and a dozen others. There is also a Kissmetrics WordPress plugin.

    Pricing : 

    • Silver : $299/month (small businesses)
    • Gold : $499/month (medium) 
    • Platinum : custom pricing (enterprises)

    Conclusion

    In this article, you learned about popular tools for web analytics to better inform you of your options. Despite all of GA4’s shortcomings, by complementing it with another web analytics tool, teams can gain a more comprehensive understanding of their website traffic and enhance their overall analytics capabilities.

    If you want an option that delivers powerful insights while keeping privacy, security and compliance at the forefront, you should try Matomo. 

    Try Matomo alongside Google Analytics now to see how it compares.

    Start your 21-day free trial now – no credit card required.