Recherche avancée

Médias (91)

Sur d’autres sites (2237)

  • Marketing Touchpoints : Examples, KPIs, and Best Practices

    11 mars 2024, par Erin

    The customer journey is rarely straightforward. Rather, each stage comprises numerous points of contact with your brand, known as marketing touchpoints. And each touchpoint is equally important to the customer experience. 

    This article will explore marketing touchpoints in detail, including how to analyse them with attribution models and which KPIs to track. It will also share tips on incorporating these touchpoints into your marketing strategy. 

    What are marketing touchpoints ? 

    Marketing touchpoints are the interactions that take place between brands and customers throughout the latter’s journey, either online or in person. 

    Omni-channel digital marketing illustration

    By understanding how customers interact with your brand before, during and after a purchase, you can identify the channels that contribute to starting, driving and closing buyer journeys. Not only that, but you’ll also learn how to optimise the customer experience. This can also help you : 

    • Promote customer loyalty through increased customer satisfaction
    • Improve your brand reputation and foster a more positive perception of your brand, supported by social proof 
    • Build brand awareness among prospective customers 
    • Reconnect with current customers to drive repeat business

    According to a 2023 survey, social media and video-sharing platforms are the leading digital touchpoints among US consumers.

    With the customer journey divided into three stages — awareness, consideration, and decision — we can group these interactions into three touchpoint segments, depending on whether they occur before, during or after a purchase. 

    Touchpoints before a purchase

    Touchpoints before a purchase are those initial interactions between potential customers and brands that occur during the awareness stage — before they’ve made a purchase decision. 

    Here are some key touchpoints at the pre-purchase stage : 

    • Customer reviews, forums, and testimonials 
    • Social media posts
    • Online ads 
    • Company events and product demos
    • Other digital touchpoints, like video content, blog posts, or infographics
    • Peer referral 

    In PwC’s 2024 Global Consumer Insights Pulse Survey, 54% of consumers listed search engines as their primary source of pre-purchase information, followed by Amazon (35%) and retailer websites (33%). 

    Here are the survey’s findings in Western Europe, specifically : 

    Social channels are another major pre-purchase touchpoint ; 25% of social media users aged 18 to 44 have made a purchase through a social media app over the past three months. 

    Touchpoints during a purchase

    Touchpoints during a purchase occur when the prospective customer has made their purchase decision. It’s the beginning of a (hopefully) lasting relationship with them. 

    It’s important to involve both marketing and sales teams here — and to keep track of conversion metrics

    Here are the main touchpoints at this stage : 

    • Company website pages 
    • Product pages and catalogues 
    • Communication between customers and sales reps 
    • Product packaging and labelling 
    • Point-of-sale (POS) — the final touchpoint the prospective customer will reach before making the final purchasing decision 

    Touchpoints after a purchase

    You can use touchpoints after a purchase to maintain a positive relationship and keep current customers engaged. Examples of touchpoints that contribute to a good post-purchase experience for the customer include the following : 

    • Thank-you emails 
    • Email newsletters 
    • Customer satisfaction surveys 
    • Cross-selling emails 
    • Renewal options 
    • Customer loyalty programs

    Email marketing remains significant across all touchpoint segments, with 44% of CMOs agreeing that it’s essential to their marketing strategy — and it also plays a particularly important role in the post-purchase experience. For 61.1% of marketing teams, email open rates are higher than 20%.

    Sixty-nine percent of consumers say they’ve stopped doing business with a brand following a bad experience, so the importance of customer service touchpoints shouldn’t be overlooked. Live chat, chatbots, self-service resources, and customer service teams are integral to the post-purchase experience.

    Attribution models : Assigning value to marketing touchpoints 

    Determining the most effective touchpoints — those that directly contribute to conversions — is a process known as marketing attribution. The goal here is to identify the specific channels and points of contact with prospective customers that result in revenue for the company.

    Illustration of the marketing funnel stages

    You can use these insights to understand — and maximise — marketing return on investment (ROI). Otherwise, you risk allocating your budget to the wrong channels. 

    It’s possible to group attribution models into two categories — single-touch and multi-touch — depending on whether you assign value to one or more contributing touchpoints.

    Single-touch attribution models, where you’re giving credit for the conversion to a single touchpoint, include the following :

    • First-touch attribution : This assigns credit for the conversion to the first interaction a customer had with a brand ; however, it fails to consider lower-funnel touchpoints.
    • Last-click attribution : This focuses only on bottom-of-funnel marketing and credits the last interaction the customer had with a brand before completing a purchase.
    • Last non-direct : Credits the touchpoint immediately preceding a direct touchpoint with all the credit.

    Multi-touch attribution models are more complex and distribute the credit for conversion across multiple relevant touchpoints throughout the customer journey :

    • Linear attribution : The simplest multi-touch attribution model assigns equal values to all contributing touchpoints.
    • Position-based or U-shaped attribution : This assigns the greatest value to the first and last touchpoint — with 40% of the conversion credit each — and then divides the remaining 20% across all the other touchpoints.
    • Time-decay attribution : This model assigns the most credit to the customer’s most recent interactions with a brand, assuming that the touchpoints that occur later in the journey have a bigger impact on the conversion.

    Consider the following when choosing the most appropriate attribution model for your business :

    • The length of your typical sales cycle
    • Your marketing goals : increasing awareness, lead generation, driving revenue, etc.
    • How many stages and touchpoints make up your sales funnel

    Sometimes, it even makes sense to measure marketing performance using more than one attribution model.

    With the sheer volume of data that’s constantly generated across numerous online touchpoints, from your website to social media channels, it’s practically impossible to collect and analyse it manually.

    You’ll need an advanced web analytics platform to identify key touchpoints and assign value to them.

    Matomo’s Marketing Attribution feature can accurately measure the performance of different touchpoints to ensure that you’re allocating resources to the right channels. This is done in a compliant manner, without the need of data sampling or requiring cookie consent screens (excluding in Germany and the UK), ensuring both accuracy and privacy compliance.

    Try Matomo for Free

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

    No credit card required

    Customer journey KPIs for measuring marketing campaign performance 

    Measuring the impact of different touchpoints on marketing campaign performance can help you understand how customer interactions drive conversions — and how to optimise your future efforts. 

    Illustration of customer journey concept

    Clearly, this is not a one-time effort. You should continuously reevaluate the crucial touchpoints that drive the most engagement at different stages of the customer journey. 

    Web analytics platforms can provide valuable insights into ever-changing consumer behaviours and trends and help you make informed decisions. 

    At the moment, Google is the most popular solution in the web analytics industry, with a combined market share of more than 70%

    However, if privacy, data accuracy, and GDPR compliance are a priority for you, Matomo is an alternative worth considering

    Try Matomo for Free

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

    No credit card required

    KPIs to track before a purchase 

    During the pre-purchase stage, focus on the KPIs that measure the effectiveness of marketing activities across various online touchpoints — landing pages, email campaigns, social channels and ad placement on SERPs, for instance. 

    KPIs to track during the consideration stage include the following : 

    • Cost-per-click (CPC) : The CPC, the total cost of paid online advertising divided by the number of clicks those ads get, indicates whether you’re getting a good ROI. In the UK, the average CPC for search advertising is $1.22. Globally, it averages $0.62.
    • Engagement rate : The engagement rate, which is the total number of interactions divided by the number of followers, is useful for measuring the performance of social media touchpoints. Customer engagement also applies to other channels, like tracking average time on-page, form conversions, bounce rates, and other website interactions. 
    • Click-through rate (CTR) : The CTR — or the number of clicks your ads receive compared to the number of times they’re shown — helps you measure the performance of CTAs, email newsletters and pay-per-click (PPC) advertising.

    KPIs to track during a purchase 

    As a potential customer moves further down the sales funnel and reaches the decision stage, where they’re ready to make the choice to purchase, you should be tracking the following : 

    • Conversion rate : This is the percentage of leads that convert into customers by completing the desired action relative to the total number of website visitors. It shows you whether you’re targeting the right people and providing a frictionless checkout experience.
    • Sales revenue : This refers to the quantity of products sold multiplied by the product’s price. It helps you track the company’s ability to generate profit. 
    • Cost per conversion : This KPI is the total cost of online advertising in relation to the number of conversions. It measures the effectiveness of different marketing channels and the costs of converting prospective customers into buyers. It also forecasts future ad spend.

    KPIs to track after purchase 

    At the post-purchase stage, your priority should be gathering feedback : 

    Customer feedback surveys are great for collecting insights into customers’ post-purchase experience, opinions about your brand, products and services, and needs and expectations. 

    In addition to measuring customer satisfaction, these insights can help you identify points of friction, forecast future growth and revenue and spot customers at risk of churning. 

    Focus on the following customer satisfaction and retention metrics : 

    • Customer Satisfaction Score (CSAT) : This metric, which is gathered through customer satisfaction surveys, helps you gauge satisfaction levels. After all, 77% of consumers consider great customer service an important driver of brand loyalty.
    • Net Promoter Score (NPS) : Based on single-question customer surveys, NPS indicates how likely a customer is to recommend your business.
    • Customer Lifetime Value (CLV) : The CLV is the profit you can expect to generate from one customer throughout their relationship with your company. 
    • Customer Health Score (CHS) : This score can assess how “healthy” the customer’s relationship with your brand is and identify at-risk customers.

    Marketing touchpoints : Tips and best practices 

    Customer experience is more important today than ever. 

    Illustration of marketing funnel optimisation

    Salesforce’s 2022 State of the Connected Consumer report indicated that, for 88% of customers, the experience the brand provides is just as important as the product itself. 

    Here’s how you can build your customer touchpoint strategy and use effective touchpoints to improve customer satisfaction, build a loyal customer base, deliver better digital experiences and drive growth : 

    Understand the customer’s end-to-end experience 

    The typical customer’s journey follows a non-linear path of individual experiences that shape their awareness and brand preference. 

    Seventy-three percent of customers expect brands to understand their needs. So, personalising each interaction and delivering targeted content at different touchpoint segments — supported by customer segmentation and tools like Matomo — should be a priority. 

    Try to put yourself in the prospective customer’s shoes and understand their motivation and needs, focusing on their end-to-end experience rather than individual interactions. 

    Create a customer journey map 

    Once you understand how prospective customers interact with your brand, it becomes easier to map their journey from the pre-purchase stage to the actual purchase and beyond. 

    By creating these visual “roadmaps,” you make sure that you’re delivering the right content on the right channels at the right times and to the right audience — the key to successful marketing.

    Identify best-performing digital touchpoints 

    You can use insights from marketing attribution to pinpoint areas that are performing well. 

    By analysing the data provided by Matomo’s Marketing Attribution feature, you can determine which digital touchpoints are driving the most conversions or engagement, allowing you to focus your resources on optimising these channels for even greater success. 

    This targeted approach helps maximise the effectiveness of your marketing efforts and ensures a higher return on investment.

    Try Matomo for Free

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

    No credit card required

    Discover key marketing touchpoints with Matomo 

    The customer’s journey rarely follows a direct route. If you hope to reach more customers and improve their experience, you’ll need to identify and manage individual marketing touchpoints every step of the way.

    While this process looks different for every business, it’s important to remember that your customers’ experience begins long before they interact with your brand for the first time — and carries on long after they complete the purchase. 

    In order to find these touchpoints and measure their effectiveness across multiple marketing channels, you’ll have to rely on accurate data — and a powerful web analytics tool like Matomo can provide those valuable marketing insights. 

    Try Matomo free for 21-days. No credit card required.

  • Top 5 Customer Segmentation Software in 2024

    12 mars 2024, par Erin

    In marketing, we all know the importance of reaching the right customer with the right message at the right time. That’s how you cut through the noise.

    For that, you need data on your customers — even though gathering the data is not enough. You can have all the data worldwide, but that raises an ethical responsibility and the need to make sense of it.

    Enter customer segmentation software — the answer to delivering personalised customer experiences at scale. 

    This article lists some of the best customer segmentation tools currently in the market. 

    We’ll also go over the benefits of using such tools and how you can choose the best one for your business.

    Let’s get started !

    What is customer segmentation software ?

    Customer segmentation software is a tool that helps businesses analyse customer data and group them based on common characteristics like age, income, and buying habits.

    The main goal of customer segmentation is to gain deeper insights into customer behaviours and preferences. This helps create targeted marketing and product strategies that fit each group and makes it easier to predict how customers will behave in the future.

    Different customer groups

    Benefits of a customer segmentation software

    Understanding your customers is the cornerstone of effective marketing, and customer segmentation software plays a pivotal role in this endeavour. 

    You can deliver more targeted and relevant marketing campaigns by dividing your audience into distinct groups based on shared characteristics. 

    Specifically, here are the main benefits of using customer segmentation tools :

    • Understand your audience better : The software helps businesses group customers with common traits to better understand their preferences and behaviour.
    • Make data-driven decisions : Base your business and marketing decisions on data analytics.
    • Aid product development : Insights from segmentation analytics can guide the creation of products that meet specific customer group needs.
    • Allocate your resources efficiently : Focusing on the customer segments that generate the most revenue leads to more effective and strategic use of your marketing resources.

    Best customer segmentation software in 2024 

    In this section, we go over the top customer segmentation tools in 2024. 

    We’ll look at these tools’ key features and pros and cons.

    1. Matomo

    Matomo dashboard

    Matomo is a comprehensive web analytics tool that merges traditional web analytics, such as tracking pageviews and visitor bounce rates, with more advanced web analytics features for tracking user behaviour. 

    With robust segmentation features, users can filter website traffic based on criteria such as location and device type, enabling them to analyse specific visitor groups and their behaviour. Users can create custom segments to analyse specific groups of visitors and their behaviour.

    Presenting as the ethical alternative to Google Analytics, Matomo emphasises transparency, 100% accurate data, and compliance with privacy laws.

    Key features

    • Heatmaps and Session Recordings : Matomo provides tools that allow businesses to understand website user interactions visually. This insight is crucial for optimising user experience and increasing conversions.
    • Form Analytics : This feature in Matomo tracks how users interact with website forms, helping businesses understand user behaviour in detail and improve form design and functionality.
    • User Flow Analysis : The tool tracks the journey of a website’s visitors, highlighting the paths taken and where users drop off. This is key for optimising website structure for better user experience and more conversions.
    • A/B Testing : Businesses can use Matomo to test different versions of web pages, determining which is more effective in driving conversions.
    • Conversion Funnels : This feature allows businesses to visualise and optimise the steps customers take toward conversion, identifying areas for improvement.

    Pros 

    • Affordability : With plans starting at $19 per month, Matomo is a cost-effective solution for CRO.
    • Free support : Matomo provides free email support to all Matomo Cloud users.
    • Open-source benefits : Being open-source, Matomo offers enhanced security, privacy, customisation options, and a supportive community.
    • Hosting options : Matomo is available either as a self-hosted solution or cloud-hosted.

    Cons

    • Cost for advanced features : Access to advanced features may incur additional costs for Matomo On-Premise users, although the On-Premise solution itself is free.
    • Technical knowledge required : The self-hosted version of Matomo requires technical knowledge for effective management.

    Try Matomo for Free

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

    No credit card required

    2. Google Analytics 

    GA dashboard

    Google Analytics 4 (GA4) comprehensively understands website and app performance. It focuses on event-based data collection, allowing businesses to understand user interactions across platforms. 

    Similarly to Matomo, GA4 provides features that allow businesses to segment their audience based on various criteria such as demographics, behaviours, events, and more.

    Key features

    • Event-based tracking : GA4’s shift to an event-based model allows for a flexible and predictive analysis of user behaviour. This includes a detailed view of user interactions on websites and apps.
    • Machine Learning and Smarter Insights : GA4 uses machine learning to automatically detect trends, estimate purchase probabilities and provide marketing insights.
    • Google Ads integration : The integration with Google Ads in GA4 enables tracking customer interactions from first ad engagement, providing a holistic view of the customer experience across various platforms.
    • Customer-centric measurements : GA4 collects data as events, covering a wide range of user interactions and offering a comprehensive view of customer behaviour.
    • Pathing reports : GA4 introduces new pathing reports, allowing detailed user flow analysis through websites and apps.
    • Audiences and filters : GA4 allows the creation of audiences based on specific criteria and the application of filters to segment and refine data analysis.

    Pros 

    • Integration with various platforms, including Google Ads, enhances cross-platform user journey analysis.
    • GA4 has a clean reporting interface, making it easier for marketers to identify key trends and data irregularities.
    • Google Analytics has an active community with an abundance of educational resources available for users.

    Cons

    • Complexity for beginners : The wide range of features and new event-based model might overwhelm users new to analytics tools.
    • Dependence on machine learning : Reliance on machine learning for insights and predictions may require trust in the tool’s data processing and large volumes of traffic for accuracy.
    • Transition from UA to GA4 : Users familiar with Universal Analytics (UA) might find the transition to GA4 challenging due to differences in features and data models.

    3. HubSpot

    Hubspot dashboard

    HubSpot is a marketing and sales software that helps businesses attract visitors and turn them into paying customers. 

    It supports various business processes, from social media posts to email marketing, sales, and customer service. HubSpot organises and tracks user interactions across different channels, providing a unified and efficient approach to customer relationship management (CRM) and customer segmentation.

    Businesses can leverage HubSpot’s customer segmentation through lists, workflows, and smart content.

    Key features

    • Integration capabilities : HubSpot offers over 1,000 integrations in its ecosystem, ensuring seamless connectivity across various marketing, sales, and service tools, which helps maintain data consistency and reduces manual efforts.
    • Segmentation and personalisation : HubSpot allows businesses to deliver personalised content and interactions based on customer behaviour and preferences, using its robust CRM features and advanced automation capabilities.

    Pros 

    • Comprehensive support : HubSpot offers a range of support options, including a knowledge base, real-time chat, and more.
    • User-friendly interface : The platform is designed for ease of use, ensuring a smooth experience even for less tech-savvy users.
    • Personalisation capabilities : HubSpot provides personalised marketing, sales and service experiences, leveraging customer data effectively.

    Cons

    • High price point : HubSpot can be expensive, especially as you scale up and require more advanced features.
    • Steep learning curve : For businesses new to such comprehensive platforms, there might be an initial learning curve to utilise its features effectively.

    4. Klaviyo

    Klaviyo dashboard

    Klaviyo is a marketing automation software primarily focused on email and SMS messaging for e-commerce businesses. It’s designed to personalise and optimise customer communication. 

    Klaviyo integrates with e-commerce platforms like Shopify, making it a go-to solution for online stores. Its strength lies in its ability to use customer data to deliver targeted and effective marketing campaigns.

    Key features

    • Email marketing automation : Klaviyo allows users to send automated and personalised emails based on customer behaviour and preferences. This feature is crucial for e-commerce businesses in nurturing leads and maintaining customer engagement.
    • SMS marketing : It includes SMS messaging capabilities, enabling businesses to engage customers directly through text messages.
    • Segmentation and personalisation : Klaviyo offers advanced segmentation tools that enable businesses to categorise customers based on their behaviour, preferences and purchase history, facilitating highly targeted marketing efforts.
    • Integration with e-commerce platforms : Klaviyo integrates with popular e-commerce platforms like Shopify, Magento, and WooCommerce, allowing easy data synchronisation and campaign management.

    Pros 

    • Enhanced e-commerce integration : Klaviyo’s deep integration with e-commerce platforms greatly benefits online retailers regarding ease of use and campaign effectiveness.
    • Advanced segmentation and personalisation : The platform’s strong segmentation capabilities enable businesses to tailor their marketing messages more effectively.
    • Robust automation features : Klaviyo’s automation tools are powerful and user-friendly, saving time and improving marketing efficiency.

    Cons

    • Cost : Klaviyo can be more expensive than other options in this list, particularly as you scale up and add more contacts.
    • Complexity for beginners : The platform’s wide range of features and advanced capabilities might overwhelm beginners or small businesses with simpler needs.

    5. UserGuiding

    UserGuiding dashboard

    UserGuiding is a no-code product adoption tool that lets businesses create in-app user walkthroughs, guides, and checklists to onboard, engage, and retain users.

    UserGuiding facilitates customer segmentation by enabling businesses to create segmented onboarding flows, analyse behavioural insights, deliver personalised guidance, and collect feedback tailored to different user segments.

    Key features

    • In-app walkthroughs, guides and checklists : UserGuiding has multiple features that can promote product adoption early in the user journey.
    • In-app messaging : UserGuiding offers in-app messaging to help users learn more about the product and various ways to get value.
    • User feedback : UserGuiding allows businesses to gather qualitative feedback to streamline the adoption journey for users.

    Pros 

    • User-friendly interface
    • Customisable onboarding checklists
    • Retention analytics

    Cons

    • Need for technical expertise to maximise all features
    • Limited customisation options for less tech-savvy users

    What to look for in a customer segmentation software 

    When choosing a customer segmentation software, choosing the right one for your specific business needs is important. 

    Here are a few factors to consider when choosing your customer segmentation tool :

    1. Ease of use : Select a tool with an intuitive interface that simplifies navigation. This enhances the user experience, making complex tasks more manageable. Additionally, responsive customer support is crucial. It ensures that issues are promptly resolved, contributing to a smoother operation.
    2. Scalability and flexibility : Your chosen tool should adjust to your needs. A flexible tool like Matomo can adjust to your growing requirements, offering capabilities that evolve as your business expands.
    3. Integration capabilities : The software should seamlessly integrate with your existing systems, such as CRM, marketing, and automation platforms. 
    4. Advanced analytics and reporting : Assess the software’s capability to analyse and interpret complex data sets, without relying on machine learning to fill data gaps. A robust tool should provide accurate insights and detailed reports, enabling you to make informed decisions based on real data.
    5. Privacy and security considerations : Data security is paramount in today’s digital landscape. Look for features like data encryption, security storage, and adherence to privacy standards like GDPR and CCPA compliance
    6. Reviews and recommendations : Before making a decision, consider the reputation of the software providers. Look for reviews and recommendations from other users, especially those in similar industries. This can provide real-world insights into the software’s performance and reliability.
    List of factors to consider in a customer segmentation tool

    Leverage Matomo’s segmentation capabilities to deliver personalised experiences

    Segmentation is the best place to start if you want to deliver personalised customer experiences. There are several customer segmentation software in the market. But they’re not all the same.

    In this article, we reviewed the top segmentation tools — based on factors like their user base, features, and ethical data privacy considerations.

    Ideally, you want a tool to support your evolving business and segmentation needs. Not to mention one that cares about your customers’ privacy and ensures you stay compliant. 

    Enter Matomo at the top of the list. You can leverage Matomo’s accurate insights and comprehensive segmentation capabilities without compromising on privacy. Try it free for 21-days. No credit card required.

  • Unable to stream video file from MediaMTX media server to browser via WebRTC

    8 juin 2024, par thegreatjedi

    I took over a repository at work. It's a working demo comprising a web server which receives video and camera feeds from a media server (built from the rtsp-simple-server Docker image) via a RTSP relay server and streams the feeds to the client, all deployed via Docker Compose.

    


    I'm trying to switch over to use WebRTC instead. rtsp-simple-server has upgraded into MediaMTX since the time the demo was created 2 years ago. This is the relevant section of the updated Docker Compose configuration :

    


      media-server:
    image: bluenviron/mediamtx:latest-ffmpeg
    expose:
      - 8889
    init: true
    ports:
      - 8889:8889
    restart: unless-stopped
    volumes:
      - type: bind
        source: ./demo/vids
        target: /vids
      - type: bind
        source: ./demo/mediamtx.yml
        target: /mediamtx.yml


    


    Relevant part of the MediaMTX custom configuration in mediamtx.yml :

    


    ###############################################
# Path settings

# Settings in "paths" are applied to specific paths, and the map key
# is the name of the path.
# Any setting in "pathDefaults" can be overridden here.
# It's possible to use regular expressions by using a tilde as prefix,
# for example "~^(test1|test2)$" will match both "test1" and "test2",
# for example "~^prefix" will match all paths that start with "prefix".
paths:
  # example:
  # my_camera:
  #   source: rtsp://my_camera
  ~^demo\d+$:
    runOnDemand: ffmpeg -re -stream_loop -1 -i /vids/$MTX_PATH.mp4 -c:v libvpx -b:v 0 -crf 18 -qmin 18 -qmax 18 -f webm http://localhost:8889/$MTX_PATH/whip

  # Settings under path "all_others" are applied to all paths that
  # do not match another entry.
  all_others:


    


    I've absolutely no experience with WebRTC. This is my first time hearing of this protocol, let alone working with it. From what I understand, I need to convert my demo mp4 videos (which were successfully streaming via RTSP in the previous implementation) to a compatible video codec, so I've opted for VP8.

    


    Before trying to stream the videos into my web server, I tested the stream directly in the browser (tried with both the latest versions of Chrome and Edge). I went to http://localhost:8889/demo0 (which should convert demo0.mp4 to VP8 and then stream it over WebRTC). The video player loaded in the browser but no video data was received and nothing played. After several seconds, the screen displayed "Error : bad status code 400, retrying in some seconds". In the browser console, it showed :

    


    Failed to load resource : the server responded with a status of 400 (Bad Request)

    


    Inside the MediaMTX container's runtime logs, this is what's displayed :

    


    2024-04-02 14:53:08 ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
2024-04-02 14:53:08   built with gcc 13.2.1 (Alpine 13.2.1_git20231014) 20231014
2024-04-02 14:53:08   configuration: --prefix=/usr --disable-librtmp --disable-lzma --disable-static --disable-stripping --enable-avfilter --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libmp3lame --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librist --enable-libsoxr --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-lto=auto --enable-lv2 --enable-openssl --enable-pic --enable-postproc --enable-pthreads --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-vulkan --optflags=-O3 --enable-libjxl --enable-libsvtav1 --enable-libvpl
2024-04-02 14:53:08   libavutil      58. 29.100 / 58. 29.100
2024-04-02 14:53:08   libavcodec     60. 31.102 / 60. 31.102
2024-04-02 14:53:08   libavformat    60. 16.100 / 60. 16.100
2024-04-02 14:53:08   libavdevice    60.  3.100 / 60.  3.100
2024-04-02 14:53:08   libavfilter     9. 12.100 /  9. 12.100
2024-04-02 14:53:08   libswscale      7.  5.100 /  7.  5.100
2024-04-02 14:53:08   libswresample   5.  0.100 /  5.  0.100
2024-04-02 14:53:08   libpostproc    57.  3.100 / 57.  3.100
2024-04-02 14:53:08 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/vids/demo0.mp4':
2024-04-02 14:53:08   Metadata:
2024-04-02 14:53:08     major_brand     : isom
2024-04-02 14:53:08     minor_version   : 512
2024-04-02 14:53:08     compatible_brands: isomiso2mp41
2024-04-02 14:53:08     encoder         : Lavf58.76.100
2024-04-02 14:53:08   Duration: 00:00:03.47, start: 0.000000, bitrate: 1675 kb/s
2024-04-02 14:53:08   Stream #0:0[0x1](und): Video: mpeg1video (mp4v / 0x7634706D), yuv420p(tv, progressive), 640x360 [SAR 1:1 DAR 16:9], 104857 kb/s, 30 fps, 30 tbr, 90k tbn (default)
2024-04-02 14:53:08     Metadata:
2024-04-02 14:53:08       handler_name    : VideoHandler
2024-04-02 14:53:08       vendor_id       : [0][0][0][0]
2024-04-02 14:53:08     Side data:
2024-04-02 14:53:08       cpb: bitrate max/min/avg: 0/0/0 buffer size: 49152 vbv_delay: N/A
2024-04-02 14:53:08 Stream mapping:
2024-04-02 14:53:08   Stream #0:0 -> #0:0 (mpeg1video (native) -> vp8 (libvpx))
2024-04-02 14:53:08 Press [q] to stop, [?] for help
2024-04-02 14:53:08 [libvpx @ 0x7faa8591b8c0] v1.13.1
2024-04-02 14:53:08 [libvpx @ 0x7faa8591b8c0] Bitrate not specified for constrained quality mode, using default of 256kbit/sec
2024-04-02 14:53:08 Output #0, webm, to 'http://localhost:8889/demo0/whip':
2024-04-02 14:53:08   Metadata:
2024-04-02 14:53:08     major_brand     : isom
2024-04-02 14:53:08     minor_version   : 512
2024-04-02 14:53:08     compatible_brands: isomiso2mp41
2024-04-02 14:53:08     encoder         : Lavf60.16.100
2024-04-02 14:53:08   Stream #0:0(und): Video: vp8, yuv420p(tv, progressive), 640x360 [SAR 1:1 DAR 16:9], q=2-31, 256 kb/s, 30 fps, 1k tbn (default)
2024-04-02 14:53:08     Metadata:
2024-04-02 14:53:08       handler_name    : VideoHandler
2024-04-02 14:53:08       vendor_id       : [0][0][0][0]
2024-04-02 14:53:08       encoder         : Lavc60.31.102 libvpx
2024-04-02 14:53:08     Side data:
2024-04-02 14:53:08       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
2024-04-02 14:53:18 2024/04/02 06:53:18 INF [path demo0] runOnDemand command stopped: timed out
2024-04-02 14:53:18 2024/04/02 06:53:18 INF [WebRTC] [session 0f460c76] closed: source of path 'demo0' has timed out
[out#0/webm @ 0x7faa859487c0] video:272kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.042856%
2024-04-02 14:53:18 frame=  315 fps= 32 q=18.0 Lsize=     275kB time=00:00:10.46 bitrate= 215.1kbits/s speed=1.05x    
2024-04-02 14:53:18 Exiting normally, received signal 2.


    


    I'm not sure what this is supposed to mean ? Why isn't the server able to stream this 3-second, 709kb video even once ? The browser connected to the server and the URL successfully, but no data was being transferred.

    


    Just in case, I decided to manually convert all of my mp4 files to webm using ffmpeg, and verified with Window's media player that the webm videos work. Then, I modified MediaMTX's configuration to stream the webm videos directly :

    


    paths:
  # example:
  # my_camera:
  #   source: rtsp://my_camera
  ~^demo\d+$:
    runOnDemand: ffmpeg -re -stream_loop -1 -i /vids/$MTX_PATH.webm -c copy -f webm http://localhost:8889/$MTX_PATH/whip


    


    However, the error persists :

    


    2024-04-02 15:03:58 ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
2024-04-02 15:03:58   built with gcc 13.2.1 (Alpine 13.2.1_git20231014) 20231014
2024-04-02 15:03:58   configuration: --prefix=/usr --disable-librtmp --disable-lzma --disable-static --disable-stripping --enable-avfilter --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-libmp3lame --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-librav1e --enable-librist --enable-libsoxr --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-lto=auto --enable-lv2 --enable-openssl --enable-pic --enable-postproc --enable-pthreads --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-vulkan --optflags=-O3 --enable-libjxl --enable-libsvtav1 --enable-libvpl
2024-04-02 15:03:58   libavutil      58. 29.100 / 58. 29.100
2024-04-02 15:03:58   libavcodec     60. 31.102 / 60. 31.102
2024-04-02 15:03:58   libavformat    60. 16.100 / 60. 16.100
2024-04-02 15:03:58   libavdevice    60.  3.100 / 60.  3.100
2024-04-02 15:03:58   libavfilter     9. 12.100 /  9. 12.100
2024-04-02 15:03:58   libswscale      7.  5.100 /  7.  5.100
2024-04-02 15:03:58   libswresample   5.  0.100 /  5.  0.100
2024-04-02 15:03:58   libpostproc    57.  3.100 / 57.  3.100
2024-04-02 15:03:58 Input #0, matroska,webm, from '/vids/demo0.webm':
2024-04-02 15:03:58   Metadata:
2024-04-02 15:03:58     COMPATIBLE_BRANDS: isomiso2mp41
2024-04-02 15:03:58     MAJOR_BRAND     : isom
2024-04-02 15:03:58     MINOR_VERSION   : 512
2024-04-02 15:03:58     ENCODER         : Lavf60.16.100
2024-04-02 15:03:58   Duration: 00:00:03.47, start: 0.000000, bitrate: 217 kb/s
2024-04-02 15:03:58   Stream #0:0: Video: vp8, yuv420p(tv, progressive), 640x360, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn (default)
2024-04-02 15:03:58     Metadata:
2024-04-02 15:03:58       HANDLER_NAME    : VideoHandler
2024-04-02 15:03:58       VENDOR_ID       : [0][0][0][0]
2024-04-02 15:03:58       ENCODER         : Lavc60.31.102 libvpx
2024-04-02 15:03:58       DURATION        : 00:00:03.466000000
2024-04-02 15:03:58 Output #0, webm, to 'http://localhost:8889/demo0/whip':
2024-04-02 15:03:58   Metadata:
2024-04-02 15:03:58     COMPATIBLE_BRANDS: isomiso2mp41
2024-04-02 15:03:58     MAJOR_BRAND     : isom
2024-04-02 15:03:58     MINOR_VERSION   : 512
2024-04-02 15:03:58     encoder         : Lavf60.16.100
2024-04-02 15:03:58   Stream #0:0: Video: vp8, yuv420p(tv, progressive), 640x360 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30 tbr, 1k tbn (default)
2024-04-02 15:03:58     Metadata:
2024-04-02 15:03:58       HANDLER_NAME    : VideoHandler
2024-04-02 15:03:58       VENDOR_ID       : [0][0][0][0]
2024-04-02 15:03:58       ENCODER         : Lavc60.31.102 libvpx
2024-04-02 15:03:58       DURATION        : 00:00:03.466000000
2024-04-02 15:03:58 Stream mapping:
2024-04-02 15:03:58   Stream #0:0 -> #0:0 (copy)
2024-04-02 15:03:58 Press [q] to stop, [?] for help
2024-04-02 15:04:08 2024/04/02 07:04:08 INF [path demo0] runOnDemand command stopped: timed out
2024-04-02 15:04:08 2024/04/02 07:04:08 INF [WebRTC] [session 829664cb] closed: source of path 'demo0' has timed out
[out#0/webm @ 0x7f04b00515c0] video:281kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.023511%
2024-04-02 15:04:08 size=     284kB time=00:00:10.49 bitrate= 221.3kbits/s speed=1.05x    
2024-04-02 15:04:08 Exiting normally, received signal 2.


    


    This is the same when I try to stream my other videos (demo1.mp4, demo2.mp4 etc.). What am I doing wrong ?