Recherche avancée

Médias (1)

Mot : - Tags -/portrait

Autres articles (61)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Les images

    15 mai 2013
  • Taille des images et des logos définissables

    9 février 2011, par

    Dans beaucoup d’endroits du site, logos et images sont redimensionnées pour correspondre aux emplacements définis par les thèmes. L’ensemble des ces tailles pouvant changer d’un thème à un autre peuvent être définies directement dans le thème et éviter ainsi à l’utilisateur de devoir les configurer manuellement après avoir changé l’apparence de son site.
    Ces tailles d’images sont également disponibles dans la configuration spécifique de MediaSPIP Core. La taille maximale du logo du site en pixels, on permet (...)

Sur d’autres sites (11819)

  • 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.

  • Can not add tmcd stream using libavcodec to replicate behavior of ffmpeg -timecode option

    2 août, par Sailor Jerry

    I'm trying to replicate option of command line ffmpeg -timecode in my C/C++ code. For some reasons the tcmd stream is not written to the output file. However the av_dump_format shows it in run time

    


    Here is my minimal test

    


    #include <iostream>&#xA;extern "C" {&#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA;#include <libavformat></libavformat>avformat.h>&#xA;#include <libavutil></libavutil>avutil.h>&#xA;#include <libswscale></libswscale>swscale.h>&#xA;#include <libavutil></libavutil>opt.h>&#xA;#include <libavutil></libavutil>imgutils.h>&#xA;#include <libavutil></libavutil>samplefmt.h>&#xA;}&#xA;bool checkProResAvailability() {&#xA;  const AVCodec* codec = avcodec_find_encoder_by_name("prores_ks");&#xA;  if (!codec) {&#xA;    std::cerr &lt;&lt; "ProRes codec not available. Please install FFmpeg with ProRes support." &lt;&lt; std::endl;&#xA;    return false;&#xA;  }&#xA;  return true;&#xA;}&#xA;&#xA;int main(){&#xA;  av_log_set_level(AV_LOG_INFO);&#xA;&#xA;  const char* outputFileName = "test_tmcd.mov";&#xA;  AVFormatContext* formatContext = nullptr;&#xA;  AVCodecContext* videoCodecContext = nullptr;&#xA;&#xA;  if (!checkProResAvailability()) {&#xA;    return -1;&#xA;  }&#xA;&#xA;  std::cout &lt;&lt; "Creating test file with tmcd stream: " &lt;&lt; outputFileName &lt;&lt; std::endl;&#xA;&#xA;  // Allocate the output format context&#xA;  if (avformat_alloc_output_context2(&amp;formatContext, nullptr, "mov", outputFileName) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to allocate output context!" &lt;&lt; std::endl;&#xA;    return -1;&#xA;  }&#xA;&#xA;  if (avio_open(&amp;formatContext->pb, outputFileName, AVIO_FLAG_WRITE) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to open output file!" &lt;&lt; std::endl;&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  // Find ProRes encoder&#xA;  const AVCodec* videoCodec = avcodec_find_encoder_by_name("prores_ks");&#xA;  if (!videoCodec) {&#xA;    std::cerr &lt;&lt; "Failed to find the ProRes encoder!" &lt;&lt; std::endl;&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  // Video stream setup&#xA;  AVStream* videoStream = avformat_new_stream(formatContext, nullptr);&#xA;  if (!videoStream) {&#xA;    std::cerr &lt;&lt; "Failed to create video stream!" &lt;&lt; std::endl;&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  videoCodecContext = avcodec_alloc_context3(videoCodec);&#xA;  if (!videoCodecContext) {&#xA;    std::cerr &lt;&lt; "Failed to allocate video codec context!" &lt;&lt; std::endl;&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  videoCodecContext->width = 1920;&#xA;  videoCodecContext->height = 1080;&#xA;  videoCodecContext->pix_fmt = AV_PIX_FMT_YUV422P10;&#xA;  videoCodecContext->time_base = (AVRational){1, 30}; // Set FPS: 30&#xA;  videoCodecContext->bit_rate = 2000000;&#xA;&#xA;  if (avcodec_open2(videoCodecContext, videoCodec, nullptr) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to open ProRes codec!" &lt;&lt; std::endl;&#xA;    avcodec_free_context(&amp;videoCodecContext);&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  if (avcodec_parameters_from_context(videoStream->codecpar, videoCodecContext) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to copy codec parameters to video stream!" &lt;&lt; std::endl;&#xA;    avcodec_free_context(&amp;videoCodecContext);&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  videoStream->time_base = videoCodecContext->time_base;&#xA;&#xA;  // Timecode stream setup&#xA;  AVStream* timecodeStream = avformat_new_stream(formatContext, nullptr);&#xA;  if (!timecodeStream) {&#xA;    std::cerr &lt;&lt; "Failed to create timecode stream!" &lt;&lt; std::endl;&#xA;    avcodec_free_context(&amp;videoCodecContext);&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  timecodeStream->codecpar->codec_type = AVMEDIA_TYPE_DATA;&#xA;  timecodeStream->codecpar->codec_id = AV_CODEC_ID_TIMED_ID3;&#xA;  timecodeStream->codecpar->codec_tag = MKTAG(&#x27;t&#x27;, &#x27;m&#x27;, &#x27;c&#x27;, &#x27;d&#x27;); // Timecode tag&#xA;  timecodeStream->time_base = (AVRational){1, 30}; // FPS: 30&#xA;&#xA;  if (av_dict_set(&amp;timecodeStream->metadata, "timecode", "00:00:30:00", 0) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to set timecode metadata!" &lt;&lt; std::endl;&#xA;    avcodec_free_context(&amp;videoCodecContext);&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  // Write container header&#xA;  if (avformat_write_header(formatContext, nullptr) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to write file header!" &lt;&lt; std::endl;&#xA;    avcodec_free_context(&amp;videoCodecContext);&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  // Encode a dummy video frame&#xA;  AVFrame* frame = av_frame_alloc();&#xA;  if (!frame) {&#xA;    std::cerr &lt;&lt; "Failed to allocate video frame!" &lt;&lt; std::endl;&#xA;    avcodec_free_context(&amp;videoCodecContext);&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  frame->format = videoCodecContext->pix_fmt;&#xA;  frame->width = videoCodecContext->width;&#xA;  frame->height = videoCodecContext->height;&#xA;&#xA;  if (av_image_alloc(frame->data, frame->linesize, frame->width, frame->height, videoCodecContext->pix_fmt, 32) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to allocate frame buffer!" &lt;&lt; std::endl;&#xA;    av_frame_free(&amp;frame);&#xA;    avcodec_free_context(&amp;videoCodecContext);&#xA;    avio_close(formatContext->pb);&#xA;    avformat_free_context(formatContext);&#xA;    return -1;&#xA;  }&#xA;&#xA;  // Fill frame with black&#xA;  memset(frame->data[0], 0, frame->linesize[0] * frame->height); // Y plane&#xA;  memset(frame->data[1], 128, frame->linesize[1] * frame->height / 2); // U plane&#xA;  memset(frame->data[2], 128, frame->linesize[2] * frame->height / 2); // V plane&#xA;&#xA;  // Encode the frame&#xA;  AVPacket packet;&#xA;  av_init_packet(&amp;packet);&#xA;  packet.data = nullptr;&#xA;  packet.size = 0;&#xA;&#xA;  if (avcodec_send_frame(videoCodecContext, frame) == 0) {&#xA;    if (avcodec_receive_packet(videoCodecContext, &amp;packet) == 0) {&#xA;      packet.stream_index = videoStream->index;&#xA;      av_interleaved_write_frame(formatContext, &amp;packet);&#xA;      av_packet_unref(&amp;packet);&#xA;    }&#xA;  }&#xA;&#xA;  av_frame_free(&amp;frame);&#xA;&#xA;  // Write a dummy packet for the timecode stream&#xA;  AVPacket tmcdPacket;&#xA;  av_init_packet(&amp;tmcdPacket);&#xA;  tmcdPacket.stream_index = timecodeStream->index;&#xA;  tmcdPacket.flags |= AV_PKT_FLAG_KEY;&#xA;  tmcdPacket.data = nullptr; // Empty packet for timecode&#xA;  tmcdPacket.size = 0;&#xA;  tmcdPacket.pts = 0; // Set necessary PTS&#xA;  tmcdPacket.dts = 0;&#xA;  av_interleaved_write_frame(formatContext, &amp;tmcdPacket);&#xA;&#xA;  // Write trailer&#xA;  if (av_write_trailer(formatContext) &lt; 0) {&#xA;    std::cerr &lt;&lt; "Failed to write file trailer!" &lt;&lt; std::endl;&#xA;  }&#xA;&#xA;  av_dump_format(formatContext, 0, "test.mov", 1);&#xA;&#xA;  // Cleanup&#xA;  avcodec_free_context(&amp;videoCodecContext);&#xA;  avio_close(formatContext->pb);&#xA;  avformat_free_context(formatContext);&#xA;&#xA;  std::cout &lt;&lt; "Test file with timecode created successfully: " &lt;&lt; outputFileName &lt;&lt; std::endl;&#xA;&#xA;  return 0;&#xA;}&#xA;</iostream>

    &#xA;

    The code output is :

    &#xA;

    Creating test file with tmcd stream: test_tmcd.mov&#xA;[prores_ks @ 0x11ce05790] Autoselected HQ profile to keep best quality. It can be overridden through -profile option.&#xA;[mov @ 0x11ce04f20] 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&#xA;[mov @ 0x11ce04f20] Encoder did not produce proper pts, making some up.&#xA;Output #0, mov, to &#x27;test.mov&#x27;:&#xA;  Metadata:&#xA;    encoder         : Lavf61.7.100&#xA;  Stream #0:0: Video: prores (HQ) (apch / 0x68637061), yuv422p10le, 1920x1080, q=2-31, 2000 kb/s, 15360 tbn&#xA;  Stream #0:1: Data: timed_id3 (tmcd / 0x64636D74)&#xA;      Metadata:&#xA;        timecode        : 00:00:30:00&#xA;Test file with timecode created successfully: test_tmcd.mov&#xA;

    &#xA;

    The ffprobe output is :

    &#xA;

    $ ffprobe  test_tmcd.mov&#xA;ffprobe version 7.1.1 Copyright (c) 2007-2025 the FFmpeg developers&#xA;  built with Apple clang version 16.0.0 (clang-1600.0.26.6)&#xA;  configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1.1_3 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags=&#x27;-Wl,-ld_classic&#x27; --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon&#xA;  libavutil      59. 39.100 / 59. 39.100&#xA;  libavcodec     61. 19.101 / 61. 19.101&#xA;  libavformat    61.  7.100 / 61.  7.100&#xA;  libavdevice    61.  3.100 / 61.  3.100&#xA;  libavfilter    10.  4.100 / 10.  4.100&#xA;  libswscale      8.  3.100 /  8.  3.100&#xA;  libswresample   5.  3.100 /  5.  3.100&#xA;  libpostproc    58.  3.100 / 58.  3.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;test_tmcd.mov&#x27;:&#xA;  Metadata:&#xA;    major_brand     : qt  &#xA;    minor_version   : 512&#xA;    compatible_brands: qt  &#xA;    encoder         : Lavf61.7.100&#xA;  Duration: N/A, start: 0.000000, bitrate: N/A&#xA;  Stream #0:0[0x1]: Video: prores (HQ) (apch / 0x68637061), yuv422p10le, 1920x1080, 15360 tbn (default)&#xA;      Metadata:&#xA;        handler_name    : VideoHandler&#xA;        vendor_id       : FFMP&#xA;$ &#xA;&#xA;

    &#xA;

    Spent hours with all AI models, no help. Appeal to the human intelligence now

    &#xA;

  • Choosing the best self-hosted open-source analytics platform

    16 juillet, par Joe

    Google Analytics (GA) is the most widely used analytics platform, with 50.3% of the top 1 million active websites using it today. You’re probably using it right now. 

    But despite being a free tool, Google Analytics is proprietary software, which means you’re handing over your browsing data, metadata and search history to a third party.

    Do you trust them ? We sure don’t.

    This lack of control can lead to potential privacy risks and compliance issues. These issues have so far resulted in fines under the EU’s General Data Protection Regulation (GDPR) of an average of €2.5 million each, for a total of almost €6.6 billion since 2018.

    Open-source analytics platforms offer a solution. They’re a safer and more transparent alternative that lets you retain full control over how you collect and store your customers’ data. But what are these tools ? Where do you find them ? And, most importantly, how do you choose the best one for your needs ?

    This guide explores the benefits and features of open-source analytics platforms and compares popular options, including Matomo, a leading self-hosted, open-source Google Analytics alternative.

    What is an open-source analytics platform ?

    An analytics platform is software that collects, processes and analyses data to gain insights, identify trends, and make informed decisions. It helps users understand past performance, monitor current activities and predict future outcomes.

    An open-source analytics platform is a type of analytics suite in which anyone can view, modify and distribute the underlying source code.

    In contrast to proprietary analytics platforms, where a single entity owns and controls the code, open-source analytics platforms adhere to the principles of free and open-source software (FOSS). This allows everyone to use, study, share, and customise the software to meet their needs, fostering collaboration and transparency.

    Open-source analytics and the Free Software Foundation

    The concept of FOSS is rooted in the idea of software freedom. According to the Free Software Foundation (FSF), this idea is defined by four fundamental freedoms granted to the user the freedom to :

    • Use or run the program as they wish, for any purpose.
    • Study how the program works and change it as they wish.
    • Redistribute copies to help others.
    • Improve the code and distribute copies of their improved versions to others.

    Open access to the source code is a precondition for guaranteeing these freedoms.

    The importance of FOSS licensing

    The FSF has been instrumental in the free software movement, which serves as the foundation for open-source analytics platforms. Among other things, it created the GNU General Public Licence (GPL), which guarantees that all software distributions include the source code and are distributed under the same licence.

    However, other licences, including several copyleft and permissive licences, have been developed to address certain legal issues and loopholes in the GPL. Analytics platforms distributed under any of these licences are considered open-source since they are FSF-compliant.

    Benefits and drawbacks of open-source analytics platforms

    Open-source analytics platforms offer a compelling alternative to their proprietary counterparts, but they also have a few challenges.

    Pros and Cons of Open-Source Analytics Platforms

    Benefits of open-source analytics

    • Full data ownership : Many open-source solutions let you host the analytics platform yourself. This gives you complete control over your customers’ data, ensuring privacy and security.
    • Customisable solution : With access to the source code, you can tailor the platform to your specific needs.
    • Full transparency : You can inspect the code to see exactly how data is collected, processed and stored, helping you ensure compliance with privacy regulations.
    • Community-driven development : Open-source projects benefit from the contributions of a global community of developers. This leads to faster innovation, quicker bug fixes and, in some cases, a wider range of features.
    • No predefined limits : Self-hosted open-source analytics platforms don’t impose arbitrary limits on data storage or processing. You’re only limited by your own server resources.

    Cons of open-source analytics

    • Technical expertise required : Setting up and maintaining a self-hosted open-source platform often requires technical knowledge.
    • No live/dedicated support team : While many projects have active communities, dedicated support might be limited compared to commercial offerings.
    • Integration challenges : Integrating with other tools in your stack might require custom development, especially if pre-built integrations aren’t available.
    • Feature gaps : Depending on the specific platform, there might be gaps in functionality compared to mature proprietary solutions.

    Why open-source is better than proprietary analytics

    Proprietary analytics platforms, like Google Analytics, have long been the go-to choice for many businesses. However, growing concerns around data privacy, vendor lock-in and limited customisation are driving a shift towards open-source alternatives.

    No vendor lock-in

    Proprietary platforms lock you into their ecosystem, controlling terms, pricing and future development. Migrating data can be costly, and you’re dependent on the vendor for updates. 

    Open-source platforms allow users to switch providers, modify software and contribute to development. Contributors can also create dedicated migration tools to import data from GA and other proprietary platforms.

    Data privacy concerns

    Proprietary analytics platforms can heighten the risk of data privacy violations and subsequent fines under regulations like the GDPR and the California Consumer Privacy Act (CCPA). This is because their opaque ‘black box’ design often obscures how they collect, process and use data. 

    Businesses often have limited visibility and even less control over a vendor’s data handling. They don’t know whether these vendors are using it for their own benefit or sharing it more widely, which can lead to privacy breaches and other data protection violations.

    These fines can reach into the millions and even billions. For example, Zoom was fined $85 million in 2021 for CCPA violations, while the largest fine in history has been the €1.2 billion fine imposed on Meta by the Irish Data Protection Act (DPA) under the EU GDPR.

    Customisation

    Proprietary platforms often offer a one-size-fits-all approach. While they might have some customisation options, you’re ultimately limited by what the vendor provides. Open-source platforms, on the other hand, offer unparalleled flexibility.

    Unlimited data processing

    Proprietary analytics platforms often restrict the amount of data you can collect and process, especially on free plans. Going over these limits usually requires upgrading to a paid plan, which can be a problem for high-traffic websites or businesses with large datasets. 

    Self-hosted tools only limit data processing based on your server resources, allowing you to collect and analyse as much data as you need at no extra cost.

    No black box effect

    Since proprietary tools are closed-source, they often lack transparency in their data processing methods. It’s difficult to understand and validate how their algorithms work or how they calculate specific metrics. This “black box” effect can lead to trust issues and make it challenging to validate your data’s accuracy.

    11 Key features to look for in an open-source analytics platform

    Choosing the right open-source analytics platform is crucial for unlocking actionable insights from your customers’ data. Here are 11 key features to consider :

    Graphic showing nine key features of open-source analytics platforms

    #1. Extensive support documentation and resource libraries

    Even with technical expertise, you might encounter challenges or have questions about the platform. A strong support system is essential. Look for platforms with comprehensive documentation, active community forums and the option for professional support for mission-critical deployments.

    #2. Live analytics

    Having access to live data and reports is crucial for making timely and informed decisions. A live analytics feature allows you to :

    • Monitor website traffic as it happens.
    • Optimise campaign performance tracking.
    • Identify and respond to issues like traffic spikes, drops or errors quickly, allowing for rapid troubleshooting.

    For example, Matomo updates tracking data every 10 seconds, which is more than enough to give you a live view of your website performance.

    #3. Personal data tracking

    Understanding user behaviour is at the heart of effective analytics. Look for a platform that allows you to track personal data while respecting privacy. This might include features like :

    • Creating detailed profiles of individual users and tracking their interactions across multiple sessions.
    • Track user-specific attributes like demographics, interests or purchase history.
    • Track user ID across different devices and platforms to understand user experience.

    #4. Conversion tracking

    Ultimately, you want to measure how effective your website is in achieving your business goals. Conversion tracking allows you to :

    • Define and track key performance indicators (KPIs) like purchases, sign-ups or downloads.
    • Identify bottlenecks in the user journey that prevent conversions.
    • Measure the ROI of your marketing campaigns.

    #5. Session recordings

    Session recordings give your development team a qualitative understanding of user behaviour by letting you watch replays of individual user sessions. This can help you :

    • Identify usability issues.
    • Understand how users navigate your site and interact with different elements.
    • Uncover bugs or errors.

    #6. A/B testing

    Experimentation is key to optimising your website and improving conversion rates. Look for an integrated A/B testing feature that allows you to :

    • Test different variations of your website in terms of headlines, images, calls to action or page layouts.
    • Measure the impact on key metrics.
    • Implement changes based on statistically significant differences in user behaviour patterns, rather than guesswork.

    #7. Custom reporting and dashboards

    Every business has unique reporting needs. Look for a flexible platform that allows you to :

    • Build custom reports that focus on the metrics that matter most to you.
    • Create personalised dashboards that provide a quick overview of those KPIs.
    • Automate report generation to save your team valuable time.

    #8. No data sampling

    Data sampling can save time and processing power, but it can also lead to inaccurate insights if the sample isn’t representative of the entire dataset. The solution is to avoid data sampling entirely.

    Processing 100% of your customers’ data ensures that your reports are accurate and unbiased, providing a true picture of customer behaviour.

    #9. Google Analytics migration tools

    If you’re migrating from Google Analytics, a data export/import tool can save you time and effort. Some open-source analytics projects offer dedicated data importers to transfer historical data from GA into the new platform, preserving valuable insights. These tools help maintain data continuity and simplify the transition, reducing the manual effort involved in setting up a new analytics platform.

    #10 A broad customer base

    The breadth and diversity of an analytics platform’s customer base can be a strong indicator of its trustworthiness and capabilities. Consider the following :

    • Verticals served
    • The size of the companies that use it
    • Whether it’s trusted in highly-regulated industries

    If a platform is trusted by a large entity with stringent security and privacy requirements, such as governments or military branches, it speaks volumes about its security and data protection capabilities.

    #11 Self-hosting

    Self-hosting offers unparalleled control over your customers’ data and infrastructure.

    Unlike cloud-based solutions, where your customers’ data resides on third-party servers, self-hosting means you manage your own servers and databases. This approach ensures that your customers’ data remains within your own infrastructure, enhancing privacy and security.

    There are other features, like analytics for mobile apps, but these 11 will help shortlist your options to find the ideal tool.

    Choosing your self-hosted open-source analytics platform : A step-by-step guide

    The right self-hosted open-source analytics platform can significantly impact your data strategy. Follow these steps to make the best choice :

    Roadmap showing six steps to choosing an open-source analytics platform.

    Step #1. Define your needs and objectives

    Begin by clearly outlining what you want to achieve with your analytics platform :

    • Identify relevant KPIs.
    • Determine what type of reports to generate, their frequency and distribution.
    • Consider your privacy and compliance needs, like GDPR and CCPA.

    Step #2. Define your budget

    While self-hosted open-source platforms are usually free to use, there are still costs associated with self-hosting, including :

    • Server hardware and infrastructure.
    • Ongoing maintenance, updates and potential support fees.
    • Development resources if you plan to customise the platform.

    Step #3. Consider scalability and performance

    Scaling your analytics can be an issue with self-hosted platforms since it means scaling your server infrastructure as well. Before choosing a platform, you must think about :

    • Current traffic volume and projected growth.
    • Your current capacity to handle traffic.
    • The platform’s scalability options.

    Step #4. Research and evaluate potential solutions

    Shortlist a few different open-source analytics platforms that align with your requirements. In addition to the features outlined above, also consider factors like :

    • Ease of use.
    • Community and support.
    • Comprehensive documentation.
    • The platform’s security track record.

    Step #5. Sign up for a free trial and conduct thorough testing

    Many platforms offer free trials or demos. Take advantage of these opportunities to test the platform’s features, evaluate the user interface and more.

    You can embed multiple independent tracking codes on your website, which means you can test multiple analytics platforms simultaneously. Doing so helps you compare and validate results based on the same data, making comparisons more objective and reliable.

    Step #6. Plan for implementation and ongoing management

    After choosing a platform, follow the documentation to install and configure the software. Plan how you’ll migrate existing data if you’re switching from another platform.

    Ensure your team is trained on the platform, and establish a plan for updates, security patches and backups. Then, you’ll be ready to migrate to the new platform while minimising downtime.

    Top self-hosted open-source analytics tools

    Let’s examine three prominent self-hosted open-source analytics tools.

    Matomo

    Main FeaturesAnalytics updated every 10 seconds, custom reports, dashboards, user segmentation, goal tracking, e-commerce tracking, funnels, heatmaps, session recordings, A/B testing, SEO tools and more advanced features.
    Best forBusinesses of all sizes and from all verticals. Advanced users
    LicencingGPLv3 (core platform).Various commercial licences for plugins.
    PricingSelf-hosted : Free (excluding paid plugins).Cloud version : Starts at $21.67/mo for 50K website hits when paid annually.
    Matomo analytics dashboard

    Matomo Analytics dashboard

    Matomo is a powerful web analytics platform that prioritises data privacy and user control. It offers a comprehensive suite of features, including live analytics updated every 10 seconds, custom reporting, e-commerce tracking and more. You can choose between a full-featured open-source, self-hosted platform free of charge or a cloud-based, fully managed paid analytics service.

    Matomo also offers 100% data ownership and has a user base of over 1 million websites, including heavyweights like NASA, the European Commission, ahrefs and the United Nations.

    Plausible Analytics

    Main FeaturesBasic website analytics (page views, visitors, referrers, etc.), custom events, goal tracking and some campaign tracking features.
    Best forWebsite owners, bloggers and small businesses.Non-technical users.
    LicencingAGPLv3.
    PricingSelf-hosted : FreeCloud version : Starts at $7.50/mo for 10K website hits when paid annually.
    Plausible analytics dashboard

    Plausible Analytics 
    (Image source)

    Plausible Analytics is a lightweight, privacy-focused analytics tool designed to be simple and easy to use. It provides essential website traffic data without complex configurations or intrusive tracking.

    Fathom Lite & Fathom Analytics

    Main featuresBasic website analytics (page views, visitors, referrers, etc.), custom events and goal tracking.
    Best forWebsite owners and small businesses.Non-technical users.
    LicencingFathom Lite : MIT Licence (self-hosted).Fathom Analytics : Proprietary.
    PricingFathom Lite : Free but currently unsupported.Cloud version : Starts at $12.50/month for up to 50 sites when paid annually.
    Fathom analytics dashboard

    Fathom Analytics 
    (Image source)

    Fathom started as an open-source platform in 2018. But after the founders released V1.0.1, they switched to a closed-source, paid, proprietary model called Fathom Analytics. Since then, it has always been closed-source.

    However, the open-source version, Fathom Lite, is still available. It has very limited functionality, uses cookies and is currently unsupported by the company. No new features are under development and uptime isn’t guaranteed.

    Matomo vs. Plausible vs. Fathom

    Matomo, Plausible, and Fathom are all open-source, privacy-focused alternatives to Google Analytics. They offer features like no data sampling, data ownership, and EU-based cloud hosting.

    Here’s a head-to-head comparison of the three :

    MatomoPlausibleFathom
    FocusComprehensive, feature-rich, customizableSimple, lightweight, beginner-friendlySimple, lightweight, privacy-focused
    Target UserBusinesses, marketers and analysts seeking depthBeginners, bloggers, and small businessesWebsite owners and users prioritising simplicity
    Open SourceFully open-sourceFully open-sourceLimited open-source version
    Advanced analyticsExtensiveVery limitedVery limited
    Integrations100+LimitedFewer than 15
    CustomisationHighLowLow
    Data managementGranular control, raw data access, complex queriesSimplified, no raw data accessSimplified, no raw data access
    GDPR featuresCompliant by design, plus GDPR ManagerGuides onlyCompliant by design
    PricingGenerally higherGenerally lowerIntermediate
    Learning curveSteeperGentleGentle

    The open-core dilemma

    Open-source platforms are beneficial and trustworthy, leading some companies to falsely market themselves as such.

    Some were once open-source but later became commercial, criticised as “bait-and-switch.” Others offer a limited open-source “core” with proprietary features, called the “open core” model. While this dual licensing can be ethical and sustainable, some abuse it by offering a low-value open-source version and hiding valuable features behind a paywall.

    However, other companies have embraced the dual-licensing model in a more ethical way, providing a valuable solution with a wide range of tools under the open-source license and only leaving premium, non-essential add-ons as paid features.

    Matomo is a prime example of this practice, championing the principles of open-source analytics while developing a sustainable business model for its users’ benefit.

    Choose Matomo as your open-source data analytics tool

    Open-source analytics platforms offer compelling advantages over proprietary solutions like Google Analytics. They provide greater transparency, data ownership and customisation. Choosing an open-source analytics platform over a proprietary one gives you more control over your customers’ data and supports compliance with user privacy regulations.

    With its comprehensive features, powerful tools, commitment to privacy and active community, Matomo stands out as a leading choice. Make the switch to Matomo for ethical, user-focused analytics.

    Try Matomo for free.