Recherche avancée

Médias (0)

Mot : - Tags -/albums

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

Autres articles (47)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (5029)

  • Incrementality Testing : Quick-Start Guide (With Calculations)

    26 mars 2024, par Erin

    How do you know when a campaign is successful ? When you earn more revenue than last month ?

    Maybe.

    But how do you know how much of an impact a certain campaign or channel had on your sales ?

    With marketing attribution, you can determine credit for each sale.

    But if you want a deeper look, you need to understand the incremental impact of each channel and campaign.

    The way you do this ?

    Incrementality testing.

    In this guide, we break down what incrementality is, why it’s important and how to test it so you can double down on the activities driving the most growth.

    What is incrementality ?

    So, what exactly is incrementality ?

    Let’s say you just ran a marketing campaign for a new product. The launch was a success. Breakthrough numbers in your revenue. You used a variety of channels and activities to bring it all together.

    So, you launch a plan for next month’s campaign. But you don’t truly know what moved the needle.

    Did you just hit new highs because your audience is bigger ? And your brand is greater ?

    Or did the recent moves you made make a direct difference ?

    This is incrementality.

    What is incrementally in marketing?

    Incrementality is growth directly attributed to marketing efforts beyond the overall impact of your brand. By measuring and conducting incrementality testing, you can clearly see how much of a difference each activity or channel truly impacted business growth. 

    What is incrementality testing ?

    Incrementality testing allows marketers to gauge the effectiveness of a marketing tactic or strategy. It tells you if a particular marketing activity had a positive, negative or neutral impact on your business. 

    It also tells you the overall impact it can have on your key performance indicators (KPIs). 

    The result ?

    You can pinpoint the highest-performing moves and incorporate them into your marketing workflows. You also discard marketing strategies with negligible, neutral or even negative impacts. 

    For example, let’s say you think a B2B LinkedIn ads campaign will help you reach your product launch goals. An incrementality test can tell you if the introduction of this campaign will help you get to the desired outcome.

    How incrementality testing works

    Before diving into your testing phase, you must clearly identify your KPIs.

    Here are the top KPIs you should be tracking on your website :

    • Ad impressions
    • Website visits
    • Leads
    • Sales

    The exact KPIs will depend on your marketing goals. You’re ready to move forward once you know your key performance indicators.

    Here’s how incrementality testing works step-by-step :

    1. Define a test and control group

    The first step is to define a test group and control group. 

    • A test group is a segment of your target audience that’s exposed to the marketing campaign. 
    • A control group is a segment that isn’t. 

    Keep in mind that both groups have similar demographics and other relevant characteristics. 

    2. Execute your campaign

    The second step is to run the marketing campaign on the test group. This can be a Facebook ad, LinkedIn ad or email marketing campaign.

    It all depends on your goals and your primary channels.

    3. Measure outcomes

    The third step is to measure the campaign’s impact based on your KPIs. 

    Let’s say a brand wants to see if a certain marketing move increases its leads. The test can tell them the number of email sign-ups with and without the campaign. 

    4. Compare results

    Next, compare the test group results with the control group. The difference in outcomes tells you the impact of that campaign. You can then use this difference to inform your future marketing strategies. 

    With Matomo, you can easily track results from campaigns — like conversions. 

    Our platform lets you quickly see what channels are getting the best results so you can gain insights into incrementality and optimise your strategy.

    Try Matomo for Free

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

    No credit card required

    Why it’s important to conduct incrementality tests

    The digital marketing industry is constantly changing. Marketers need to stay on their toes to keep up. Incrementality tests help you stay on track.

    For example, let’s say you’re selling laptops. You can increase your warranty period to three years to see the impact on sales. An incrementality test will tell you if this move will boost your sales (and by how much).

    Now, let’s dive into the reasons why you need to consistently conduct incrementality tests :

    Determine the right tactics for success

    Identifying the best action to grow your business is a challenge every marketer faces.

    The best way to identify marketing tactics is by conducting incrementality testing. These tactics are bound to work since data back them. As a result, you can optimise your marketing budget and maximise your ROIs. 

    It lets you run multiple tests to identify the most impactful strategy between :

    • An email marketing strategy
    • A social media strategy 
    • A PPC ad

    For instance, an incrementality test might suggest email marketing will be more cost-effective than an ad campaign. What you can do is :

    • Expose the test group to the email marketing campaign and then compare the results with the control group
    • Expose the test group to the ad campaign and then compare its results with the control group

    Then, you can calculate the difference in results between the two marketing campaigns. This lets you focus on the strategy with a better ROI or ROAS potential. 

    Accurate data

    Marketing data is powerful. But getting accurate data can be challenging. With incrementality testing, you get to know the true impact of a marketing campaign. 

    Plus, with this testing strategy, you don’t have to waste your marketing budget. 

    With Matomo, you get 100% accurate data on all website activities. 

    Unlike Google Analytics, Matomo doesn’t rely on inaccurate data sampling — limiting the amount of data analysed.

    Try Matomo for Free

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

    No credit card required

    Get the most out of your marketing investment

    Every business owner wants to maximise their return on investment. The ROI you get mainly depends on the marketing strategy. 

    For instance, email marketing offers an ROI of about 40:1 with some sources even reporting as high as 72:1.

    Incrementality testing helps you make informed investment decisions. With it, you can pinpoint the tactics that are most likely to bring the highest return. You can then focus your resources on them. It also helps you stay away from low-performing strategies. 

    Increase revenue

    It’s safe to say that the goal behind every marketing effort is a revenue boost. The higher your revenue, the more profits you generate. However, for many marketers, it’s an uphill battle. 

    With incrementality testing, you can boost your revenue by focusing your efforts in the right direction. 

    Get more traffic

    Incrementality testing tells you if a particular strategy can help you drive more traffic. You can use it to get more high-quality leads to your website or landing pages and double down on high-traffic strategies to increase those leads.

    How to test incrementality

    How to test incrementality.

    Developing an implementation plan is crucial to generate accurate insights from an incrementality test. Incrementality testing is like running a science experience. You need to go through several stages. Each stage is important for generating accurate results. 

    Here’s how you test incrementality :

    Define your goals

    Get clarity on what you want to achieve with this campaign. Which KPIs do you want to test ? Is it the return on your overall investment (ROI), return on ad spend (ROAS) or something else ?

    Segment your audience

    Selecting the right audience segment is crucial to getting accurate insights with an incrementality test. Decide the demographics and psychographics of the audience you want to target. Then, divide this audience segment into two sub-parts :

    • Test group (people you’ll expose to the marketing campaign)
    • Control group (people who won’t be exposed to the campaign)

    These groups are a part of the larger segment. This means people in both groups will have similar attributes. 

    Launch the test at the right time

    Before the launch, decide on the length of the test. Ideally, it should be at least one week. Don’t run any other campaigns in this window, as it can interfere with the results. 

    Analyse the data and take action

    Once the campaign is over, measure the results from both groups. Compare the data to identify incremental lift in your selected KPIs. 

    Let’s say you want to see if this campaign can boost your sales. Check to see if the test group responded differently than the control group. If the sales equal your desired outcome, you have a winning strategy. 

    Not all incrementality tests result in a positive incremental lift ; Some can be neutral, indicating that the campaign didn’t have any effect. Some can even indicate a negative lift, which means your core group performed better than the test group. 

    Lastly, take action based on the test findings. 

    Incrementality test examples 

    You can use incrementality testing to identify gaps and growth opportunities in your strategy. 

    Here’s an example :

    Let’s say a company runs an incrementality test on a YouTube marketing strategy for sales. The results indicate that the ROI was only $0.10, as the company makes $1.10 for every $1.00 spent. This alarms the marketing department and helps them optimise the campaign for a higher ROI. 

    Here’s another practical example :

    Let’s say a retail business wanted to test the effectiveness of its ad campaign. So, the retailer optimises its ad campaign after conducting an incrementality test on a test and control group. As a result, they experienced a 34% incremental increase in sales.

    How to calculate incrementality in marketing

    Once you’ve aggregated the data, it’s time to calculate. There are two ways to calculate incrementality :

    Incremental profit 

    The first one is incremental profit. It tells you how much profit you can generate with a strategy (If any). With it, you get the actual value of a marketing campaign. 

    It’s calculated with the following formula :

    Test group profit – control group profit = incremental profit 

    For example, let’s say you’re exposing a test group to a paid ads campaign. And it generates a profit of $3,000. On the other hand, the control group generated a $2,000 profit. 

    In this case, your incremental profit will be $1,000 ($3,000 – $2,000). 

    However, if the paid ads campaign generates a $2,000 profit, the incremental profit would be zero. Essentially, you’re generating the same profit as before, which means the campaign doesn’t work. Similarly, a marketing strategy is no good if it generates lower profits than the control group. 

    Incremental lift

    Incremental lift measures the difference in the conversions you generate with each group. 

    Here’s the formula :

    (Test – Control)/Control x 100 = Lift

    So, let’s say the test group and control group generated 2,000 and 1,000 conversions, respectively. 

    The incremental lift you’ll get from this incrementality test would be :

    (2,000 – 1,000)/1,000 x 100 = 100

    This turns out to be a 100% incremental lift.

    How to track incrementality with Matomo

    Incrementality testing lets you use a practical approach to identify the best marketing path for your business.

    It helps you develop a hyper-focused approach that gives you access to accurate and practical data. 

    With these insights, you can confidently move forward to maximise your ROI since it helps you focus on high-performing tactics. 

    The result is more revenue and profit for your business. 

    Plus, all you need to do is identify your target audience, divide them into two groups and run your test. Then, the results will be compared to determine if the marketing strategy offers any value. 

    Conducting incrementality tests may take time and expertise. 

    But, thanks to Matomo, you can leverage accurate insights for your incrementality tests to ensure you make the right decisions to grow your business.

    See for yourself why over 1 million websites choose Matomo. Try it free for 21-days now. No credit card required.

  • What flags should enable to get maximum performance using ffpeg ?

    19 octobre 2017, par Sam

    I am using windows, my application is using opencv and for codecs, we have used ffmpeg. We see the performance is very slow, we want to improve it by compiling ffmpeg with all flags which could take hardware and GPU acceleation into consideration.
    I did ./configure --help inside the ffmpeg source, I see below list option, can you please tell which all can really imporve the performance. Note that we would like to take advantage of hardware and gpu capabilities.

    $ ./configure —help
    Usage : configure [options]
    Options : [defaults in brackets after descriptions]

    Help options :
    —help print this message
    —quiet Suppress showing informative output
    —list-decoders show all available decoders
    —list-encoders show all available encoders
    —list-hwaccels show all available hardware accelerators
    —list-demuxers show all available demuxers
    —list-muxers show all available muxers
    —list-parsers show all available parsers
    —list-protocols show all available protocols
    —list-bsfs show all available bitstream filters
    —list-indevs show all available input devices
    —list-outdevs show all available output devices
    —list-filters show all available filters

    Standard options :
    —logfile=FILE log tests and output to FILE [ffbuild/config.log]
    —disable-logging do not log configure debug information
    —fatal-warnings fail if any configure warning is generated
    —prefix=PREFIX install in PREFIX [/usr/local]
    —bindir=DIR install binaries in DIR [PREFIX/bin]
    —datadir=DIR install data files in DIR [PREFIX/share/ffmpeg]
    —docdir=DIR install documentation in DIR [PREFIX/share/doc/ffmpeg ]
    —libdir=DIR install libs in DIR [PREFIX/lib]
    —shlibdir=DIR install shared libs in DIR [LIBDIR]
    —incdir=DIR install includes in DIR [PREFIX/include]
    —mandir=DIR install man page in DIR [PREFIX/share/man]
    —pkgconfigdir=DIR install pkg-config files in DIR [LIBDIR/pkgconfig]
    —enable-rpath use rpath to allow installing libraries in paths
    not part of the dynamic linker search path
    use rpath when linking programs (USE WITH CARE)
    —install-name-dir=DIR Darwin directory name for installed targets

    Licensing options :
    —enable-gpl allow use of GPL code, the resulting libs
    and binaries will be under GPL [no]
    —enable-version3 upgrade (L)GPL to version 3 [no]
    —enable-nonfree allow use of nonfree code, the resulting libs
    and binaries will be unredistributable [no]

    Configuration options :
    —disable-static do not build static libraries [no]
    —enable-shared build shared libraries [no]
    —enable-small optimize for size instead of speed
    —disable-runtime-cpudetect disable detecting CPU capabilities at runtime (sma ller binary)
    —enable-gray enable full grayscale support (slower color)
    —disable-swscale-alpha disable alpha channel support in swscale
    —disable-all disable building components, libraries and programs
    —disable-autodetect disable automatically detected external libraries [no ]

    Program options :
    —disable-programs do not build command line programs
    —disable-ffmpeg disable ffmpeg build
    —disable-ffplay disable ffplay build
    —disable-ffprobe disable ffprobe build
    —disable-ffserver disable ffserver build

    Documentation options :
    —disable-doc do not build documentation
    —disable-htmlpages do not build HTML documentation pages
    —disable-manpages do not build man documentation pages
    —disable-podpages do not build POD documentation pages
    —disable-txtpages do not build text documentation pages

    Component options :
    —disable-avdevice disable libavdevice build
    —disable-avcodec disable libavcodec build
    —disable-avformat disable libavformat build
    —disable-swresample disable libswresample build
    —disable-swscale disable libswscale build
    —disable-postproc disable libpostproc build
    —disable-avfilter disable libavfilter build
    —enable-avresample enable libavresample build [no]
    —disable-pthreads disable pthreads [autodetect]
    —disable-w32threads disable Win32 threads [autodetect]
    —disable-os2threads disable OS/2 threads [autodetect]
    —disable-network disable network support [no]
    —disable-dct disable DCT code
    —disable-dwt disable DWT code
    —disable-error-resilience disable error resilience code
    —disable-lsp disable LSP code
    —disable-lzo disable LZO decoder code
    —disable-mdct disable MDCT code
    —disable-rdft disable RDFT code
    —disable-fft disable FFT code
    —disable-faan disable floating point AAN (I)DCT code
    —disable-pixelutils disable pixel utils in libavutil

    Individual component options :
    —disable-everything disable all components listed below
    —disable-encoder=NAME disable encoder NAME
    —enable-encoder=NAME enable encoder NAME
    —disable-encoders disable all encoders
    —disable-decoder=NAME disable decoder NAME
    —enable-decoder=NAME enable decoder NAME
    —disable-decoders disable all decoders
    —disable-hwaccel=NAME disable hwaccel NAME
    —enable-hwaccel=NAME enable hwaccel NAME
    —disable-hwaccels disable all hwaccels
    —disable-muxer=NAME disable muxer NAME
    —enable-muxer=NAME enable muxer NAME
    —disable-muxers disable all muxers
    —disable-demuxer=NAME disable demuxer NAME
    —enable-demuxer=NAME enable demuxer NAME
    —disable-demuxers disable all demuxers
    —enable-parser=NAME enable parser NAME
    —disable-parser=NAME disable parser NAME
    —disable-parsers disable all parsers
    —enable-bsf=NAME enable bitstream filter NAME
    —disable-bsf=NAME disable bitstream filter NAME
    —disable-bsfs disable all bitstream filters
    —enable-protocol=NAME enable protocol NAME
    —disable-protocol=NAME disable protocol NAME
    —disable-protocols disable all protocols
    —enable-indev=NAME enable input device NAME
    —disable-indev=NAME disable input device NAME
    —disable-indevs disable input devices
    —enable-outdev=NAME enable output device NAME
    —disable-outdev=NAME disable output device NAME
    —disable-outdevs disable output devices
    —disable-devices disable all devices
    —enable-filter=NAME enable filter NAME
    —disable-filter=NAME disable filter NAME
    —disable-filters disable all filters
    —disable-v4l2_m2m disable V4L2 mem2mem code [autodetect]

    External library support :

    Using any of the following switches will allow FFmpeg to link to the
    corresponding external library. All the components depending on that library
    will become enabled, if all their other dependencies are met and they are not
    explicitly disabled. E.g. —enable-libwavpack will enable linking to
    libwavpack and allow the libwavpack encoder to be built, unless it is
    specifically disabled with —disable-encoder=libwavpack.

    Note that only the system libraries are auto-detected. All the other external
    libraries must be explicitly enabled.

    Also note that the following help text describes the purpose of the libraries
    themselves, not all their features will necessarily be usable by FFmpeg.

    —disable-alsa disable ALSA support [autodetect]
    —disable-appkit disable Apple AppKit framework [autodetect]
    —disable-avfoundation disable Apple AVFoundation framework [autodetect]
    —enable-avisynth enable reading of AviSynth script files [no]
    —disable-bzlib disable bzlib [autodetect]
    —disable-coreimage disable Apple CoreImage framework [autodetect]
    —enable-chromaprint enable audio fingerprinting with chromaprint [no]
    —enable-frei0r enable frei0r video filtering [no]
    —enable-gcrypt enable gcrypt, needed for rtmp(t)e support
    if openssl, librtmp or gmp is not used [no]
    —enable-gmp enable gmp, needed for rtmp(t)e support
    if openssl or librtmp is not used [no]
    —enable-gnutls enable gnutls, needed for https support
    if openssl is not used [no]
    —disable-iconv disable iconv [autodetect]
    —disable-jack disable libjack support [autodetect]
    —enable-jni enable JNI support [no]
    —enable-ladspa enable LADSPA audio filtering [no]
    —enable-libass enable libass subtitles rendering,
    needed for subtitles and ass filter [no]
    —enable-libbluray enable BluRay reading using libbluray [no]
    —enable-libbs2b enable bs2b DSP library [no]
    —enable-libcaca enable textual display using libcaca [no]
    —enable-libcelt enable CELT decoding via libcelt [no]
    —enable-libcdio enable audio CD grabbing with libcdio [no]
    —enable-libdc1394 enable IIDC-1394 grabbing using libdc1394
    and libraw1394 [no]
    —enable-libfdk-aac enable AAC de/encoding via libfdk-aac [no]
    —enable-libflite enable flite (voice synthesis) support via libflite [ no]
    —enable-libfontconfig enable libfontconfig, useful for drawtext filter [no]
    —enable-libfreetype enable libfreetype, needed for drawtext filter [no]
    —enable-libfribidi enable libfribidi, improves drawtext filter [no]
    —enable-libgme enable Game Music Emu via libgme [no]
    —enable-libgsm enable GSM de/encoding via libgsm [no]
    —enable-libiec61883 enable iec61883 via libiec61883 [no]
    —enable-libilbc enable iLBC de/encoding via libilbc [no]
    —enable-libkvazaar enable HEVC encoding via libkvazaar [no]
    —enable-libmodplug enable ModPlug via libmodplug [no]
    —enable-libmp3lame enable MP3 encoding via libmp3lame [no]
    —enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no ]
    —enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
    —enable-libopencv enable video filtering via libopencv [no]
    —enable-libopenh264 enable H.264 encoding via OpenH264 [no]
    —enable-libopenjpeg enable JPEG 2000 de/encoding via OpenJPEG [no]
    —enable-libopenmpt enable decoding tracked files via libopenmpt [no]
    —enable-libopus enable Opus de/encoding via libopus [no]
    —enable-libpulse enable Pulseaudio input via libpulse [no]
    —enable-librsvg enable SVG rasterization via librsvg [no]
    —enable-librubberband enable rubberband needed for rubberband filter [no]
    —enable-librtmp enable RTMP[E] support via librtmp [no]
    —enable-libshine enable fixed-point MP3 encoding via libshine [no]
    —enable-libsmbclient enable Samba protocol via libsmbclient [no]
    —enable-libsnappy enable Snappy compression, needed for hap encoding [n o]
    —enable-libsoxr enable Include libsoxr resampling [no]
    —enable-libspeex enable Speex de/encoding via libspeex [no]
    —enable-libssh enable SFTP protocol via libssh [no]
    —enable-libtesseract enable Tesseract, needed for ocr filter [no]
    —enable-libtheora enable Theora encoding via libtheora [no]
    —enable-libtwolame enable MP2 encoding via libtwolame [no]
    —enable-libv4l2 enable libv4l2/v4l-utils [no]
    —enable-libvidstab enable video stabilization using vid.stab [no]
    —enable-libvmaf enable vmaf filter via libvmaf [no]
    —enable-libvo-amrwbenc enable AMR-WB encoding via libvo-amrwbenc [no]
    —enable-libvorbis enable Vorbis en/decoding via libvorbis,
    native implementation exists [no]
    —enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no]
    —enable-libwavpack enable wavpack encoding via libwavpack [no]
    —enable-libwebp enable WebP encoding via libwebp [no]
    —enable-libx264 enable H.264 encoding via x264 [no]
    —enable-libx265 enable HEVC encoding via x265 [no]
    —enable-libxavs enable AVS encoding via xavs [no]
    —enable-libxcb enable X11 grabbing using XCB [autodetect]
    —enable-libxcb-shm enable X11 grabbing shm communication [autodetect]
    —enable-libxcb-xfixes enable X11 grabbing mouse rendering [autodetect]
    —enable-libxcb-shape enable X11 grabbing shape rendering [autodetect]
    —enable-libxvid enable Xvid encoding via xvidcore,
    native MPEG-4/Xvid encoder exists [no]
    —enable-libxml2 enable XML parsing using the C library libxml2 [no]
    —enable-libzimg enable z.lib, needed for zscale filter [no]
    —enable-libzmq enable message passing via libzmq [no]
    —enable-libzvbi enable teletext support via libzvbi [no]
    —disable-lzma disable lzma [autodetect]
    —enable-decklink enable Blackmagic DeckLink I/O support [no]
    —enable-libndi_newtek enable Newteck NDI I/O support [no]
    —enable-mediacodec enable Android MediaCodec support [no]
    —enable-libmysofa enable libmysofa, needed for sofalizer filter [no]
    —enable-openal enable OpenAL 1.1 capture support [no]
    —enable-opencl enable OpenCL code
    —enable-opengl enable OpenGL rendering [no]
    —enable-openssl enable openssl, needed for https support
    if gnutls is not used [no]
    —disable-sndio disable sndio support [autodetect]
    —disable-schannel disable SChannel SSP, needed for TLS support on
    Windows if openssl and gnutls are not used [autodetec t]
    —disable-sdl2 disable sdl2 [autodetect]
    —disable-securetransport disable Secure Transport, needed for TLS support
    on OSX if openssl and gnutls are not used [autodetect ]
    —disable-xlib disable xlib [autodetect]
    —disable-zlib disable zlib [autodetect]

    The following libraries provide various hardware acceleration features :
    —disable-audiotoolbox disable Apple AudioToolbox code [autodetect]
    —disable-cuda disable dynamically linked Nvidia CUDA code [autodete ct]
    —enable-cuda-sdk enable CUDA features that require the CUDA SDK [no]
    —disable-cuvid disable Nvidia CUVID support [autodetect]
    —disable-d3d11va disable Microsoft Direct3D 11 video acceleration code [autodetect]
    —disable-dxva2 disable Microsoft DirectX 9 video acceleration code [ autodetect]
    —enable-libdrm enable DRM code (Linux) [no]
    —enable-libmfx enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no]
    —enable-libnpp enable Nvidia Performance Primitives-based code [no]
    —enable-mmal enable Broadcom Multi-Media Abstraction Layer (Raspbe rry Pi) via MMAL [no]
    —disable-nvenc disable Nvidia video encoding code [autodetect]
    —enable-omx enable OpenMAX IL code [no]
    —enable-omx-rpi enable OpenMAX IL code for Raspberry Pi [no]
    —enable-rkmpp enable Rockchip Media Process Platform code [no]
    —disable-vaapi disable Video Acceleration API (mainly Unix/Intel) co de [autodetect]
    —disable-vda disable Apple Video Decode Acceleration code [autodet ect]
    —disable-vdpau disable Nvidia Video Decode and Presentation API for Unix code [autodetect]
    —disable-videotoolbox disable VideoToolbox code [autodetect]

    Toolchain options :
    —arch=ARCH select architecture []
    —cpu=CPU select the minimum required CPU (affects
    instruction selection, may crash on older CPUs)
    —cross-prefix=PREFIX use PREFIX for compilation tools []
    —progs-suffix=SUFFIX program name suffix []
    —enable-cross-compile assume a cross-compiler is used
    —sysroot=PATH root of cross-build tree
    —sysinclude=PATH location of cross-build system headers
    —target-os=OS compiler targets OS []
    —target-exec=CMD command to run executables on target
    —target-path=DIR path to view of build directory on target
    —target-samples=DIR path to samples directory on target
    —tempprefix=PATH force fixed dir/prefix instead of mktemp for checks
    —toolchain=NAME set tool defaults according to NAME
    —nm=NM use nm tool NM [nm -g]
    —ar=AR use archive tool AR [ar]
    —as=AS use assembler AS []
    —ln_s=LN_S use symbolic link tool LN_S [ln -s -f]
    —strip=STRIP use strip tool STRIP [strip]
    —windres=WINDRES use windows resource compiler WINDRES [windres]
    —x86asmexe=EXE use nasm-compatible assembler EXE [nasm]
    —cc=CC use C compiler CC [gcc]
    —cxx=CXX use C compiler CXX [g++]
    —objcc=OCC use ObjC compiler OCC [gcc]
    —dep-cc=DEPCC use dependency generator DEPCC [gcc]
    —nvcc=NVCC use Nvidia CUDA compiler NVCC [nvcc]
    —ld=LD use linker LD []
    —pkg-config=PKGCONFIG use pkg-config tool PKGCONFIG [pkg-config]
    —pkg-config-flags=FLAGS pass additional flags to pkgconf []
    —ranlib=RANLIB use ranlib RANLIB [ranlib]
    —doxygen=DOXYGEN use DOXYGEN to generate API doc [doxygen]
    —host-cc=HOSTCC use host C compiler HOSTCC
    —host-cflags=HCFLAGS use HCFLAGS when compiling for host
    —host-cppflags=HCPPFLAGS use HCPPFLAGS when compiling for host
    —host-ld=HOSTLD use host linker HOSTLD
    —host-ldflags=HLDFLAGS use HLDFLAGS when linking for host
    —host-libs=HLIBS use libs HLIBS when linking for host
    —host-os=OS compiler host OS []
    —extra-cflags=ECFLAGS add ECFLAGS to CFLAGS []
    —extra-cxxflags=ECFLAGS add ECFLAGS to CXXFLAGS []
    —extra-objcflags=FLAGS add FLAGS to OBJCFLAGS []
    —extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []
    —extra-ldexeflags=ELDFLAGS add ELDFLAGS to LDEXEFLAGS []
    —extra-ldlibflags=ELDFLAGS add ELDFLAGS to LDLIBFLAGS []
    —extra-libs=ELIBS add ELIBS []
    —extra-version=STRING version string suffix []
    —optflags=OPTFLAGS override optimization-related compiler flags
    —nvccflags=NVCCFLAGS override nvcc flags [-gencode arch=compute_30,code=sm _30 -O2]
    —build-suffix=SUFFIX library name suffix []
    —enable-pic build position-independent code
    —enable-thumb compile for Thumb instruction set
    —enable-lto use link-time optimization
    —env="ENV=override" override the environment variables

    Advanced options (experts only) :
    —malloc-prefix=PREFIX prefix malloc and related names with PREFIX
    —custom-allocator=NAME use a supported custom allocator
    —disable-symver disable symbol versioning
    —enable-hardcoded-tables use hardcoded tables instead of runtime generation
    —disable-safe-bitstream-reader
    disable buffer boundary checking in bitreaders
    (faster, but may crash)
    —sws-max-filter-size=N the max filter size swscale uses [256]

    Optimization options (experts only) :
    —disable-asm disable all assembly optimizations
    —disable-altivec disable AltiVec optimizations
    —disable-vsx disable VSX optimizations
    —disable-power8 disable POWER8 optimizations
    —disable-amd3dnow disable 3DNow ! optimizations
    —disable-amd3dnowext disable 3DNow ! extended optimizations
    —disable-mmx disable MMX optimizations
    —disable-mmxext disable MMXEXT optimizations
    —disable-sse disable SSE optimizations
    —disable-sse2 disable SSE2 optimizations
    —disable-sse3 disable SSE3 optimizations
    —disable-ssse3 disable SSSE3 optimizations
    —disable-sse4 disable SSE4 optimizations
    —disable-sse42 disable SSE4.2 optimizations
    —disable-avx disable AVX optimizations
    —disable-xop disable XOP optimizations
    —disable-fma3 disable FMA3 optimizations
    —disable-fma4 disable FMA4 optimizations
    —disable-avx2 disable AVX2 optimizations
    —disable-aesni disable AESNI optimizations
    —disable-armv5te disable armv5te optimizations
    —disable-armv6 disable armv6 optimizations
    —disable-armv6t2 disable armv6t2 optimizations
    —disable-vfp disable VFP optimizations
    —disable-neon disable NEON optimizations
    —disable-inline-asm disable use of inline assembly
    —disable-x86asm disable use of standalone x86 assembly
    —disable-mipsdsp disable MIPS DSP ASE R1 optimizations
    —disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations
    —disable-msa disable MSA optimizations
    —disable-mipsfpu disable floating point MIPS optimizations
    —disable-mmi disable Loongson SIMD optimizations
    —disable-fast-unaligned consider unaligned accesses slow

    Developer options (useful when working on FFmpeg itself) :
    —disable-debug disable debugging symbols
    —enable-debug=LEVEL set the debug level []
    —disable-optimizations disable compiler optimizations
    —enable-extra-warnings enable more compiler warnings
    —disable-stripping disable stripping of executables and shared libraries
    —assert-level=level 0(default), 1 or 2, amount of assertion testing,
    2 causes a slowdown at runtime.
    —enable-memory-poisoning fill heap uninitialized allocated space with arbitra ry data
    —valgrind=VALGRIND run "make fate" tests through valgrind to detect memo ry
    leaks and errors, using the specified valgrind binary .
    Cannot be combined with —target-exec
    —enable-ftrapv Trap arithmetic overflows
    —samples=PATH location of test samples for FATE, if not set use
    $FATE_SAMPLES at make invocation time.
    —enable-neon-clobber-test check NEON registers for clobbering (should be
    used only for debugging purposes)
    —enable-xmm-clobber-test check XMM registers for clobbering (Win64-only ;
    should be used only for debugging purposes)
    —enable-random randomly enable/disable components
    —disable-random
    —enable-random=LIST randomly enable/disable specific components or
    —disable-random=LIST component groups. LIST is a comma-separated list
    of NAME[:PROB] entries where NAME is a component
    (group) and PROB the probability associated with
    NAME (default 0.5).
    —random-seed=VALUE seed value for —enable/disable-random
    —disable-valgrind-backtrace do not print a backtrace under Valgrind
    (only applies to —disable-optimizations builds)
    —enable-osfuzz Enable building fuzzer tool
    —libfuzzer=PATH path to libfuzzer
    —ignore-tests=TESTS comma-separated list (without "fate-" prefix
    in the name) of tests whose result is ignored
    —enable-linux-perf enable Linux Performance Monitor API

    NOTE : Object files are built at the place where configure is launched.

  • Cohort Analysis 101 : How-To, Examples & Top Tools

    13 novembre 2023, par Erin — Analytics Tips

    Imagine that a farmer is trying to figure out why certain hens are laying large brown eggs and others are laying average-sized white eggs.

    The farmer decides to group the hens into cohorts based on what kind of eggs they lay to make it easier to detect patterns in their day-to-day lives. After careful observation and analysis, she discovered that the hens laying big brown eggs ate more than the roost’s other hens.

    With this cohort analysis, the farmer deduced that a hen’s body weight directly corresponds to egg size. She can now develop a strategy to increase the body weight of her hens to sell more large brown eggs, which are very popular at the weekly farmers’ market.

    Cohort analysis has a myriad of applications in the world of web analytics. Like our farmer, you can use it to better understand user behaviour and reap the benefits of your efforts. This article will discuss the best practices for conducting an effective cohort analysis and compare the top cohort analysis tools for 2024. 

    What is cohort analysis ?

    By definition, cohort analysis refers to a technique where users are grouped based on shared characteristics or behaviours and then examined over a specified period.

    Think of it as a marketing superpower, enabling you to comprehend user behaviours, craft personalised campaigns and allocate resources wisely, ultimately resulting in improved performance and better ROI.

    Why does cohort analysis matter ?

    In web analytics, a cohort is a group of users who share a certain behaviour or characteristic. The goal of cohort analysis is to uncover patterns and compare the performance and behaviour of different cohorts over time.

    An example of a cohort is a group of users who made their first purchase during the holidays. By analysing this cohort, you could learn more about their behaviour and buying patterns. You may discover that this cohort is more likely to buy specific product categories as holiday gifts — you can then tailor future holiday marketing campaigns to include these categories. 

    Types of cohort analysis

    There are a few different types of notable cohorts : 

    1. Time-based cohorts are groups of users categorised by a specific time. The example of the farmer we went over at the beginning of this section is a great example of a time-based cohort.
    2. Acquisition cohorts are users acquired during a specific time frame, event or marketing channel. Analysing these cohorts can help you determine the value of different acquisition methods. 
    3. Behavioural cohorts consist of users who show similar patterns of behaviour. Examples include frequent purchases with your mobile app or digital content engagement. 
    4. Demographic cohorts share common demographic characteristics like age, gender, education level and income. 
    5. Churn cohorts are buyers who have cancelled a subscription/stopped using your service within a specific time frame. Analysing churn cohorts can help you understand why customers leave.
    6. Geographic cohorts are pretty self-explanatory — you can use them to tailor your marketing efforts to specific regions. 
    7. Customer journey cohorts are based on the buyer lifecycle — from acquisition to adoption to retention. 
    8. Product usage cohorts are buyers who use your product/service specifically (think basic users, power users or occasional users). 

    Best practices for conducting a cohort analysis 

    So, you’ve decided you want to understand your user base better but don’t know how to go about it. Perhaps you want to reduce churn and create a more engaging user experience. In this section, we’ll walk you through the dos and don’ts of conducting an effective cohort analysis. Remember that you should tailor your cohort analysis strategy for organisation-specific goals.

    A line graph depicting product usage cohort data with a blue line for new users and a green line for power users.

    1. Preparing for cohort analysis : 

      • First, define specific goals you want your cohort analysis to achieve. Examples include improving conversion rates or reducing churn.
      • Choosing the right time frame will help you compare short-term vs. long-term data trends. 

    2. Creating effective cohorts : 

      • Define your segmentation criteria — anything from demographics to location, purchase history or user engagement level. Narrowing in on your specific segments will make your cohort analysis more precise. 
      • It’s important to find a balance between cohort size and similarity. If your cohort is too small and diverse, you won’t be able to find specific behavioural patterns.

    3. Performing cohort analysis :

        • Study retention rates across cohorts to identify patterns in user behaviour and engagement over time. Pay special attention to cohorts with high retention or churn rates. 
        • Analysing cohorts can reveal interesting behavioural insights — how do specific cohorts interact with your website ? Do they have certain preferences ? Why ? 

    4. Visualising and interpreting data :

      • Visualising your findings can be a great way to reveal patterns. Line charts can help you spot trends, while bar charts can help you compare cohorts.
      • Guide your analytics team on how to interpret patterns in cohort data. Watch for sudden drops or spikes and what they could mean. 

    5. Continue improving :

      • User behaviour is constantly evolving, so be adaptable. Continuous tracking of user behaviour will help keep your strategies up to date. 
      • Encourage iterative analysis optimisation based on your findings. 
    wrench trying to hammer in a nail, and a hammer trying to screw in a screw to a piece of wood

    The top cohort analysis tools for 2024

    In this section, we’ll go over the best cohort analysis tools for 2024, including their key features, cohort analysis dashboards, cost and pros and cons.

    1. Matomo

    A screenshot of a cohorts graph in Matomo

    Matomo is an open-source, GDPR-compliant web analytics solution that offers cohort analysis as a standard feature in Matomo Cloud and is available as a plugin for Matomo On-Premise. Pairing traditional web analytics with cohort analysis will help you gain even deeper insights into understanding user behaviour over time. 

    You can use the data you get from web analytics to identify patterns in user behaviour and target your marketing strategies to specific cohorts. 

    Key features

    • Matomo offers a cohorts table that lets you compare cohorts side-by-side, and it comes with a time series.
      • All core session and conversion metrics are also available in the Cohorts report.
    • Create custom segments based on demographics, geography, referral sources, acquisition date, device types or user behaviour. 
    • Matomo provides retention analysis so you can track how many users from a specific cohort return to your website and when. 
    • Flexibly analyse your cohorts with custom reports. Customise your reports by combining metrics and dimensions specific to different cohorts. 
    • Create cohorts based on events or interactions with your website. 
    • Intuitive, colour-coded data visualisation, so you can easily spot patterns.

    Pros

    • No setup is needed if you use the JavaScript tracker
    • You can fetch cohort without any limit
    • 100% accurate data, no AI or Machine Learning data filling, and without the use of data sampling

    Cons

    • Matomo On-Premise (self-hosted) is free, but advanced features come with additional charges
    • Servers and technical know-how are required for Matomo On-Premise. Alternatively, for those not ready for self-hosting, Matomo Cloud presents a more accessible option and starts at $19 per month.

    Price : 

    • Matomo Cloud : 21-day free trial, then starts at $19 per month (includes Cohorts).
    • Matomo On-Premise : Free to self-host ; Cohorts plugin : 30-day free trial, then $99 per year.

    2. Mixpanel

    Mixpanel is a product analytics tool designed to help teams better understand user behaviour. It is especially well-suited for analysing user behaviour on iOS and Android apps. It offers various cohort analytics features that can be used to identify patterns and engage your users. 

    Key features

    • Create cohorts based on criteria such as sign-up date, first purchase date, referral source, geographic location, device type or another custom event/property. 
    • Compare how different cohorts engage with your app with Mixpanel’s comparative analysis features.
    • Create interactive dashboards, charts and graphs to visualise data.
    • Mixpanel provides retention analysis tools to see how often users return to your product over time. 
    • Send targeted messages and notifications to specific cohorts to encourage user engagement, announce new features, etc. 
    • Track and analyse user behaviours within cohorts — understand how different types of users engage with your product.

    Pros

    • Easily export cohort analysis data for further analysis
    • Combined with Mixpanel reports, cohorts can be a powerful tool for improving your product

    Cons

    • With the free Mixpanel plan, you can’t save cohorts for future use
    • Enterprise-level pricing is expensive
    • Time-consuming cohort creation process

    Price : Free basic version. The growth version starts at £16/month.

    3. Amplitude

    A screenshot of a cohorts graph in Amplitude

    Amplitude is another product analytics solution that can help businesses track user interactions across digital platforms. Amplitude offers a standard toolkit for in-depth cohort analysis.

    Key features

    • Create cohorts based on criteria such as sign-up date, first purchase date, referral source, geographic location, device type or another custom event/property. 
    • Conduct behavioural, time-based and retention analyses.
    • Create custom reports with custom data.
    • Segment cohorts further based on additional criteria and compare multiple cohorts side-by-side.

    Pros

    • Highly customisable and flexible
    • Quick and simple setup

    Cons

    • Steep learning curve — requires significant training 
    • Slow loading speed
    • High price point compared to other tools

    Price : Free basic version. Plus version starts at £40/month (billed annually).

    4. Kissmetrics

    A screenshot of a cohorts graph in Kissmetrics

    Kissmetrics is a customer engagement automation platform that offers powerful analytics features. Kissmetrics provides behavioural analytics, segmentation and email campaign automation. 

    Key features

    • Create cohorts based on demographics, user behaviour, referral sources, events and specific time frames.
    • The user path tool provides path visualisation so you can identify common paths users take and spot abandonment points. 
    • Create and optimise conversion funnels.
    • Customise events, user properties, funnels, segments, cohorts and more.

    Pros

    • Powerful data visualisation options
    • Highly customisable

    Cons

    • Difficult to install
    • Not well-suited for small businesses
    • Limited integration with other tools

    Price : Starting at £21/month for 10k events (billed monthly).

    Improve your cohort analysis with Matomo

    When choosing a cohort analysis tool, consider factors such as the tool’s ease of integration with your existing systems, data accuracy, the flexibility it offers in defining cohorts, the comprehensiveness of reporting features, and its scalability to accommodate the growth of your data and analysis needs over time. Moreover, it’s essential to confirm GDPR compliance to uphold rigorous privacy standards. 

    If you’re ready to understand your user’s behaviour, take Matomo for a test drive. Paired with web analytics, this powerful combination can advance your marketing efforts. Start your 21-day free trial today — no credit card required.