Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (9)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

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

  • Formulaire personnalisable

    21 juin 2013, par

    Cette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
    Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire. (...)

Sur d’autres sites (1114)

  • ffmpeg encode video produce incorrect mediainfo encoding settings

    25 août 2021, par Foong

    I've been trying to do batch encode videos to H265 format. I am using media-autobuild_suite to build ffmpeg and have already updating ffmpeg to the latest version.

    


    ffmpeg version N-103367-g5ddb4b6a1b-g88b3e31562+1 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10.3.0 (Rev5, Built by MSYS2 project)
configuration:  --pkg-config=pkgconf --cc='ccache gcc' --cxx='ccache g++' --ld='ccache g++' --disable-autodetect --enable-amf --enable-bzlib --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-schannel --enable-zlib --enable-sdl2 --enable-ffnvcodec --enable-nvdec --enable-cuda-llvm --enable-gmp --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libdav1d --enable-libaom --disable-debug --enable-libfdk-aac --extra-libs=-liconv --enable-gpl --enable-version3 --enable-nonfree
libavutil      57.  4.101 / 57.  4.101
libavcodec     59.  5.101 / 59.  5.101
libavformat    59.  4.102 / 59.  4.102
libavdevice    59.  0.101 / 59.  0.101
libavfilter     8.  3.100 /  8.  3.100
libswscale      6.  0.100 /  6.  0.100
libswresample   4.  0.100 /  4.  0.100
libpostproc    56.  0.100 / 56.  0.100


    


    However, the Writing library and Encoding settings output is incorrect. Before update ffmpeg doesn't have this issue. I wonder what have been missing that causing this issue.

    


    encoding CLI :

    


    ffmpeg -y -hide_banner -loglevel error -stats -hwaccel dxva2 -i "input.mkv" -c:v libx265 -vsync cfr -pix_fmt yuv420p10le -preset fast -tune animation -x265-params ctu=32:min-cu-size=8:max-tu-size=16:tu-intra-depth=2:tu-inter-depth=2:me=1:subme=3:merange=44:max-merge=2:keyint=250:min-keyint=23:rc-lookahead=60:lookahead-slices=6:bframes=6:bframe-bias=0:b-adapt=2:ref=6:limit-refs=3:limit-tu=1:aq-mode=3:aq-strength=0.6:rd=3:psy-rd=1.00:psy-rdoq=1.50:rdoq-level=1:deblock=-1,-1:crf=21.0:qblur=0.50:qcomp=0.60:qpmin=0:qpmax=51:frame-threads=1:strong-intra-smoothing=1:no-lossless=1:no-cu-lossless=1:constrained-intra=1:no-fast-intra=1:no-open-gop=1:no-temporal-layers=1:no-limit-modes=1:weightp=1:no-weightb=1:no-analyze-src-pics=1:no-rd-refine=1:signhide=1:sao=1:no-sao-non-deblock=1:b-pyramid=1:no-cutree=1:no-intra-refresh=1:no-amp=1:temporal-mvp=1:no-early-skip=1:no-tskip=1:no-tskip-fast=1:no-deblock=1:no-b-intra=1:no-splitrd-skip=1:no-strict-cbr=1:no-rc-grain=1:no-const-vbv=1:no-opt-qp-pps=1:no-opt-ref-list-length-pps=1:no-multi-pass-opt-rps=1:no-opt-cu-delta-qp=1:no-hdr=1:no-hdr-opt=1:no-dhdr10-opt=1:no-idr-recovery-sei=1:no-limit-sao=1:no-lowpass-dct=1:no-dynamic-refine=1:no-single-sei=1 -c:a libfdk_aac -vf "fps=fps=29.970,setdar=16/9,scale=960:540:flags=lanczos" -map 0:v:? -map 0:a:? -map_metadata:g -1 -map_chapters 0 "output.mkv"


    


    Input video info :

    


    Video
ID                          : 1
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : High@L3
Format settings             : CABAC / 5 Ref Frames
Format settings, CABAC      : Yes
Format settings, Reference  : 5 frames
Codec ID                    : V_MPEG4/ISO/AVC
Bit rate                    : 1 595 kb/s
Nominal bit rate            : 2 030 kb/s
Width                       : 720 pixels
Height                      : 480 pixels
Display aspect ratio        : 16:9
Original display aspect rat : 3:2
Frame rate mode             : Variable
Original frame rate         : 29.970 FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 8 bits
Scan type                   : Progressive
Bits/(Pixel*Frame)          : 0.196
Writing library             : x264 core 66 r1115M 11863ac
Encoding settings           : cabac=1 / ref=5 / deblock=1:1:1 / analyse=0x3:0x133 / me=esa / subme=7 / psy_rd=1.0:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=2 / deadzone=21,11 / chroma_qp_offset=-2 / threads=1 / nr=0 / decimate=0 / mbaff=0 / bframes=1 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=2030 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Default                     : Yes
Forced                      : No


    


    Output video info :

    


    Video
ID                          : 1
Format                      : HEVC
Format/Info                 : High Efficiency Video Coding
Format profile              : Main 10@L3.1@Main
Codec ID                    : V_MPEGH/ISO/HEVC
Duration                    : 23 min 29 s
Width                       : 960 pixels
Height                      : 540 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 29.970 (29970/1000) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 10 bits
Writing library             : Lavc59.5.100 libx265
Encoding settings           : cabac=1 / ref=5 / deblock=1:1:1 / analyse=0x3:0x133 / me=esa / subme=7 / psy_rd=1.0:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / cqm=2 / deadzone=21,11 / chroma_qp_offset=-2 / threads=1 / nr=0 / decimate=0 / mbaff=0 / bframes=1 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=2030 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Default                     : Yes
Forced                      : No
Color range                 : Limited


    


    Expecting (from previous encoded videos) :

    


    Video
ID                          : 1
Format                      : HEVC
Format/Info                 : High Efficiency Video Coding
Format profile              : Main 10@L3.1@Main
Codec ID                    : V_MPEGH/ISO/HEVC
Duration                    : 24 min 37 s
Bit rate                    : 833 kb/s
Width                       : 960 pixels
Height                      : 720 pixels
Display aspect ratio        : 4:3
Frame rate mode             : Constant
Frame rate                  : 23.976 (23976/1000) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 10 bits
Bits/(Pixel*Frame)          : 0.050
Stream size                 : 147 MiB
Title                       : HEVC
Writing library             : x265 3.4+28-419182243:[Windows][GCC 10.2.0][64 bit] 10bit
Encoding settings           : cpuid=1111039 / frame-threads=3 / numa-pools=12 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=960x720 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=5 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=1 / keyint=360 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=3 / no-limit-modes / me=1 / subme=3 / merange=16 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / no-deblock / sao / no-sao-non-deblock / rd=3 / selective-sao=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=0.20 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=26.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.00 / aq-mode=0 / aq-strength=0.00 / no-cutree / zone-count=0 / no-strict-cbr / qg-size=64 / no-rc-grain / qpmax=51 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.03 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass
Language                    : English
Default                     : Yes
Forced                      : No
Color range                 : Limited


    


    I have tried with simplest ffmpeg from official wedsite and encoding cli but the output still same.

    


    ffmpeg -i "input.mkv" -c:v libx265 "output.mkv"


    


    Update :
Tried converting video with FFmpeg 4.4 "Rao" from https://www.ffmpeg.org/ working fine. But compiled ffmpeg from media-autobuild_suite, tried with light build and full build, Writing library and Encoding settings output still incorrect.

    


  • ffmpeg video slides vertically after 'Invalid buffer size, packet size expected frame_size' error (vsync screen tearing glitch) ?

    7 juillet 2020, par GlabbichRulz

    I have a video which i want to cut and crop using opencv and ffmpeg.

    


    diagram what i am trying to do

    


    I want the output to be H265, so i am using a ffmpeg subprocess (writing frame bytes to stdin) as explained here. This is a minimum version of my code that leads to the error :

    


    import os, shlex, subprocess, cv2, imutils

VIDEO_DIR = '../SoExample' # should contain a file 'in.mpg'
TIMESPAN = (3827, 3927)  # cut to this timespan (frame numbers)
CROP = dict(min_x=560, max_x=731, min_y=232, max_y=418)  # crop to this area

#  calculate output video size
size = (CROP['max_x']-CROP['min_x'], CROP['max_y']-CROP['min_y'])  # (w,h)
# ffmpeg throws an error when having odd dimensions that are not dividable by 2,
# so i just add a pixel to the size and stretch the original image by 1 pixel later.
size_rounded = (size[0]+1 if size[0] % 2 != 0 else size[0],
                size[1]+1 if size[1] % 2 != 0 else size[1])

# read input video
vid_path_in = os.path.join(VIDEO_DIR, 'in.mpg')
cap = cv2.VideoCapture(vid_path_in)
fps = int(cap.get(cv2.CAP_PROP_FPS))

# generate and run ffmpeg command
ffmpeg_cmd = (f'/usr/bin/ffmpeg -y -s {size_rounded[0]}x{size_rounded[1]} -pixel_format'
              + f' bgr24 -f rawvideo -r {fps} -re -i pipe: -vcodec libx265 -pix_fmt yuv420p'
              + f' -crf 24 -x265-params "ctu=64" "{os.path.join(VIDEO_DIR, "out.mp4")}"')
print("using cmd", ffmpeg_cmd)
process = subprocess.Popen(shlex.split(ffmpeg_cmd), stdin=subprocess.PIPE)

# seek to the beginning of the cutting timespan and loop through frames of input video
cap.set(cv2.CAP_PROP_POS_FRAMES, TIMESPAN[0])
frame_returned = True
while cap.isOpened() and frame_returned:
    frame_returned, frame = cap.read()
    frame_number = cap.get(cv2.CAP_PROP_POS_FRAMES) - 1

    # check if timespan end is not reached yet
    if frame_number < TIMESPAN[1]:

        # crop to relevant image area
        frame_cropped = frame[CROP['min_y']:CROP['max_y'],
                              CROP['min_x']:CROP['max_x']]

        # resize to even frame size if needed:
        if size != size_rounded:
            frame_cropped = imutils.resize(frame_cropped, width=size_rounded[0],
                                           height=size_rounded[1])

        # Show processed image using opencv: I see no errors here.
        cv2.imshow('Frame', frame_cropped)

        # Write cropped video frame to input stream of ffmpeg sub-process.
        process.stdin.write(frame_cropped.tobytes())
    else:
        break

    # Press Q on keyboard to exit earlier
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break

process.stdin.close()  # Close and flush stdin
process.wait()         # Wait for sub-process to finish
process.terminate()    # Terminate the sub-process

print("Done!")


    


    Unfortunately, my output looks like this :

    


    gif of the sliding glitch

    


    The output should not include this vertical sliding glitch. Does anyone know how to fix it ?

    


    My console output for aboves script shows :

    


    using cmd /usr/bin/ffmpeg -y -s 172x186 -pixel_format bgr24 -f rawvideo -r 23 -i pipe: -vcodec libx265 -pix_fmt yuv420p -crf 24 -x265-params "ctu=64" "../SoExample/out.mp4"
ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, rawvideo, from 'pipe:':
  Duration: N/A, start: 0.000000, bitrate: 17659 kb/s
    Stream #0:0: Video: rawvideo (BGR[24] / 0x18524742), bgr24, 172x186, 17659 kb/s, 23 tbr, 23 tbn, 23 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> hevc (libx265))
x265 [info]: HEVC encoder version 2.6
x265 [info]: build info [Linux][GCC 7.2.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-2 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 2 / wpp(3 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut / bias: 23 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-24.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 rskip signhide tmvp strong-intra-smoothing
x265 [info]: tools: deblock sao
Output #0, mp4, to '../SoExample/out.mp4':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: hevc (libx265) (hev1 / 0x31766568), yuv420p, 172x186, q=2-31, 23 fps, 11776 tbn, 23 tbc
    Metadata:
      encoder         : Lavc57.107.100 libx265
[rawvideo @ 0x564ebd221aa0] Invalid buffer size, packet size 51600 < expected frame_size 95976    
Error while decoding stream #0:0: Invalid argument
frame=  100 fps= 30 q=-0.0 Lsize=      36kB time=00:00:04.21 bitrate=  69.1kbits/s speed=1.25x    
video:32kB audio:0kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 12.141185%
x265 [info]: frame I:      1, Avg QP:22.44  kb/s: 179.77  
x265 [info]: frame P:     29, Avg QP:24.20  kb/s: 130.12  
x265 [info]: frame B:     70, Avg QP:29.99  kb/s: 27.82   
x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x265 [info]: consecutive B-frames: 20.0% 3.3% 16.7% 43.3% 16.7% 

encoded 100 frames in 3.35s (29.83 fps), 59.01 kb/s, Avg QP:28.23
Done!


    


    As you can see, there is an error : Invalid buffer size, packet size 51600 < expected frame_size 95976 Error while decoding stream #0:0: Invalid argument, do you think this could be the cause to the shown problem ? I am not sure, as in the end, it tells me all 100 frames would have been encoded.

    


    In case you want to reproduce this on the exact same video, you can find actions1.mpg in the UCF Aerial Action Dataset.

    


    I would greatly appreciate any help as i am really stuck on this error.

    


  • 7 Benefits Segmentation Examples + How to Get Started

    26 mars 2024, par Erin

    Every copywriter knows the importance of selling a product’s benefits, not its features. So why should your marketing efforts be different ?

    Answer : they shouldn’t.

    It’s time to stop using demographic or behavioural traits to group customers and start using benefits segmentation instead.

    Benefits segmentation groups your customers based on the value they get from your product or service. In this article, we’ll cover seven real-life examples of benefits segmentation, explain why it’s so powerful and show how to get started today.

    What is benefits segmentation ?

    Benefits segmentation is a way for marketers to group their target market based on the value they get from their products or services. It is a form of customer segment marketing. Other types of market segmentation include :

    • Geographic segmentation
    • Demographic segmentation
    • Psychographic segmentation
    • Behavioural segmentation
    • Firmographic segmentation

    Customers could be the same age, from the same industry and live in the same location but want drastically different things from the same product. Some may like the design of your products, others the function, and still more the price. 

    Whatever the benefits, you can make your marketing more effective by building advertising campaigns around them.

    Why use benefits segmentation ?

    Appealing to the perceived benefits of your product is a powerful marketing strategy. Here are the advantages of you benefit segmentation can expect :

    Why use benefits segmentation?

    More effective marketing campaigns

    Identifying different benefits segments lets you create much more targeted marketing campaigns. Rather than appeal to a broad customer base, you can create specific ads and campaigns that speak to a small part of your target audience. 

    These campaigns tend to be much more powerful. Benefits-focused messaging better resonates with your audience, making potential customers more likely to convert.

    Better customer experience 

    Customers use your products for a reason. By showing you understand their needs through benefits segmentation, you deliver a much better customer experience — in terms of messaging and how you develop new products. 

    In today’s world, experience matters. 80% of customers say a company’s experience is as important as its products and services.

    Stronger customer loyalty

    When products or services are highly targeted at potential customers, they are more likely to return. More than one-third (36%) of customers would return to a brand if they had a positive experience, even if cheaper or more convenient alternatives exist.

    Using benefits segmentation will also help you attract the right kind of people in the first place — people who will become long-term customers because your benefits align with their needs. 

    Improved products and services

    Benefits segmentation makes it easier to tailor products or services to your audiences’ wants and needs. 

    Rather than creating a product meant to appeal to everyone but doesn’t fulfil a real need, your team can create different ranges of the same product that target different benefits segments. 

    Higher conversion rates

    Personalising your pitch to individual customers is powerful. It drives performance and creates better outcomes for your target customer. Companies that grow faster drive 40 per cent more revenue from personalisation than their slower-growing counterparts.

    When sales reps understand your product’s benefits, talking to customers about them and demonstrating how the product solves particular pain points is much easier. 

    In short, benefits segmentation can lead to higher conversion rates and a better return on investment. 

    7 examples of benefits segmentation

    Let’s take a look at seven examples of real-life benefits segmentation to improve your understanding :

    Nectar

    Mattress manufacturer Nectar does a great job segmenting their product range by customer benefits. That’s a good thing, given how many different things people want from their mattress. 

    It’s not just a case of targeting back sleepers vs. side sleepers ; they focus on more specific benefits like support and cooling. 

    A screenshot of the Nectar website

    Take a look at the screenshot above. Nectar mentions the benefits of each mattress in multiple places, making it easy for customers to find the perfect mattress. If you care about value, for example, you might choose “The Nectar.” If pressure relief and cooling are important to you, you might pick the “Nectar Premier.”

    24 Hour Fitness

    A gym is a gym is a gym, right ? Not when people use it to achieve different goals, it’s not. And that’s what 24 Hour Fitness exploits when they sell memberships to their audience. 

    As you can see from its sales page, 24 Hour Fitness targets the benefits that different customers get from their products :

    A screenshot of a gym's website

    Customers who just care about getting access to weights and treadmills for as cheap as possible can buy the Silver Membership. 

    But getting fit isn’t the only reason people go to the gym. That’s why 24 Hour Fitness targets its Gold Membership to those who want the “camaraderie” of studio classes led by “expert instructors.”

    Finally, some people value being able to access any club, anywhere in the country. Consumers value flexibility greatly, so 24 Hour Fitness limits this perk to its top-tier membership. 

    Notion

    Notion is an all-in-one productivity and note-taking app that aims to be the only productivity tool people and teams need. Trying to be everything to all people rarely works, however, which is why Notion cleverly tweaks its offering to appeal to the desires of different customer segments :

    A screenshot of Notion's website highlighting benefits

    For price-conscious individuals, it provides a pared solution that doesn’t bloat the user experience with features or benefits these consumers don’t care about.

    The Plus tier is the standard offering for teams who need a way to collaborate online. Still, there are two additional tiers for businesses that target specific benefits only certain teams need. 

    For teams that benefit from a longer history or additional functionality like a bulk export, Notion offers the Business tier at almost double the price of the standard Plus tier. Finally, the Enterprise tier for businesses requires much more advanced security features. 

    Apple

    Apple is another example of a brand that designs and markets products to customers based on specific benefits.

    A screenshot of Apple's website highlighting benefits

    Why doesn’t Apple just make one really good laptop ? Because customers want different things from them. Some want the lightest or smallest laptop possible. Others need ones with higher processing power or larger screens.

    One product can’t possibly deliver all those benefits. So, by understanding the precise reasons people need a laptop, Apple can create and market products around the benefits that are most likely to be sold. 

    Tesla

    In the same way Apple understands that consumers need different things from their laptops, Tesla understands that consumers derive different benefits from their cars. 

    It’s why the company sells four cars (and now a truck) that cover various sizes, top speeds, price points and more. 

    A screenshot of Tesla's website highlighting benefits

    Tesla even asks customers about the benefits they want from their car when helping them to choose a vehicle. By asking customers to pick how they will use their new vehicle, Tesla can ensure the car’s benefits match up to the consumers’ goals. 

    Dynamite Brands

    Dynamite Brands is a multi-brand, community-based business that targets remote entrepreneurs around the globe. But even this heavily niched-down business still needs to create benefit segments to serve its audience better. 

    It’s why the company has built several different brands instead of trying to serve every customer under a single banner :

    A screenshot of Dynamite Brands' website highlighting benefits

    If you just want to meet other like-minded entrepreneurs, you can join the Dynamite Circle, for example. But DC Black might be a better choice if you care more about networking and growing your business.

    It’s the same with the two recruiting brands. Dynamite Jobs targets companies that just want access to a large talent pool. Remote First Recruiting targets businesses that benefit from a more hands-on approach to hiring where a partner does the bulk of the work.

    Garmin

    Do you want your watch to tell the time or do you want it to do more ? If you fall into the latter category, Garmin has designed dozens of watches that target various benefits.

    A screenshot of Garmin's website highlighting benefits

    Do you want a watch that tracks your fitness without looking ugly ? Buy the Venu. 

    Want a watch designed for runners ? Buy the Forerunner. 

    Do you need a watch that can keep pace with your outdoor lifestyle ? Buy the Instinct. 

    Just like Apple, Garmin can’t possibly design a single watch that delivers all these benefits. Instead, each watch is carefully built for the target customer’s needs. Yes, it makes the target market smaller, but it makes the product more appealing to those who care about those benefits.

    How to get started with benefits segmentation

    According to Gartner, 63% of digital marketing leaders struggle with personalisation. Don’t be one of them. Here’s how you can improve your personalisation efforts using benefits segmentation. 

    Research and define benefits

    The first step to getting started with benefit segmentation is understanding all the benefits customers get from your products. 

    You probably already know some of the benefits, but don’t underestimate the importance of customer research. Hold focus groups, survey customers and read customer reviews to discover what customers love about your products. 

    Create benefit-focused customer personas

    Now you understand the benefits, it’s time to create customer personas that reflect them. Group consumers who like similar benefits and see if they have any other similarities. 

    Price-conscious consumers may be younger. Maybe people who care about performance have a certain type of job. The more you can do to flesh out what the average benefits-focused consumer looks like, the easier it will be to create campaigns. 

    Create campaigns focused on each benefit

    Now, we get to the fun part. Make the benefit-focused customer personas you created in the last step the focus of your marketing campaigns going forward. 

    Don’t try to appeal to everyone. Just make your campaigns appeal to these people.

    Go deeper with segmentation analytics

    The quality of your benefit segmentation strategy hinges on the quality of your data. That’s why using a an accurate web analytics solution like Matomo to track how each segment behaves online using segmentation analytics is important.

    Segmentation Analytics is the process of splitting customers into different groups within your analytics software to create more detailed customer data and improve targeting

    This data can make your marketing campaigns more targeted and effective.

    Benefits segmentation in practice

    Let’s say you have an e-commerce website selling a wide range of household items, and you want to create a benefit segment for “Tech Enthusiasts” who are interested in the latest gadgets and cutting-edge technology. You want to track and analyse their behaviour separately to tailor marketing campaigns or website content specifically for this group.

    1. Identify characteristics : Determine key characteristics or behaviours that define the “Tech Enthusiasts” segment. 

    This might include frequent visits to product pages of the latest tech products, site searches that contain different tech product names, engaging with tech-specific content in emails or spending more time on technology-related blog posts.

    One quick and surefire way to identify characteristics of a segment is to look historically at specific tech product purchases in your Matomo and work your way backwards to find out what steps a “Tech Enthusiast” takes before making a purchase. For instance, you might look at User Flows to discover this.

    Behaviour User Flow in Matomo
    1. Create segments in Matomo : Using Matomo’s segmentation features, you can create a segment that includes users exhibiting these characteristics. For instance :
      • Segment by page visits : Create a segment that includes users who visited tech product pages or spent time on tech blogs.
    Segmentation example in Matomo
      • Segment by event tracking : If you’ve set up event tracking for specific actions (like clicking on “New Tech” category buttons), create a segment based on these events.
      • Combine conditions : Combine various conditions (e.g., pages visited, time spent, specific actions taken) to create a comprehensive segment that accurately represents “Tech Enthusiasts.”
    1. Track and analyse : Apply this segment to your analytics data in Matomo to track and analyse the behaviour of this group separately. Monitor metrics like their conversion rates, time spent on site or specific products they engage with.
    2. Tailor marketing : Use the insights from analysing this segment to tailor marketing strategies. This could involve creating targeted campaigns or customising website content to cater specifically to these users.

    Remember, the key is to define criteria that accurately represent the segment you want to target, use Matomo’s segmentation tools to isolate this group, and effectively derive actionable insights to cater to their preferences or needs.

    Try Matomo for Free

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

    No credit card required

    Track your segmentation efforts 

    Benefits segmentation is a fantastic way to improve your marketing. It can help you deliver a better customer experience, improve your product offering and help your sales reps close more deals. 

    Segmenting your audience with an analytics platform lets you go even deeper. But doing so in a privacy-sensitive way can be difficult. 

    That’s why over 1 million websites choose Matomo as their web analytics solution. Matomo provides exceptional segmentation capabilities while remaining 100% accurate and compliant with global privacy laws.

    Find out how Matomo’s insights can level up your marketing efforts with our 21-day free trial, no credit card required.