Recherche avancée

Médias (91)

Autres articles (30)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

  • Les statuts des instances de mutualisation

    13 mars 2010, par

    Pour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
    Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...)

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

Sur d’autres sites (4457)

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

  • Protecting consumer privacy : How to ensure CCPA compliance

    18 août 2023, par Erin — CCPA, Privacy

    The California Consumer Privacy Act (CCPA) is a state law that enhances privacy rights and consumer protection for residents of California. 

    It grants consumers six rights, like the right to know what personal information is being collected about them by businesses and others. 

    CCPA also requires businesses to provide notice of data collection practices. Consumers can choose to opt out of the sale of their data. 

    In this article, we’ll learn more about the scope of CCPA, the penalties for non-compliance and how our web analytics tool, Matomo, can help you create a CCPA-compliant framework.

    What is the CCPA ? 

    CCPA was implemented on January 1, 2020. It ensures that businesses securely handle individuals’ personal information and respect their privacy in the digital ecosystem. 

    How does CCPA compliance add value

    CCPA addresses the growing concerns over privacy and data protection ; 40% of US consumers share that they’re worried about digital privacy. With the increasing amount of personal information being collected and shared by businesses, there was a need to establish regulations to provide individuals with more control and transparency over their data. 

    CCPA aims to protect consumer privacy rights and promote greater accountability from businesses when handling personal information.

    Scope of CCPA 

    The scope of CCPA includes for-profit businesses that collect personal information from California residents, regardless of where you run the business from.

    It defines three thresholds that determine the inclusion criteria for businesses subject to CCPA regulations. 

    Businesses need to abide by CCPA if they meet any of the three options :

    1. Revenue threshold : Have an annual gross revenue of over $25 million.
    2. Consumer threshold : Businesses that purchase, sell or distribute the personal information of 100,000 or more consumers, households or devices.
    3. Data threshold : Businesses that earn at least half of their revenue annually from selling the personal information of California residents.

    What are the six consumer rights under the CCPA ? 

    Here’s a short description of the six consumer rights. 

    The six rights of consumers under CCPA
    1. Right to know : Under this right, you can ask a business to disclose specific personal information they collect about you and the categories of sources of the information. You can also know the purpose of collection and to which third-party the business will disclose this info. This allows consumers to understand what information is being held and how it is used. You can request this info for free twice a year.
    2. Right to delete : Consumers can request the deletion of their personal information. Companies must comply with some exceptions.
    3. Right to opt-out : Consumers can deny the sale of their personal information. Companies must provide a link on their homepage for users to exercise this right. After you choose this, companies can’t sell your data unless you authorise them to do so later.
    4. Right to non-discrimination : Consumers cannot be discriminated against for exercising their CCPA rights. For instance, a company cannot charge different prices, provide a different quality of service or deny services.
    5. Right to correct : Consumers can request to correct inaccurate personal information.

    6. Right to limit use : Consumers can specify how they want the businesses to use their sensitive personal information. This includes social security numbers, financial account details, precise geolocation data or genetic data. Consumers can direct businesses to use this sensitive information only for specific purposes, such as providing the requested services.

    Penalties for CCPA non-compliance 

    52% of organisations have yet to adopt CCPA principles as of 2022. Non-compliance can attract penalties.

    Section 1798.155 of the CCPA states that any business that doesn’t comply with CCPA’s terms can face penalties based on the consumer’s private right to action. Consumers can directly take the company to the civil court and don’t need prosecutors’ interventions. 

    Businesses get a chance of 30 days to make amends for their actions. 

    If that’s also not possible, the business may receive a civil penalty of up to $2,500 per violation. Violations can be of any kind, even accidental. An intentional violation can attract a fine of $7,500. 

    Consumers can also initiate private lawsuits to claim damages that range from $100 to $750, or actual damages (whichever is higher), for each occurrence of their unredacted and unencrypted data being breached on a business’s server.

    CCPA vs. GDPR 

    Both CCPA and GDPR aim to enhance individuals’ control over their personal information and provide transparency about how their data is collected, used and shared. The comparison between the CCPA and GDPR is crucial in understanding the regulatory framework of data protection laws.

    Here’s how CCPA and GDPR differ :

    Scope

    • CCPA is for businesses that meet specific criteria and collect personal information from California residents. 
    • GDPR (General Data Protection Regulation) applies to businesses that process the personal data of citizens and residents of the European Union.

    Definition of personal information

    • CCPA includes personal information broadly, including identifiers such as IP addresses and households. Examples include name, email id, location and browsing history. However, it excludes HIPAA-protected medical data, clinical trial data and other personal information from government records.
    • GDPR covers any personal data relating to an identified or identifiable individual, excluding households. Examples include the phone number, email address and personal identification number. It excludes anonymous and deceased person’s data.
    Personal information definition under CCPA and GDPR

    Consent

    • Under the CCPA, consumers can opt out of the sale of their personal information.
    • GDPR states that organisations should obtain explicit consent from individuals for processing their personal data.

    Rights

    • CCPA grants the right to know what personal information is being collected and the right to request deletion of their personal information.
    • GDPR also gives individuals various rights, such as the right to access and rectify their personal data, the right to erasure (also known as the right to be forgotten) and also the right to data portability. 

    Enforcement

    • For CCPA, businesses may have to pay $7,500 for each violation. 
    • GDPR has stricter penalties for non-compliance, with fines of up to 4% of the global annual revenue of a company or €20 million, whichever is higher.

    A 5-step CCPA compliance framework 

    Here’s a simple framework you can follow to ensure compliance with CCPA. Alongside this, we’ll also share how Matomo can help. 

    Matomo is an open-source web analytics platform trusted by organisations like the United Nations, NASA and more. It provides valuable insights into website traffic, visitor behaviour and marketing effectiveness. More than 1 million websites and apps (approximately 1% of the internet !) use our solution, and it’s available in 50+ languages. Below, we’ll share how you can use Matomo to be CCPA compliant.

    1. Assess data

    First, familiarise yourself with the California Consumer Privacy Act and check your eligibility for CCPA compliance. 

    For example, as mentioned earlier, one threshold is : purchases, receives or sells the personal data of 100,000 or more individuals or households

    But how do you know if you have crossed 100K ? With Matomo ! 

    Go to last year’s calendar, select visitors, then go to locations and under the “Region” option, check for California. If you’ve crossed 100K visitors, you know you have to become CCPA compliant.

    View geolocation traffic details in Matomo

    Identify and assess the personal information you collect with Matomo.

    2. Evaluate privacy practices

    Review the current state of your privacy policies and practices. Conduct a thorough assessment of data sharing and third-party agreements. Then, update policies and procedures to align with CCPA requirements.

    For example, you can anonymise IP addresses with Matomo to ensure that user data collected for web analytics purposes cannot be used to trace back to specific individuals.

    Using Matomo to anonymize visitors' IP addresses

    If you have a consent management solution to honour user requests for data privacy, you can also integrate Matomo with it. 

    3. Communicate 

    Inform consumers about their CCPA rights and how you handle their data.

    Establish procedures for handling consumer requests and obtaining consent. For example, you can add an opt-out form on your website with Matomo. Or you can also use Matomo to disable cookies from your website.

    Screenshot of a command line disabling cookies

    Documenting your compliance efforts, including consumer requests and how you responded to them, is a good idea. Finally, educate staff on CCPA compliance and their responsibilities to work collaboratively.

    4. Review vendor contracts

    Assessing vendor contracts allows you to determine if they include necessary data processing agreements. You can also identify if vendors are sharing personal information with third parties, which could pose a compliance risk. Verify if vendors have adequate security measures in place to protect the personal data they handle.

    That’s why you can review and update agreements to include provisions for data protection, privacy and CCPA requirements.

    Establish procedures to monitor and review vendor compliance with CCPA regularly. This may include conducting audits, requesting certifications and implementing controls to mitigate risks associated with vendors handling personal data.

    5. Engage legal counsel

    Consider consulting with legal counsel to ensure complete understanding and compliance with CCPA regulations.

    Finally, stay updated on any changes or developments related to CCPA and adjust your compliance efforts accordingly.

    Matomo and CCPA compliance 

    There’s an increasing emphasis on privacy regulations like CCPA. Matomo offers a robust solution that allows businesses to be CCPA-compliant without sacrificing the ability to track and analyse crucial data.

    You can gain in-depth insights into user behaviour and website performance — all while prioritising data protection and privacy. 

    Request a demo or sign up for a free 21-day trial to get started with our powerful CCPA-compliant web analytics platform — no credit card required. 

    Disclaimer

    We are not lawyers and don’t claim to be. The information provided here is to help give an introduction to CCPA. We encourage every business and website to take data privacy seriously and discuss these issues with your lawyer if you have any concerns.