Recherche avancée

Médias (91)

Autres articles (71)

  • MediaSPIP Player : les contrôles

    26 mai 2010, par

    Les contrôles à la souris du lecteur
    En plus des actions au click sur les boutons visibles de l’interface du lecteur, il est également possible d’effectuer d’autres actions grâce à la souris : Click : en cliquant sur la vidéo ou sur le logo du son, celui ci se mettra en lecture ou en pause en fonction de son état actuel ; Molette (roulement) : en plaçant la souris sur l’espace utilisé par le média (hover), la molette de la souris n’exerce plus l’effet habituel de scroll de la page, mais diminue ou (...)

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Ecrire une actualité

    21 juin 2013, par

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

Sur d’autres sites (5481)

  • Top Conversion Metrics to Track in 2024

    22 janvier 2024, par Erin

    2023 boasts  2.64 billion online shoppers worldwide ; that’s more than a third of the global population. With these numbers on an upward trajectory in 2024, conversion metrics are more important than ever to help marketers optimise the online shopping experience. 

    In this article, we’ll provide predictions for the most important conversion metrics you should keep track of in 2024. We’ll also examine how social media can make or break your brand engagement strategy. Keep reading to stay ahead of the competition for 2024 and gain tips and tricks for improving conversion performance.

    What are conversion metrics ?

    In technical terms, conversion metrics are the quantifiable measurements used to track the success of specific outcomes on a website or marketing campaign. Conversion metrics demonstrate how well your website prompts visitors to take desirable actions, like signing up for a newsletter, making a purchase, or filling out a form, for instance.

    Let’s say you’re running a lemonade stand, and you want to compare the number of cups sold to the number of people who approached your stand (your conversion rate). This ratio of cups sold to the total number of people can help you reassess your sales approach. If the ratio is low, you might reconsider your approach ; if it’s high, you can analyse what makes your technique successful and double down.

    A woman holding a magnifying glass up to her eye

    In 2023, we saw the average conversion rate for online shopping grow by 5.53% compared to the previous year. An increase in conversion rate typically indicates a higher percentage of website visitors converting to buyers. It can also be a good sign for marketing teams that marketing campaigns are more effective, and website experiences are more user-friendly than the previous year. 

    Conversion metrics are a marketers’ bread and butter. Whether it’s through measuring the efficacy of campaigns, honing in on the most effective marketing channels or understanding customer behaviour — don’t underestimate the power of conversion metrics. 

    Conversion rate vs. conversion value 

    Before we dive into the top conversion metrics to track in 2024, let’s clear up any confusion about the difference between conversion rate and conversion value. Conversion rate is a metric that measures the ratio of website visitors/users who complete a conversion action to the total number of website visitors/users. Conversion rates are communicated as percentages.

    A conversion action can mean many different things depending on your product or service. Some examples of conversion actions that website visitors can take include : 

    • Making a purchase
    • Filling out a form
    • Subscribing to a newsletter
    • Any other predefined goal

    Conversion rate is arguably one of the most valuable conversion metrics if you want to pinpoint areas for improvement in your marketing strategy and user experience (UX).

    A good conversion rate completely depends on the type of conversion being measured. Shopify has reported that the average e-commerce conversion rate will be 2.5%-3% in 2023, so if you fall anywhere in this range, you’re in good shape. Below is a visual aid for how you can calculate conversion rate depending on which conversion actions you decide to track :

    Conversion rate formula calculation

    Conversion value is also a quantifiable metric, but there’s a key difference : conversion value assigns a numerical value to each conversion based on the monetary value of the completed conversion action. Conversion value is not calculated with a formula but is assigned based on revenue generated from the conversion. Conversion value is important for calculating marketing efforts’ return on investment (ROI) and is often used to allocate marketing budgets better. 

    Both conversion rate and conversion value are vital metrics in digital marketing. When used in tandem, they can provide a holistic perspective on your marketing efforts’ financial impact and success. 

    9 important conversion metrics to track in 2024

    Based on research and results from 2023, we have compiled this list of predictions for the most important metrics to track in 2024. 

    A computer screen and mobile device surrounded by various metrics and chart icons

    1. Conversion rate 

    To start things out strong, we’ve got the timeless and indispensable conversion rate. As we discussed in the previous section, conversion rate measures how successfully your website convinces visitors to take important actions, like making purchases or signing up for newsletters. 

    An easy-to-use web analytics solution like Matomo can help in tracking conversion rates. Matomo automatically calculates conversion rates of individual pages, overall website and on a goal-by-goal basis. So you can compare the conversion rate of your newsletter sign up goal vs a form submission goal on your site and see what is underperforming and requires improvement.

    Conversion rates by different Goals in Matomo dashboard

    In the example above in Matomo, it’s clear that our goal of getting users to comment is not doing well, with only a 0.03% conversion rate. To improve our website’s overall conversion rate, we should focus our efforts on improving the user commenting experience.

    For 2024, we predict that the conversion rate will be just as important to track as in 2023. 

    2. Average visit duration

    This key metric tracks how long users spend on your website. A session typically starts when a user lands on your website and ends when they close the browser or have been inactive for some time ( 30 minutes). Tracking the average visit duration can help you determine how well your content captures users’ attention or how engaged users are when navigating your website. 

    Average Visit Duration = Total Time Spent / Number of Visits

    Overview of visits and average visit duration in Matomo

    Web analytics tools like Matomo help in monitoring conversion rate metrics like average visit duration. Timestamps are assigned to each interaction within a visit, so that average visit duration can be calculated. Analysing website visit information like average visit duration allows you to evaluate the relevance of your content with your target audience. 

    3. Starter rate

    If your business relies on getting leads through forms, paying attention to Form Analytics is crucial for improving conversion rates. The “starter rate” metric is particularly important—it indicates the number of who people start filling out the form, after seeing it. 

    When you’re working to increase conversion rates and capture more leads, keeping an eye on the starter rate helps you understand where users might encounter issues or lose interest early in the form-filling process. Addressing these issues can simplify the form-filling experience and increase the likelihood of successful lead captures.

    Try Matomo for Free

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

    No credit card required

    Concrete CMS tripled their leads using Form Analytics in Matomo—see how in their case study.

    4. Bounce rate

    Bounce rate reflects the percentage of visitors who exit your site after interacting with a single page. Bounce rate is an important metric for understanding how relevant your content is to visitors or how optimised your user experience is. A high bounce rate can indicate that visitors are having trouble navigating your website or not finding what they’re looking for. 

    Matomo automatically calculates bounce rate on each page and for your overall website.

    Bounce rate trends in Matomo dashboard

    Bounce Rate = (# of Single-Page Sessions / Total # of Sessions) * 100

    5. Cost-per-conversion

    This metric quantifies the average cost incurred for each conversion action (i.e., sale, acquired lead, sign-up, etc.). Marketers use cost-per-conversion to assess the cost efficiency of a marketing campaign. You want to aim for a lower cost-per-conversion, meaning your advertising efforts aren’t breaking the bank. A high cost-per-conversion could be acceptable in luxury industries, but it often indicates a low marketing ROI. 

    Cost-per-Conversion = Ad Spend / # of Conversions

    By connecting your Matomo with Google Ads through Advertising Conversion Export feature in Matomo, you can keep tabs on your conversions right within the advertising platform. This feature also works with Microsoft Advertising and Yandex Ads.

    Try Matomo for Free

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

    No credit card required

    6. Average order value (AOV)

    AOV is a conversion metric that calculates the average monetary value of each order. AOV is crucial for helping e-commerce businesses understand the value of their transactions. A high AOV means buyers spend more per transaction and could be more easily influenced by upselling or cross-selling. Low AOV isn’t necessarily bad — you can compensate for a low AOV by boosting transaction volume. 

    Evolution of average order value (AOV) in Matomo

    AOV = Total Revenue / Total # of Orders 

    Matomo automatically tracks important e-commerce metrics such as AOV, the percentage of visits with abandoned carts and the conversion rate for e-commerce orders.

    7. Exit rate

    Exit rate measures the percentage of visitors who leave a specific webpage after viewing it. Exit rate differs from bounce rate in that it focuses on the last page visitors view before leaving the site. A high exit rate should be examined to identify issues with visitors abandoning the specific page. 

    Exit Rate = (# of Exits from a Page / Total # of Pageviews for that Page) * 100

    Matomo dashboard showing exit rate by page

    In the Matomo report above, it’s clear that 77% of visits to the diving page ended after viewing it (exit rate), while 23% continued exploring. 

    On the other hand, our products page shows a lower exit rate at 36%, suggesting that more visitors continue navigating through the site after checking out the products.

    How to improve your conversion performance 

    If you’re curious about improving your conversion performance, this section is designed to guide you through that exact process.

    A bar graph with an orange arrow showing an increasing trend

    Understand your target audience and their behaviour

    You may need to return to the drawing board if you’re noticing high bounce rates or a lack of brand engagement. In-depth audience analysis can unveil user demographics, preferences and behaviours. This type of user data is crucial for building user personas, segmenting your visitors and targeting marketing campaigns accordingly.

    You can segment your website visitors in a number of web analytics solutions, but for the example below, we’ll look at segmenting in Matomo. 

    Segmented view of mobile users in Matomo

    In this instance, we’ve segmented visitors by mobile users. This helps us see how mobile users are doing with our newsletter signup goal and identify the countries where they convert the most. It also shows how well mobile users are doing with our conversion goal over time.

    It’s clear that our mobile users are converting at a very low rate—just 0.01%. This suggests there’s room for improvement in the mobile experience on our site.

    Optimise website design, landing pages, page loading speed and UX

    A slow page loading speed can result in high exit rates, user dissatisfaction and lost revenue. Advanced web analytics solutions like Matomo, which provides heatmaps and session recordings, can help you find problems in your website design and understand how users interact with it.

    Making a website that focuses on users and has an easy-to-follow layout will make the user experience smooth and enjoyable.

    Try Matomo for Free

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

    No credit card required

    Create compelling calls-to-action (CTA)

    Research shows that a strategically placed and relevant CTA can significantly increase your revenue. CTAs guide prospects toward conversion and must have a compelling and clear message. 

    You can optimise CTAs by analysing how users interact with them — this helps you tailor them to better resonate with your target audience. 

    A/B testing

    A/B testing can improve your conversion performance by allowing you to experiment with different versions of a web page. By comparing the impact of different web page elements on conversions, you can optimise your website with confidence. 

    Key conversion metrics takeaways

    Whether understanding user behaviour to develop a more intuitive user experience or guessing which marketing channel is the most effective, conversion metrics can be a marketer’s best friend. Conversion metrics help you save time, money and headaches when making your campaigns and website as effective as possible. 

    Make improving conversion rates easier with Matomo, a user-friendly all-in-one solution. Matomo ensures reliable insights by delivering accurate data while prioritising compliance and privacy.

    Get quality insights from your conversion metrics by trying Matomo free for 21 days. No credit card required.

  • ffmpeg concat skips frames near end of each subclip

    3 janvier 2024, par calvinusesyourcode

    So I have some video files to concat but in the resulting video the last few frames of each subclip are buggy. Imagine in the last 5 frames the first 3 frames are skipped and so at the end of each clip it seems to jitter.

    


    It should be virtually impossible for my input videos to have any differences between them, as they were all recorded on the same iPhone and all converted with the same command :

    


    command = [
            'ffmpeg', '-y',
            '-i', input_path,
            '-vf', 'scale=1080:1920',
            '-r', '30',
            '-c:v', 'libx264',
            output_path
        ]
subprocess.run(command, check=True)


    


    I have tried re-encoding instead of merely copying and adding -r 30 but that doesn't seem to work.

    


    subprocess.run(["ffmpeg", "-y", "-f", "concat", "-safe", "0", "-i", temp_textfile, "-c", "copy", output_path])


    


        subprocess.run(["ffmpeg", "-y", "-f", "concat", "-safe", "0", "-i", temp_textfile, "-r", "30", "-c:v", "libx264", "-c:a", "aac", output_path], check=True)


    


    Somewhere someone said to open in VLC and do a frame-by-frame, reporting that "the frames are actually there, just not visually when watching normally". In my case the frame-by-frame reveals the frames are indeed being skipped.

    


    Full console output :

    


    ffmpeg version 2023-05-18-git-01d9a84ef5-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa 
--enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58.  7.100 / 58.  7.100
  libavcodec     60. 14.100 / 60. 14.100
  libavformat    60.  5.100 / 60.  5.100
  libavdevice    60.  2.100 / 60.  2.100
  libavfilter     9.  8.100 /  9.  8.100
  libswscale      7.  2.100 /  7.  2.100
  libswresample   4. 11.100 /  4. 11.100
  libpostproc    57.  2.100 / 57.  2.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d60610ebc0] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from 'run\broll_subclips.txt':
  Duration: N/A, start: -0.023220, bitrate: 3094 kb/s
  Stream #0:0(und): Video: h264 (High 10) (avc1 / 0x31637661), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67, progressive), 1080x1920, 2968 kb/s, 30 fps, 30 tbr, 15360 tbn
    Metadata:
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.14.100 libx264
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s
    Metadata:
      handler_name    : Core Media Audio
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 000001d6066fd380] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX 
FMA3 BMI2 AVX2
[libx264 @ 000001d6066fd380] profile High 10, level 4.0, 4:2:0, 10-bit
[libx264 @ 000001d6066fd380] 264 - core 164 r3107 a8b68eb - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=81 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'joined_clips.mp4':
  Metadata:
    encoder         : Lavf60.5.100
  Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p10le(tv, bt2020nc/bt2020/arib-std-b67, progressive), 1080x1920, q=2-31, 30 fps, 15360 tbn
    Metadata:
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.14.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      handler_name    : Core Media Audio
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.14.100 aac
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:00.23 bitrate=   1.7kbits/s dup[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:01.97 bitrate=   0.2kbits/s dupframe=   42 fps= 41 q=41.0 size=     256kB time=00:00:01.97 bitrate=1062.7kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=   81 fps= 53 q=41.0 size=     768kB time=00:00:04.71 bitrate=1334.8kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=  124 fps= 61 q=41.0 size=    1280kB time=00:00:06.10 bitrate=1717.1kbits/s duframe=  178 fps= 69 q=38.0 size=    1536kB time=00:00:07.96 bitrate=1579.9kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=  235 fps= 76 q=41.0 size=    2048kB time=00:00:09.84 bitrate=1704.1kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=  273 fps= 76 q=41.0 size=    2560kB time=00:00:11.12 bitrate=1885.5kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=  309 fps= 75 q=41.0 size=    2816kB time=00:00:12.30 bitrate=1874.5kbits/s duframe=  354 fps= 77 q=41.0 size=    3328kB time=00:00:13.83 bitrate=1969.9kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=  411 fps= 80 q=41.0 size=    3840kB time=00:00:15.72 bitrate=2001.1kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=  479 fps= 85 q=41.0 size=    4096kB time=00:00:17.99 bitrate=1864.6kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d608de8100] Auto-inserting h264_mp4toannexb bitstream filter
frame=  515 fps= 84 q=41.0 size=    4608kB time=00:00:19.20 bitrate=1965.7kbits/s duframe=  549 fps= 81 q=41.0 size=    4864kB time=00:00:20.31 bitrate=1961.1kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d60c3e8d40] Auto-inserting h264_mp4toannexb bitstream filter
frame=  600 fps= 83 q=41.0 size=    5632kB time=00:00:22.03 bitrate=2093.7kbits/s du[mov,mp4,m4a,3gp,3g2,mj2 @ 000001d60c3e8d40] Auto-inserting h264_mp4toannexb bitstream filter
frame=  648 fps= 83 q=41.0 size=    5888kB time=00:00:23.61 bitrate=2042.5kbits/s du[out#0/mp4 @ 000001d6061163c0] video:6385kB audio:335kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.377336%
frame=  724 fps= 86 q=-1.0 Lsize=    6746kB time=00:00:24.03 bitrate=2299.4kbits/s dup=6 drop=2 speed=2.86x
[libx264 @ 000001d6066fd380] frame I:12    Avg QP:26.96  size: 87427
[libx264 @ 000001d6066fd380] frame P:191   Avg QP:32.28  size: 15534
[libx264 @ 000001d6066fd380] frame B:521   Avg QP:35.40  size:  4840
[libx264 @ 000001d6066fd380] consecutive B-frames:  2.9%  2.8%  2.1% 92.3%
[libx264 @ 000001d6066fd380] mb I  I16..4: 21.0% 56.5% 22.5%
[libx264 @ 000001d6066fd380] mb P  I16..4:  1.9%  6.3%  1.0%  P16..4: 25.0%  4.5%  2.2%  0.0%  0.0%    skip:59.1%
[libx264 @ 000001d6066fd380] mb B  I16..4:  0.2%  0.7%  0.1%  B16..8: 24.4%  1.8%  0.2%  direct: 0.3%  skip:72.3%  L0:46.0% L1:50.7% BI: 3.3%
[libx264 @ 000001d6066fd380] 8x8 transform intra:64.9% inter:79.1%
[libx264 @ 000001d6066fd380] coded y,uvDC,uvAC intra: 42.4% 26.9% 3.0% inter: 3.7% 0.9% 0.0%
[libx264 @ 000001d6066fd380] i16 v,h,dc,p: 25% 28% 12% 35%
[libx264 @ 000001d6066fd380] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 18% 23%  5%  6%  6% 
 6%  6%  6%
[libx264 @ 000001d6066fd380] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 21% 19%  5%  6%  6% 
 7%  5%  5%
[libx264 @ 000001d6066fd380] i8c dc,h,v,p: 71% 13% 13%  4%
[libx264 @ 000001d6066fd380] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000001d6066fd380] ref P L0: 68.7% 17.8% 13.4%
[libx264 @ 000001d6066fd380] ref B L0: 88.4%  9.1%  2.5%
[libx264 @ 000001d6066fd380] ref B L1: 96.9%  3.1%
[libx264 @ 000001d6066fd380] kb/s:2167.24
[aac @ 000001d606184b40] Qavg: 346.828


    


    UPDATE : I am thinking that the way I am converting my files from .mov to .mp4 is the problem. Please suggest the best way to convert from iPhone 4k 60fps .mov files to nice 1080p 30fps .mp4 files. I know I could just use handbrake but I am trying to be a man here xD. Perhaps handbrake has a View ffmpeg code for conversion.

    


    UPDATE 2 : re-encoding the videos before concat with -c:v libx264 fixes the problem... which seems weird because that is how they were originally encoded...

    


    def join_broll(video_paths, desired_length, clip_length=None, output_path="quick_clips.mp4", preserve_inputs=True):
    subclips = []
    total_duration = 0

    temp_textfile = os.path.join(run_folder, "broll_subclips.txt")
    j = 0
    with open(temp_textfile, "w") as file:
        while True:
            for i, video_path in enumerate(video_paths):

                time_left = desired_length - total_duration
                video_duration = duration_of(video_path)
                subclip_path = f"subclip_{i+j}.mp4"

                if (not clip_length and video_duration < time_left) or (clip_length and clip_length < time_left):

                    if clip_length:

                        subclips.append(subclip_path)
                        subprocess.run(["ffmpeg", "-y", "-i", video_path, "-t", str(clip_length), "-c:v", "libx264", subclip_path]) # added "-c:v libx264"
                        total_duration += clip_length
                        file.write(f"file '{os.path.join('..', subclip_path)}'\n")

                    else:
                    
                        subclips.append(subclip_path)
                        subprocess.run(["ffmpeg", "-y", "-i", video_path, "-c:v", "libx264", subclip_path]) # added "-c:v libx264"
                        total_duration += video_duration
                        file.write(f"file '{subclip_path}'\n")

                else:

                    subclips.append(subclip_path)
                    subprocess.run(["ffmpeg", "-y", "-i", video_path, "-t", str(time_left), "-c:v", "libx264", subclip_path]) # added "-c:v libx264"
                    total_duration += time_left
                    file.write(f"file '{os.path.join('..', subclip_path)}'\n")

                    break

            j += 1
            if desired_length - total_duration < 0.1:
                break
                

    subprocess.run(["ffmpeg", "-y", "-f", "concat", "-safe", "0", "-i", temp_textfile, "-c", "copy", output_path])
    # subprocess.run(["ffmpeg", "-y", "-f", "concat", "-safe", "0", "-i", temp_textfile, "-r", "30", "-c:v", "libx264", "-c:a", "aac", output_path], check=True)
    return output_path


    


  • What is a Cohort Report ? A Beginner’s Guide to Cohort Analysis

    3 janvier 2024, par Erin

    Handling your user data as a single mass of numbers is rarely conducive to figuring out meaningful patterns you can use to improve your marketing campaigns.

    A cohort report (or cohort analysis) can help you quickly break down that larger audience into sequential segments and contrast and compare based on various metrics. As such, it is a great tool for unlocking more granular trends and insights — for example, identifying patterns in engagement and conversions based on the date users first interacted with your site.

    In this guide, we explain the basics of the cohort report and the best way to set one up to get the most out of it.

    What is a cohort report ?

    In a cohort report, you divide a data set into groups based on certain criteria — typically a time-based cohort metric like first purchase date — and then analyse the data across those segments, looking for patterns.

    Date-based cohort analysis is the most common approach, often creating cohorts based on the day a user completed a particular action — signed up, purchased something or visited your website. Depending on the metric you choose to measure (like return visits), the cohort report might look something like this :

    Example of a basic cohort report

    Note that this is not a universal benchmark or anything of the sort. The above is a theoretical cohort analysis based on app users who downloaded the app, tracking and comparing the retention rates as the days go by. 

    The benchmarks will be drastically different depending on the metric you’re measuring and the basis for your cohorts. For example, if you’re measuring returning visitor rates among first-time visitors to your website, expect single-digit percentages even on the second day.

    Your industry will also greatly affect what you consider positive in a cohort report. For example, if you’re a subscription SaaS, you’d expect high continued usage rates over the first week. If you sell office supplies to companies, much less so.

    What is an example of a cohort ?

    As we just mentioned, a typical cohort analysis separates users or customers by the date they first interacted with your business — in this case, they downloaded your app. Within that larger analysis, the users who downloaded it on May 3 represent a single cohort.

    Illustration of a specific cohort

    In this case, we’ve chosen behaviour and time — the app download day — to separate the user base into cohorts. That means every specific day denotes a specific cohort within the analysis.

    Diving deeper into an individual cohort may be a good idea for important holidays or promotional events like Black Friday.

    Of course, cohorts don’t have to be based on specific behaviour within certain periods. You can also create cohorts based on other dimensions :

    • Transactional data — revenue per user
    • Churn data — date of churn
    • Behavioural cohort — based on actions taken on your website, app or e-commerce store, like the number of sessions per user or specific product pages visited
    • Acquisition cohort — which channel referred the user or customer

    For more information on different cohort types, read our in-depth guide on cohort analysis.

    How to create a cohort report (and make sense of it)

    Matomo makes it easy to view and analyse different cohorts (without the privacy and legal implications of using Google Analytics).

    Here are a few different ways to set up a cohort report in Matomo, starting with our built-in cohorts report.

    Cohort reports

    With Matomo, cohort reports are automatically compiled based on the first visit date. The default metric is the percentage of returning visitors.

    Screenshot of the cohorts report in Matomo analytics

    Changing the settings allows you to create multiple variations of cohort analysis reports.

    Break down cohorts by different metrics

    The percentage of returning visits can be valuable if you’re trying to improve early engagement in a SaaS app onboarding process. But it’s far from your only option.

    You can also compare performance by conversion, revenue, bounce rate, actions per visit, average session duration or other metrics.

    Cohort metric options in Matomo analytics

    Change the time and scope of your cohort analysis

    Splitting up cohorts by single days may be useless if you don’t have a high volume of users or visitors. If the average cohort size is only a few users, you won’t be able to identify reliable patterns. 

    Matomo lets you set any time period to create your cohort analysis report. Instead of the most recent days, you can create cohorts by week, month, year or custom date ranges. 

    Date settings in the cohorts report in Matomo analytics

    Cohort sizes will depend on your customer base. Make sure each cohort is large enough to encapsulate all the customers in that cohort and not so small that you have insignificant cohorts of only a few customers. Choose a date range that gives you that without scaling it too far so you can’t identify any seasonal trends.

    Cohort analysis can be a great tool if you’ve recently changed your marketing, product offering or onboarding. Set the data range to weekly and look for any impact in conversions and revenue after the changes.

    Using the “compare to” feature, you can also do month-over-month, quarter-over-quarter or any custom date range comparisons. This approach can help you get a rough overview of your campaign’s long-term progress without doing any in-depth analysis.

    You can also use the same approach to compare different holiday seasons against each other.

    If you want to combine time cohorts with segmentation, you can run cohort reports for different subsets of visitors instead of all visitors. This can lead to actionable insights like adjusting weekend or specific seasonal promotions to improve conversion rates.

    Try Matomo for Free

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

    No credit card required

    Easily create custom cohort reports beyond the time dimension

    If you want to split your audience into cohorts by focusing on something other than time, you will need to create a custom report and choose another dimension. In Matomo, you can choose from a wide range of cohort metrics, including referrers, e-commerce signals like viewed product or product category, form submissions and more.

    Custom report options in Matomo

    Then, you can create a simple table-based report with all the insights you need by choosing the metrics you want to see. For example, you could choose average visit duration, bounce rate and other usage metrics.

    Metrics selected in a Matomo custom report

    If you want more revenue-focused insights, add metrics like conversions, add-to-cart and other e-commerce events.

    Custom reports make it easy to create cohort reports for almost any dimension. You can use any metric within demographic and behavioural analytics to create a cohort. (You can explore the complete list of our possible segmentation metrics.)

    We cover different types of custom reports (and ideas for specific marketing campaigns) in our guide on custom segmentation.

    Create your first cohort report and gain better insights into your visitors

    Cohort reports can help you identify trends and the impact of short-term marketing efforts like events and promotions.

    With Matomo cohort reports you have the power to create complex custom reports for various cohorts and segments. 

    If you’re looking for a powerful, easy-to-use web analytics solution that gives you 100% accurate data without compromising your users’ privacy, Matomo is a great fit. Get started with a 21-day free trial today. No credit card required.