Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (37)

  • 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

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (4866)

  • FFMPEG equalizer clipping audio despite low volume

    23 juillet 2023, par Tom

    I'm using ffmpeg to equalise audio transferred from historic gramophone records, using standard eqs of the era.

    


    The frequency and gain values are taken from the graphic eq settings listed on the Audacity website - https://plugins.audacityteam.org/additional-resources/eq-curves/playback-equalization-for-78-rpm-shellacs-and-early-33-lps

    


    An example of the Blumlien300 curve here - https://2850314611-files.gitbook.io/ /files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FklCVENFte0GRy5IqVz0W%2Fuploads%2FJHS6Mv121GX1h898xy4K%2FBlumlein300_3.2.2.txt?alt=media&token=8d04df05-366d-47f8-8c82-149fa5eda59a

    


    The audio file I'm testing with has a digital peak of -35db, the highest gain value applied on this eq is 17db. When I run the ffmpeg command though, it reports the audio is clipping and the result is a horribly distorted recording.

    


    Can anyone advise why this is happening ? I run the same file through the same eq settings in Audacity and the result is as expected.

    


    set eq="equalizer=f=22050:g=-0.4,equalizer=f=21203.720228928225:g=-0.4,equalizer=f=20389.920705063967:g=-0.4,equalizer=f=19607.354835383569:g=-0.4,equalizer=f=18854.823871147240:g=-0.4,equalizer=f=18131.175071633737:g=-0.4,equalizer=f=17435.299938351014:g=-0.4,equalizer=f=16766.132517017904:g=-0.4,equalizer=f=16122.647764715837:g=-0.4,equalizer=f=15503.859979709296:g=-0.4,equalizer=f=14908.821291529812:g=-0.4,equalizer=f=14336.620209010769:g=-0.4,equalizer=f=13786.380224048187:g=-0.4,equalizer=f=13257.258468950000:g=-0.4,equalizer=f=12748.444425315412:g=-0.4,equalizer=f=12259.158682468413:g=-0.4,equalizer=f=11788.651743541806:g=-0.4,equalizer=f=11336.202877384472:g=-0.4,equalizer=f=10901.119014532051:g=-0.4,equalizer=f=10482.733685550458:g=-0.4,equalizer=f=10080.406000125797:g=-0.4,equalizer=f=9693.519665336817:g=-0.4,equalizer=f=9321.482041606178:g=-0.4,equalizer=f=8963.723234884175:g=-0.4,equalizer=f=8619.695223674737:g=-0.4,equalizer=f=8288.871019565895:g=-0.4,equalizer=f=7970.743859979441:g=-0.4,equalizer=f=7664.826431902562:g=-0.4,equalizer=f=7370.650125412990:g=-0.4,equalizer=f=7087.764315853595:g=-0.4,equalizer=f=6815.735673557399:g=-0.4,equalizer=f=6554.147500065165:g=-0.4,equalizer=f=6302.599089819104:g=-0.4,equalizer=f=6060.705116354743:g=-0.4,equalizer=f=5828.095042050793:g=-0.4,equalizer=f=5604.412550532827:g=-0.4,equalizer=f=5389.315000861326:g=-0.4,equalizer=f=5182.472902668021:g=-0.394052055589,equalizer=f=4983.569411436476:g=-0.386751590389,equalizer=f=4792.299843153906:g=-0.376185664074,equalizer=f=4608.371207590573:g=-0.362543760251,equalizer=f=4431.501759492006:g=-0.345993198097,equalizer=f=4261.420566996452:g=-0.330710126890,equalizer=f=4097.867096616487:g=-0.318503033191,equalizer=f=3940.590814149046:g=-0.309564283335,equalizer=f=3789.350800902538:g=-0.303741189604,equalizer=f=3643.915384653179:g=-0.300601888512,equalizer=f=3504.061784765236:g=-0.3,equalizer=f=3369.575770931567:g=-0.3,equalizer=f=3240.251335011708:g=-0.3,equalizer=f=3115.890375464830:g=-0.3,equalizer=f=2996.302393894170:g=-0.3,equalizer=f=2881.304203238093:g=-0.3,equalizer=f=2770.719647160795:g=-0.3,equalizer=f=2664.379330212802:g=-0.3,equalizer=f=2562.120358347913:g=-0.3,equalizer=f=2463.786089399117:g=-0.3,equalizer=f=2369.225893131248:g=-0.3,equalizer=f=2278.294920502843:g=-0.3,equalizer=f=2190.853881783698:g=-0.3,equalizer=f=2106.768833188346:g=-0.296437432785,equalizer=f=2025.910971698469:g=-0.290217913930,equalizer=f=1948.156437760116:g=-0.280922418484,equalizer=f=1873.386125553329:g=-0.268550946447,equalizer=f=1801.485500543704:g=-0.253103497820,equalizer=f=1732.344424036255:g=-0.235614749092,equalizer=f=1665.856984462975:g=-0.218076286078,equalizer=f=1601.921335145533:g=-0.200537822606,equalizer=f=1540.439538284674:g=-0.184632657170,equalizer=f=1481.317414937308:g=-0.168779161348,equalizer=f=1424.464400751469:g=-0.152925665153,equalizer=f=1369.793407238189:g=-0.137072168707,equalizer=f=1317.220688367753:g=-0.121218672255,equalizer=f=1266.665712285991:g=-0.105365175802,equalizer=f=1218.051037954117:g=-0.088396941462,equalizer=f=1171.302196523118:g=-0.070858476440,equalizer=f=1126.347577261013:g=-0.053320011417,equalizer=f=1083.118317858216:g=-0.034770724190,equalizer=f=1041.548198942992:g=-0.013200571808,equalizer=f=1001.573542645411:g=0.011445558081,equalizer=f=963.133115054414:g=0.039167665478,equalizer=f=926.168032418592:g=0.069965750383,equalizer=f=890.621670946974:g=0.103839812794,equalizer=f=856.439580071665:g=0.140789852714,equalizer=f=823.569399039473:g=0.180815870141,equalizer=f=791.960776704742:g=0.223158863450,equalizer=f=761.565294400547:g=0.266149082252,equalizer=f=732.336391770094:g=0.311823093692,equalizer=f=704.229295444710:g=0.360237839089,equalizer=f=677.200950459179:g=0.413174176689,equalizer=f=651.209954299352:g=0.471478099167,equalizer=f=626.216493481026:g=0.535493496953,equalizer=f=602.182282562909:g=0.606978871276,equalizer=f=579.070505500287:g=0.684199304160,equalizer=f=556.845759249530:g=0.767096732395,equalizer=f=535.473999537060:g=0.853776460170,equalizer=f=514.922488709709:g=0.943323717867,equalizer=f=495.159745586582:g=1.036571598687,equalizer=f=476.155497235608:g=1.135335711982,equalizer=f=457.880632600910:g=1.237175803242,equalizer=f=440.307157909949:g=1.342335109599,equalizer=f=423.408153792158:g=1.453088412615,equalizer=f=407.157734043353:g=1.569993670188,equalizer=f=391.531005972773:g=1.688508164136,equalizer=f=376.504032271996:g=1.808802987893,equalizer=f=362.053794347337:g=1.934465396527,equalizer=f=348.158157059540:g=2.065823830001,equalizer=f=334.795834816768:g=2.204891058267,equalizer=f=321.946358968944:g=2.352009664049,equalizer=f=309.590046453497:g=2.509552803849,equalizer=f=297.707969644483:g=2.678532979186,equalizer=f=286.281927358906:g=2.856115742576,equalizer=f=275.294416975809:g=3.041612670003,equalizer=f=264.728607625441:g=3.230723044219,equalizer=f=254.568314407418:g=3.422700948357,equalizer=f=244.797973598401:g=3.621312762050,equalizer=f=235.402618811295:g=3.826195809769,equalizer=f=226.367858069467:g=4.034154835453,equalizer=f=217.679851760848:g=4.246639157749,equalizer=f=209.325291438168:g=4.468048945659,equalizer=f=201.291379432825:g=4.698686666092,equalizer=f=193.565809251186:g=4.938552319047,equalizer=f=186.136746723276:g=5.187645904525,equalizer=f=178.992811874976:g=5.445967422525,equalizer=f=172.123061495972:g=5.712025685327,equalizer=f=165.516972376744:g=5.984236264250,equalizer=f=159.164425188922:g=6.258981796419,equalizer=f=153.055688984312:g=6.515823590632,equalizer=f=147.181406288853:g=6.777692051390,equalizer=f=141.532578768664:g=7.044587178695,equalizer=f=136.100553446236:g=7.314095599483,equalizer=f=130.877009445637:g=7.583605034445,equalizer=f=125.853945246444:g=7.853114469407,equalizer=f=121.023666426868:g=8.146285201135,equalizer=f=116.378773877299:g=8.444439101287,equalizer=f=111.912152466211:g=8.742593001439,equalizer=f=107.616960141075:g=9.042209423688,equalizer=f=103.486617447577:g=9.344900874707,equalizer=f=99.514797451091:g=9.650668303691,equalizer=f=95.695416044961:g=9.959511710641,equalizer=f=92.022622630759:g=10.271431095557,equalizer=f=88.490791156230:g=10.586541422511,equalizer=f=85.094511497198:g=10.906991735356,equalizer=f=81.828581170245:g=11.233594002758,equalizer=f=78.687997363448:g=11.556996378650,equalizer=f=75.667949272979:g=11.873211536187,equalizer=f=72.763810733831:g=12.194794278600,equalizer=f=69.971133133372:g=12.521192148224,equalizer=f=67.285638596875:g=12.846501740168,equalizer=f=64.703213434600:g=13.169127539473,equalizer=f=62.219901840358:g=13.492484068742,equalizer=f=59.831899831942:g=13.820346094285,equalizer=f=57.535549424116:g=14.145340590334,equalizer=f=55.327333025244:g=14.467659297988,equalizer=f=53.203868048980:g=14.789401139821,equalizer=f=51.161901732761:g=15.111142981226,equalizer=f=49.198306155165:g=15.437629968456,equalizer=f=47.310073444503:g=15.770860796927,equalizer=f=45.494311171305:g=16.104091624940,equalizer=f=43.748237917649:g=16.412536097232,equalizer=f=42.069179016527:g=16.579143834849,equalizer=f=40.454562454745:g=16.588876722789,equalizer=f=38.901914933067:g=16.461103901687,equalizer=f=37.408858077565:g=16.215674576171,equalizer=f=35.973104796389:g=15.850016386783,equalizer=f=34.592455776352:g=15.350234288456,equalizer=f=33.264796113983:g=14.615823142814,equalizer=f=31.988092075884:g=13.626809695512,equalizer=f=30.760387983412:g=12.332756508563,equalizer=f=29.579803216941:g=10.518513413063,equalizer=f=28.444529335092:g=8.346792732977,equalizer=f=27.352827304528:g=5.833681758551,equalizer=f=26.303024836072:g=3.097942665008,equalizer=f=25.293513823067:g=0.163604913582,equalizer=f=24.322747878043:g=-2.887748621210,equalizer=f=23.389239963935:g=-6.091081601564,equalizer=f=22.491560116216:g=-9.478973229620,equalizer=f=21.628333252442:g=-12.539218030638,equalizer=f=20.798237065887:g=-14.384804507659,equalizer=f=20:g=-15"
ffmpeg -i "File.wav" -af %eq% -c:a pcm_s24le out.wav


    


  • FFmpeg Successfully Pushes Stream to Nginx RTMP but Unable to Play with ffplay or VLC [closed]

    2 août 2024, par ShaoKun Lou

    FFmpeg Successfully Pushes Stream to Nginx RTMP but Unable to Play with ffplay or VLC

    


    I followed the tutorial below :tutorial

    


    to set up an RTMP server using Nginx, and successfully pushed a stream with FFmpeg.
Here is the nginx.conf file :

    


    rtmp {
        server {
                listen 1935;
                chunk_size 4096;
                allow publish 127.0.0.1;
                deny publish all;

                application live {
                        live on;
                        record off;
                        allow play all;
                }
        }
}


    


    and here is the console output from pushing the stream :

    


    ffmpeg -re -i bejeweled.mp4 -c:v libx264 -c:a aac -f flv rtmp://127.0.0.1/live/stream
ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
  configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bejeweled.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
    description     : Bilibili VXCode Swarm Transcoder v0.7.43
  Duration: 00:03:18.39, start: 0.000000, bitrate: 424 kb/s
  Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 640x360 [SAR 1:1 DAR 16:9], 352 kb/s, 23.98 fps, 23.98 tbr, 16k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 65 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x58b1ca9cee80] using SAR=1/1
[libx264 @ 0x58b1ca9cee80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x58b1ca9cee80] profile High, level 3.0, 4:2:0, 8-bit
[libx264 @ 0x58b1ca9cee80] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://127.0.0.1/live/stream':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    description     : Bilibili VXCode Swarm Transcoder v0.7.43
    encoder         : Lavf60.16.100
  Stream #0:0(und): Video: h264 ([7][0][0][0] / 0x0007), yuv420p(tv, bt709, progressive), 640x360 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 1k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.31.102 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1(und): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.31.102 aac
frame=    0 fps=0.0 q=0.0 size=       1kB time=00:00:00.60 bitrate=   7.2kbits/sframe=    0 fps=0.0 q=0.0 size=       1kB time=00:00:01.11 bitrate=   3.9kbits/sframe=    0 fps=0.0 q=0.0 size=       1kB time=00:00:01.62 bitrate=   2.7kbits/sframe=    0 fps=0.0 q=0.0 size=       1kB time=00:00:02.13 bitrate=   2.0kbits/sframe=    0 fps=0.0 q=0.0 size=       1kB time=00:00:02.62 bitrate=   1.7kbits/sframe=    6 fps=2.2 q=28.0 size=       6kB time=00:00:03.15 bitrate=  16.2kbits/...


    


    But when I try to play the stream using ffplay or VLC, it gets stuck in a waiting state.
this is the console output :

    


    leo@leo-devp:~$ ffplay rtmp://127.0.0.1/live/stream
ffplay version 6.1.1-3ubuntu5 Copyright (c) 2003-2023 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
  configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
^Cleo@leo-devp:~$ 0 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0 


    


    and this is /var/log/nginx/access.log :

    


    127.0.0.1 [02/Aug/2024:14:56:38 +0800] PUBLISH "live" "stream" "" - 415 529 "" "FMLE/3.0 (compatible; Lavf60.16" (0s)
127.0.0.1 [02/Aug/2024:14:59:59 +0800] PUBLISH "live" "stream" "" - 10501019 529 "" "FMLE/3.0 (compatible; Lavf60.16" (3m 18s)
127.0.0.1 [02/Aug/2024:15:01:21 +0800] PLAY "live" "stream" "" - 401 490 "" "LNX 9,0,124,2" (4m 35s)
127.0.0.1 [02/Aug/2024:15:09:49 +0800] PUBLISH "live" "stream" "" - 2733579 529 "" "FMLE/3.0 (compatible; Lavf60.16" (52s)
127.0.0.1 [02/Aug/2024:15:10:15 +0800] PLAY "live" "stream" "" - 372 436 "" "LNX 9,0,124,2" (54s)
127.0.0.1 [02/Aug/2024:15:11:52 +0800] PLAY "live" "stream" "" - 372 436 "" "LNX 9,0,124,2" (17s)
127.0.0.1 [02/Aug/2024:15:13:24 +0800] PLAY "live" "stream" "" - 393 472 "" "LNX 9,0,124,2" (3m 5s)
127.0.0.1 [02/Aug/2024:15:13:24 +0800] PUBLISH "live" "stream" "" - 23343914 529 "" "FMLE/3.0 (compatible; Lavf60.16" (3m 18s)
127.0.0.1 [02/Aug/2024:15:13:39 +0800] PLAY "live" "stream" "" - 372 436 "" "LNX 9,0,124,2" (10s)
127.0.0.1 [02/Aug/2024:15:15:48 +0800] PLAY "live" "stream" "" - 393 472 "" "LNX 9,0,124,2" (3m 34s)


    


    There are no relevant log records in /var/log/nginx/error.log

    


    the firwall status :

    


    leo@leo-devp:~$ sudo ufw status


    


    [sudo] leo 的密码:
状态: 激活

    


    至 动作 来自

    



    


    3306/tcp ALLOW Anywhere
    
1935/tcp ALLOW Anywhere
    
19355/tcp ALLOW Anywhere
    
19355 ALLOW Anywhere
    
1935 ALLOW Anywhere
    
3306/tcp (v6) ALLOW Anywhere (v6)
    
1935/tcp (v6) ALLOW Anywhere (v6)
    
19355/tcp (v6) ALLOW Anywhere (v6)
    
19355 (v6) ALLOW Anywhere (v6)
    
1935 (v6) ALLOW Anywhere (v6)

    


    Please point out what I did wrong and how to correct it. Thank you.

    


  • A Guide to GDPR Sensitive Personal Data

    13 mai 2024, par Erin

    The General Data Protection Regulation (GDPR) is one of the world’s most stringent data protection laws. It provides a legal framework for collection and processing of the personal data of EU individuals.

    The GDPR distinguishes between “special categories of personal data” (also referred to as “sensitive”) and other personal data and imposes stricter requirements on collection and processing of sensitive data. Understanding these differences will help your company comply with the requirements and avoid heavy penalties.

    In this article, we’ll explain what personal data is considered “sensitive” according to the GDPR. We’ll also examine how a web analytics solution like Matomo can help you maintain compliance.

    What is sensitive personal data ?

    The following categories of data are treated as sensitive :

      1. Personal data revealing :
        • Racial or ethnic origin ;
        • Political opinions ;
        • Religious or philosophical beliefs ;
        • Trade union membership ;
      2. Genetic and biometric data ;
      3. Data concerning a person’s :
        • Health ; or
        • Sex life or sexual orientation.
    Examples of GDPR Sensitive Personal Data

    Sensitive vs. non-sensitive personal data : What’s the difference ?

    While both categories include information about an individual, sensitive data is seen as more private, or requiring a greater protection. 

    Sensitive data often carries a higher degree of risk and harm to the data subject, if the data is exposed. For example, a data breach exposing health records could lead to discrimination for the individuals involved. An insurance company could use the information to increase premiums or deny coverage. 

    In contrast, personal data like name or gender is considered less sensitive because it doesn’t carry the same degree of harm as sensitive data. 

    Unauthorised access to someone’s name alone is less likely to harm them or infringe on their fundamental rights and freedoms than an unauthorised access to their health records or biometric data. Note that financial information (e.g. credit card details) does not fall into the special categories of data.

    Table displaying different sensitive data vs non-sensitive data

    Legality of processing

    Under the GDPR, both sensitive and nonsensitive personal data are protected. However, the rules and conditions for processing sensitive data are more stringent.

    Article 6 deals with processing of non-sensitive data and it states that processing is lawful if one of the six lawful bases for processing applies. 

    In contrast, Art. 9 of the GDPR states that processing of sensitive data is prohibited as a rule, but provides ten exceptions. 

    It is important to note that the lawful bases in Art. 6 are not the same as exceptions in Art. 9. For example, while performance of a contract or legitimate interest of the controller are a lawful basis for processing non-sensitive personal data, they are not included as an exception in Art. 9. What follows is that controllers are not permitted to process sensitive data on the basis of contract or legitimate interest. 

    The exceptions where processing of sensitive personal data is permitted (subject to additional requirements) are : 

    • Explicit consent : The individual has given explicit consent to processing their sensitive personal data for specified purpose(s), except where an EU member state prohibits such consent. See below for more information about explicit consent. 
    • Employment, social security or social protection : Processing sensitive data is necessary to perform tasks under employment, social security or social protection law.
    • Vital interests : Processing sensitive data is necessary to protect the interests of a data subject or if the individual is physically or legally incapable of consenting. 
    • Non-for-profit bodies : Foundations, associations or nonprofits with a political, philosophical, religious or trade union aim may process the sensitive data of their members or those they are in regular contact with, in connection with their purposes (and no disclosure of the data is permitted outside the organisation, without the data subject’s consent).
    • Made public : In some cases, it may be permissible to process the sensitive data of a data subject if the individual has already made it public and accessible. 
    • Legal claims : Processing sensitive data is necessary to establish, exercise or defend legal claims, including legal or in court proceedings.
    • Public interest : Processing is necessary for reasons of substantial public interest, like preventing unlawful acts or protecting the public.
    • Health or social care : Processing special category data is necessary for : preventative or occupational medicine, providing health and social care, medical diagnosis or managing healthcare systems.
    • Public health : It is permissible to process sensitive data for public health reasons, like protecting against cross-border threats to health or ensuring the safety of medicinal products or medical devices. 
    • Archiving, research and statistics : You may process sensitive data if it’s done for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes.

    In addition, you must adhere to all data handling requirements set by the GDPR.

    Important : Note that for any data sent that you are processing, you always need to identify a lawful basis under Art. 6. In addition, if the data sent contains sensitive data, you must comply with Art. 9.

    Explicit consent

    While consent is a valid lawful basis for processing non-sensitive personal data, controllers are permitted to process sensitive data only with an “explicit consent” of the data subject.

    The GDPR does not define “explicit” consent, but it is accepted that it must meet all Art. 7 conditions for consent, at a higher threshold. To be “explicit” a consent requires a clear statement (oral or written) of the data subject. Consent inferred from the data subject’s actions does not meet the threshold. 

    The controller must retain records of the explicit consent and provide appropriate consent withdrawal method to allow the data subject to exercise their rights.

    Examples of compliant and non-compliant sensitive data processing

    Here are examples of when you can and can’t process sensitive data :

    • When you can process sensitive data : A doctor logs sensitive data about a patient, including their name, symptoms and medicine prescribed. The hospital can process this data to provide appropriate medical care to their patients. An IoT device and software manufacturer processes their customers’ health data based on explicit consent of each customer. 
    • When you can’t process sensitive data : One example is when you don’t have explicit consent from a data subject. Another is when there’s no lawful basis for processing it or you are collecting personal data you simply do not need. For example, you don’t need your customer’s ethnic origin to fulfil an online order.

    Other implications of processing sensitive data

    If you process sensitive data, especially on a large scale, GDPR imposes additional requirements, such as having Data Privacy Impact Assessments, appointing Data Protection Officers and EU Representatives, if you are a controller based outside the EU.

    Penalties for GDPR non-compliance

    Mishandling sensitive data (or processing it when you’re not allowed to) can result in huge penalties. There are two tiers of GDPR fines :

    • €10 million or 2% of a company’s annual revenue for less severe infringements
    • €20 million or 4% of a company’s annual revenue for more severe infringements

    In the first half of 2023 alone, fines imposed in the EU due to GDPR violations exceeded €1.6 billion, up from €73 million in 2019.

    Examples of high-profile violations in the last few years include :

    • Amazon : The Luxembourg National Commission fined the retail giant with a massive $887 million fine in 2021 for not processing personal data per the GDPR. 
    • Google : The National Data Protection Commission (CNIL) fined Google €50 million for not getting proper consent to display personalised ads.
    • H&M : The Hamburg Commissioner for Data Protection and Freedom of Information hit the multinational clothing company with a €35.3 million fine in 2020 for unlawfully gathering and storing employees’ data in its service centre.

    One of the criteria that affects the severity of a fine is “data category” — the type of personal data being processed. Companies need to take extra precautions with sensitive data, or they risk receiving more severe penalties.

    What’s more, GDPR violations can negatively affect your brand’s reputation and cause you to lose business opportunities from consumers concerned about your data practices. 76% of consumers indicated they wouldn’t buy from companies they don’t trust with their personal data.

    Organisations should lay out their data practices in simple terms and make this information easily accessible so customers know how their data is being handled.

    Get started with GDPR-compliant web analytics

    The GDPR offers a framework for securing and protecting personal data. But it also distinguishes between sensitive and non-sensitive data. Understanding these differences and applying the lawful basis for processing this data type will help ensure compliance.

    Looking for a GDPR-compliant web analytics solution ?

    At Matomo, we take data privacy seriously. 

    Our platform ensures 100% data ownership, putting you in complete control of your data. Unlike other web analytics solutions, your data remains solely yours and isn’t sold or auctioned off to advertisers. 

    Additionally, with Matomo, you can be confident in the accuracy of the insights you receive, as we provide reliable, unsampled data.

    Matomo also fully complies with GDPR and other data privacy laws like CCPA, LGPD and more.

    Start your 21-day free trial today ; 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 GDPR. We encourage every business and website to take data privacy seriously and discuss these issues with your lawyer if you have any concerns.