Recherche avancée

Médias (0)

Mot : - Tags -/optimisation

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

Autres articles (22)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

Sur d’autres sites (3701)

  • FFMPEG : RTSP re-stream dies randomly

    14 mai 2018, par stevendesu

    I have a security camera streaming RTSP, and I wish to re-stream this to an RTMP ingest server. For now I’m using my laptop as an ffmpeg proxy, but eventually I’ll use a raspberry pi or something similar (cheap/small)

    Here’s the command I’m using (pretty simple) :

    ffmpeg -i rtsp://@10.0.0.16:554/1/h264major -c:v libx264 -c:a none -f flv rtmp://output/camera_stream

    This works but after a minute or two the stream dies. Here’s the output :

    ffmpeg version N-90057-g7c82e0f Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.6) 20160609
     configuration: --prefix=/home/sbarnett/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/sbarnett/ffmpeg_build/include --extra-ldflags=-L/home/sbarnett/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/sbarnett/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libspeex --enable-nonfree
     libavutil      56.  7.101 / 56.  7.101
     libavcodec     58. 11.101 / 58. 11.101
     libavformat    58.  9.100 / 58.  9.100
     libavdevice    58.  1.100 / 58.  1.100
     libavfilter     7. 12.100 /  7. 12.100
     libswscale      5.  0.101 /  5.  0.101
     libswresample   3.  0.101 /  3.  0.101
     libpostproc    55.  0.100 / 55.  0.100
    Input #0, rtsp, from 'rtsp://@10.0.0.16:554/1/h264major':
     Metadata:
       title           : h264major
       comment         : h264major
     Duration: N/A, start: 0.360000, bitrate: N/A
       Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 720x480, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    [libx264 @ 0x38843c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x38843c0] profile High, level 3.0
    [libx264 @ 0x38843c0] 264 - core 155 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=6 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=25 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://output/camera_stream':
     Metadata:
       title           : h264major
       comment         : h264major
       encoder         : Lavf58.9.100
       Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuvj420p(pc), 720x480, q=-1--1, 25 fps, 1k tbn, 25 tbc
       Metadata:
         encoder         : Lavc58.11.101 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Past duration 0.999992 too large
       Last message repeated 29 times
    [rtsp @ 0x3847600] max delay reached. need to consume packet
    [rtsp @ 0x3847600] RTP: missed 48 packets
    Past duration 0.999992 too large
       Last message repeated 4 times
    frame=   44 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=N/A dup=0 drop=5 speed=   0x    
    frame=   57 fps= 54 q=28.0 size=      43kB time=00:00:00.16 bitrate=2186.4kbits/s dup=0 drop=5 speed=0.153x    
    ... (lots of similar messages) ...  
    frame= 1163 fps= 26 q=28.0 size=    1341kB time=00:00:44.84 bitrate= 245.0kbits/s dup=0 drop=5 speed=0.99x    
    frame= 1177 fps= 26 q=28.0 size=    1353kB time=00:00:45.40 bitrate= 244.2kbits/s dup=0 drop=5 speed=0.99x    
    [rtsp @ 0x3847600] max delay reached. need to consume packet
    [rtsp @ 0x3847600] RTP: missed 2 packets
    frame= 1190 fps= 26 q=28.0 size=    1370kB time=00:00:45.92 bitrate= 244.4kbits/s dup=0 drop=5 speed=0.99x    
    [h264 @ 0x38c08c0] Increasing reorder buffer to 1
    frame= 1201 fps= 26 q=28.0 size=    1381kB time=00:00:46.36 bitrate= 244.0kbits/s dup=0 drop=5 speed=0.989x    
    frame= 1214 fps= 26 q=28.0 size=    1393kB time=00:00:46.88 bitrate= 243.4kbits/s dup=0 drop=5 speed=0.989x    
    ... (lots of similar messages) ...    
    frame= 1761 fps= 25 q=28.0 size=    2030kB time=00:01:08.80 bitrate= 241.7kbits/s dup=0 drop=5 speed=0.993x    
    frame= 1774 fps= 25 q=28.0 size=    2041kB time=00:01:09.32 bitrate= 241.2kbits/s dup=0 drop=5 speed=0.993x    
    [flv @ 0x3884900] Failed to update header with correct duration.
    [flv @ 0x3884900] Failed to update header with correct filesize.
    frame= 1782 fps= 25 q=-1.0 Lsize=    2127kB time=00:01:11.64 bitrate= 243.2kbits/s dup=0 drop=5 speed=1.02x    
    video:2092kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.679417%
    [libx264 @ 0x38843c0] frame I:8     Avg QP:16.89  size: 42446
    [libx264 @ 0x38843c0] frame P:1672  Avg QP:19.54  size:  1065
    [libx264 @ 0x38843c0] frame B:102   Avg QP:23.00  size:   205
    [libx264 @ 0x38843c0] consecutive B-frames: 92.4%  0.0%  0.0%  7.6%
    [libx264 @ 0x38843c0] mb I  I16..4: 12.9% 36.2% 50.9%
    [libx264 @ 0x38843c0] mb P  I16..4:  0.2%  0.2%  0.0%  P16..4: 16.7%  0.7%  1.0%  0.0%  0.0%    skip:81.1%
    [libx264 @ 0x38843c0] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 11.7%  0.1%  0.0%  direct: 1.5%  skip:86.5%  L0:62.2% L1:35.3% BI: 2.5%
    [libx264 @ 0x38843c0] 8x8 transform intra:40.8% inter:47.4%
    [libx264 @ 0x38843c0] coded y,uvDC,uvAC intra: 46.5% 53.0% 17.2% inter: 3.9% 8.7% 0.0%
    [libx264 @ 0x38843c0] i16 v,h,dc,p: 21% 56%  8% 15%
    [libx264 @ 0x38843c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 33% 31%  1%  2%  3%  2%  2%  3%
    [libx264 @ 0x38843c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 39%  9%  3%  3%  4%  5%  3%  8%
    [libx264 @ 0x38843c0] i8c dc,h,v,p: 43% 33% 21%  3%
    [libx264 @ 0x38843c0] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x38843c0] ref P L0: 88.0%  1.4%  6.6%  4.0%
    [libx264 @ 0x38843c0] ref B L0: 99.4%  0.5%  0.1%
    [libx264 @ 0x38843c0] ref B L1: 99.4%  0.6%
    [libx264 @ 0x38843c0] kb/s:238.73

    The camera is pretty cheap (from China) so it’s likely I’m getting bad data from it or it’s cutting out for a few seconds at a time. Ideally I would need ffmpeg to handle this well (ignore bad data, wait as long as necessary for good data to resume encoding)

    Using ffplay to check out the RTSP stream, I get output like the following :

    $> ffplay -i rtsp://@10.0.0.16:554/1/h264major
    ffplay version N-90057-g7c82e0f Copyright (c) 2003-2018 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.6) 20160609
     configuration: --prefix=/home/sbarnett/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/sbarnett/ffmpeg_build/include --extra-ldflags=-L/home/sbarnett/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/sbarnett/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libspeex --enable-nonfree
     libavutil      56.  7.101 / 56.  7.101
     libavcodec     58. 11.101 / 58. 11.101
     libavformat    58.  9.100 / 58.  9.100
     libavdevice    58.  1.100 / 58.  1.100
     libavfilter     7. 12.100 /  7. 12.100
     libswscale      5.  0.101 /  5.  0.101
     libswresample   3.  0.101 /  3.  0.101
     libpostproc    55.  0.100 / 55.  0.100
    Input #0, rtsp, from 'rtsp://@10.0.0.16:554/1/h264major':0B f=0/0
     Metadata:
       title           : h264major
       comment         : h264major
     Duration: N/A, start: 0.320000, bitrate: N/A
       Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 720x480, 25 fps, 25 tbr, 90k tbn, 50 tbc
    [swscaler @ 0x7f6bbc093180] deprecated pixel format used, make sure you did set range correctly
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets
    [h264 @ 0x7f6bc0041080] error while decoding MB 44 28, bytestream -37
    [h264 @ 0x7f6bc0041080] concealing 95 DC, 95 AC, 95 MV errors in I frame
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 1 packets
    [h264 @ 0x7f6bc0041080] error while decoding MB 43 29, bytestream -49
    [h264 @ 0x7f6bc0041080] concealing 51 DC, 51 AC, 51 MV errors in I frame
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets
    [h264 @ 0x7f6bc0041080] Increasing reorder buffer to 1
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 3 packets
    [h264 @ 0x7f6bc02c3600] error while decoding MB 27 29, bytestream -24
    [h264 @ 0x7f6bc02c3600] concealing 67 DC, 67 AC, 67 MV errors in I frame
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 42 packets
    [rtsp @ 0x7f6bc0000940] max delay reached. need to consume packet
    [rtsp @ 0x7f6bc0000940] RTP: missed 2 packets

    Then eventually the video just freezes. The first time it froze after around 5 minutes, but I wasn’t able to say definitively if it froze the instant 44 packets were dropped or if it froze randomly later. So the second time I stared intently.... for 21 minutes. Then I got bored of it not freezing, turned to pet my cat, and when I looked back 15 seconds later it was frozen. I think it only breaks when no one is watching it.

    What I can say definitively is :

    • While running normally, M-V hovers around 0 (anywhere between -0.01 and +0.01)
    • Once frozen, M-V begins to count down into negative numbers without stopping - although at a rate slower than -1 per second
    • While running normally, aq is 0KB and vq is a positive number (I think it was 30KB or so ?)
    • Once frozen, vq is also 0KB

    It’s a really cheap camera with a crummy power supply that goes out if you breathe on it, so it’s likely the camera is going temporarily offline during this time — but I’d like ffmpeg to wait out a timeout and resume streaming when it sees the camera again.

  • FFMPEG - Zoompan image overlay keep ratio

    4 mai 2018, par Pier Giorgio Misley

    With zoompan I can zoom in and out an image overlayed over a video. My problem is that the image ratio is not respected and the image is stretched in something like 16:9

    The image in the center is a phone vertical picture, but It result like this : this

    Looks like zoompan is trying to stretch to full width and the height to.. something. How can I keep the ratio while zooming ? I tried using sar but it doesn’t work

    Note : I read this post and I probably should set the size, but how can I set it to keep the original one ?

    Edit :

    -i "vid.mov" -loop 1 -t 1 -i "1.png" -filter_complex "[1:v]format=rgba,scale=1440x2560,setsar=1/1,zoompan=z='min(zoom+0.0015,1.5)':s=720x1280:d=7250:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',fade=in:st=20:d=1:alpha=1,fade=out:st=77:d=1:alpha=1[im];[0][im]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2:shortest=1" -pix_fmt yuv420p -c:a copy output_0.mp4

    With this, in some video format/resolutions it works, in others not

    ie : with .mp4 it works, with .mov it doesn’t

    Edit2 :

    here is the log (names here are not truncated, there is the full path instead of file name)

    Error : ffmpeg version N-90893-gcae6f806a6 Copyright (c) 2000-2018 the
    FFmpeg developers

    Error : built with gcc 7.3.0 (GCC)

    Error : configuration : —enable-gpl —enable-version3 —enable-sdl2
    —enable-bzlib —enable-fontconfig —enable-gnutls —enable-iconv —enable-libass —enable-libbluray —enable-libfreetype —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-libopus —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libtheora —enable-libtwolame —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libzimg —enable-lzma —enable-zlib —enable-gmp —enable-libvidstab —enable-libvorbis —enable-libvo-amrwbenc —enable-libmysofa —enable-libspeex —enable-libxvid —enable-libaom —enable-libmfx —enable-amf —enable-ffnvcodec —enable-cuvid —enable-d3d11va —enable-nvenc —enable-nvdec —enable-dxva2 —enable-avisynth

    Error : libavutil 56. 17.100 / 56. 17.100

    Error : libavcodec 58. 19.100 / 58. 19.100

    Error : libavformat 58. 13.100 / 58. 13.100

    Error : libavdevice 58. 4.100 / 58. 4.100

    Error : libavfilter 7. 21.100 / 7. 21.100

    Error : libswscale 5. 2.100 / 5. 2.100

    Error : libswresample 3. 2.100 / 3. 2.100

    Error : libpostproc 55. 2.100 / 55. 2.100

    Error : Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
    ’C :\AREA\Progetti\VideoEditingDefunti\samples\video\template_religioso_2.mp4’ :

    Error : Metadata :

    Error : major_brand : isom

    Error : minor_version : 512

    Error : compatible_brands : isomiso2avc1mp41

    Error : encoder : Lavf58.13.100

    Error : Duration : 00:02:12.50, start : 0.000000, bitrate : 3149 kb/s

    Error : Stream #0:0(und) : Video : h264 (High) (avc1 / 0x31637661),
    yuv420p(tv, bt709), 1024x600 [SAR 1:1 DAR 128:75], 3014 kb/s, 24 fps,
    24 tbr, 19200 tbn, 50 tbc (default)

    Error : Metadata :

    Error : handler_name : VideoHandler

    Error : timecode : 00:00:00:00

    Error : Stream #0:1(und) : Audio : aac (LC) (mp4a / 0x6134706D),
    44100 Hz, stereo, fltp, 129 kb/s (default)

    Error : Metadata :

    Error : handler_name : SoundHandler

    Error : Stream #0:2(eng) : Data : none (tmcd / 0x64636D74)

    Error : Metadata :

    Error : handler_name : TimeCodeHandler

    Error : timecode : 00:00:00:00

    Error : Input #1, png_pipe, from
    ’C :\AREA\Progetti\VideoEditingDefunti\samples\in\esempio1\1 s.png’ :

    Error : Duration : N/A, bitrate : N/A

    Error : Stream #1:0 : Video : png, rgb24(pc), 720x1280, 25 fps, 25
    tbr, 25 tbn, 25 tbc

    Error : Stream mapping :

    Error : Stream #0:0 (h264) -> overlay:main

    Error : Stream #1:0 (png) -> format

    Error : overlay -> Stream #0:0 (libx264)

    Error : Stream #0:1 -> #0:1 (copy)

    Error : Press [q] to stop, [?] for help

    Error : [libx264 @ 000002415f7f8280] using SAR=1/1

    Error : [libx264 @ 000002415f7f8280] using cpu capabilities : MMX2
    SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

    Error : [libx264 @ 000002415f7f8280] profile High, level 3.1

    Error : [libx264 @ 000002415f7f8280] 264 - core 155 r2901 7d0ff22 -
    H.264/MPEG-4 AVC codec - Copyleft 2003-2018 -
    http://www.videolan.org/x264.html - options : cabac=1 ref=3
    deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00
    mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0
    deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12
    lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0
    bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
    b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250
    keyint_min=24 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

    Error : Output #0, mp4, to
    ’C :\AREA\Progetti\VideoEditingDefunti\samples\in\esempio1\output_0.mp4’ :

    Error : Metadata :

    Error : major_brand : isom

    Error : minor_version : 512

    Error : compatible_brands : isomiso2avc1mp41

    Error : encoder : Lavf58.13.100

    Error : Stream #0:0 : Video : h264 (libx264) (avc1 / 0x31637661),
    yuv420p, 1024x600 [SAR 1:1 DAR 128:75], q=-1—1, 24 fps, 12288 tbn, 24
    tbc (default)

    Error : Metadata :

    Error : encoder : Lavc58.19.100 libx264

    Error : Side data :

    Error : cpb : bitrate max/min/avg : 0/0/0 buffer size : 0 vbv_delay :
    -1

    Error : Stream #0:1(und) : Audio : aac (LC) (mp4a / 0x6134706D),
    44100 Hz, stereo, fltp, 129 kb/s (default)

    Error : Metadata :

    Error : handler_name : SoundHandler

    Error : [swscaler @ 0000024164404cc0] Warning : data is not aligned !
    This can lead to a speed loss

    Error : frame= 50 fps=0.0 q=0.0 size= 0kB time=00:00:02.39
    bitrate= 0.2kbits/s speed=4.76x

    Error : frame= 107 fps=106 q=28.0 size= 0kB time=00:00:04.76
    bitrate= 0.1kbits/s speed=4.72x

    Error : frame= 170 fps=113 q=28.0 size= 0kB time=00:00:07.38
    bitrate= 0.1kbits/s speed=4.89x

    Error : frame= 236 fps=117 q=28.0 size= 0kB time=00:00:10.14
    bitrate= 0.0kbits/s speed=5.05x

    Error : frame= 308 fps=123 q=28.0 size= 0kB time=00:00:13.14
    bitrate= 0.0kbits/s speed=5.23x

    Error : frame= 381 fps=126 q=28.0 size= 0kB time=00:00:16.18
    bitrate= 0.0kbits/s speed=5.37x

    Error : frame= 453 fps=129 q=28.0 size= 256kB time=00:00:19.17
    bitrate= 109.4kbits/s speed=5.45x

    Error : frame= 524 fps=130 q=28.0 size= 256kB time=00:00:22.12
    bitrate= 94.8kbits/s speed= 5.5x

    Error : frame= 587 fps=129 q=28.0 size= 256kB time=00:00:24.75
    bitrate= 84.7kbits/s speed=5.46x

    Error : frame= 640 fps=127 q=28.0 size= 512kB time=00:00:26.95
    bitrate= 155.6kbits/s speed=5.35x

    Error : frame= 695 fps=125 q=28.0 size= 768kB time=00:00:29.25
    bitrate= 215.1kbits/s speed=5.28x

    Error : frame= 751 fps=124 q=28.0 size= 1024kB time=00:00:31.60
    bitrate= 265.5kbits/s speed=5.22x

    Error : frame= 804 fps=123 q=28.0 size= 1280kB time=00:00:33.80
    bitrate= 310.2kbits/s speed=5.16x

    Error : frame= 856 fps=121 q=28.0 size= 1536kB time=00:00:35.96
    bitrate= 349.8kbits/s speed= 5.1x

    Error : frame= 906 fps=120 q=28.0 size= 1792kB time=00:00:38.05
    bitrate= 385.7kbits/s speed=5.03x

    Error : frame= 954 fps=118 q=28.0 size= 2048kB time=00:00:40.05
    bitrate= 418.9kbits/s speed=4.96x

    Error : frame= 1004 fps=117 q=28.0 size= 2304kB time=00:00:42.14
    bitrate= 447.9kbits/s speed=4.91x

    Error : frame= 1052 fps=116 q=28.0 size= 2560kB time=00:00:44.14
    bitrate= 475.1kbits/s speed=4.85x

    Error : frame= 1107 fps=115 q=28.0 size= 2816kB time=00:00:46.41
    bitrate= 497.0kbits/s speed=4.83x

    Error : frame= 1161 fps=115 q=28.0 size= 3072kB time=00:00:48.66
    bitrate= 517.1kbits/s speed=4.81x

    Error : frame= 1205 fps=113 q=28.0 size= 3584kB time=00:00:50.50
    bitrate= 581.4kbits/s speed=4.75x

    Error : frame= 1250 fps=112 q=28.0 size= 3840kB time=00:00:52.38
    bitrate= 600.5kbits/s speed=4.71x

    Error : frame= 1294 fps=111 q=28.0 size= 4096kB time=00:00:54.21
    bitrate= 618.9kbits/s speed=4.66x

    Error : frame= 1340 fps=110 q=28.0 size= 4608kB time=00:00:56.14
    bitrate= 672.3kbits/s speed=4.62x

    Error : frame= 1384 fps=109 q=28.0 size= 4864kB time=00:00:57.98
    bitrate= 687.2kbits/s speed=4.58x

    Error : frame= 1428 fps=108 q=28.0 size= 5120kB time=00:00:59.81
    bitrate= 701.2kbits/s speed=4.54x

    Error : frame= 1461 fps=107 q=28.0 size= 5376kB time=00:01:01.18
    bitrate= 719.8kbits/s speed=4.47x

    Error : frame= 1503 fps=106 q=28.0 size= 5632kB time=00:01:02.92
    bitrate= 733.2kbits/s speed=4.44x

    Error : frame= 1547 fps=105 q=28.0 size= 5888kB time=00:01:04.76
    bitrate= 744.8kbits/s speed=4.41x

    Error : frame= 1598 fps=105 q=28.0 size= 6144kB time=00:01:06.89
    bitrate= 752.4kbits/s speed= 4.4x

    Error : frame= 1633 fps=104 q=28.0 size= 6400kB time=00:01:08.33
    bitrate= 767.2kbits/s speed=4.35x

    Error : frame= 1676 fps=103 q=28.0 size= 6656kB time=00:01:10.14
    bitrate= 777.3kbits/s speed=4.33x

    Error : frame= 1724 fps=103 q=28.0 size= 6656kB time=00:01:12.14
    bitrate= 755.8kbits/s speed=4.31x

    Error : frame= 1760 fps=102 q=28.0 size= 7168kB time=00:01:13.63
    bitrate= 797.5kbits/s speed=4.28x

    Error : frame= 1784 fps=101 q=28.0 size= 7424kB time=00:01:14.62
    bitrate= 814.9kbits/s speed=4.21x

    Error : frame= 1815 fps= 99 q=28.0 size= 7936kB time=00:01:15.92
    bitrate= 856.2kbits/s speed=4.16x

    Error : frame= 1852 fps= 99 q=28.0 size= 8192kB time=00:01:17.46
    bitrate= 866.4kbits/s speed=4.13x

    Error : frame= 1886 fps= 98 q=28.0 size= 8704kB time=00:01:18.87
    bitrate= 904.0kbits/s speed=4.09x

    Error : frame= 1914 fps= 97 q=28.0 size= 8960kB time=00:01:20.06
    bitrate= 916.8kbits/s speed=4.04x

    Error : frame= 1954 fps= 96 q=28.0 size= 9216kB time=00:01:21.71
    bitrate= 924.0kbits/s speed=4.02x

    Error : frame= 1992 fps= 96 q=28.0 size= 9728kB time=00:01:23.31
    bitrate= 956.5kbits/s speed= 4x

    Error : frame= 2030 fps= 95 q=28.0 size= 9984kB time=00:01:24.89
    bitrate= 963.4kbits/s speed=3.98x

    Error : frame= 2073 fps= 95 q=28.0 size= 10752kB time=00:01:26.68
    bitrate=1016.2kbits/s speed=3.97x

    Error : frame= 2113 fps= 94 q=28.0 size= 11008kB time=00:01:28.35
    bitrate=1020.7kbits/s speed=3.95x

    Error : frame= 2141 fps= 94 q=28.0 size= 11264kB time=00:01:29.51
    bitrate=1030.9kbits/s speed=3.91x

    Error : frame= 2168 fps= 93 q=28.0 size= 11520kB time=00:01:30.62
    bitrate=1041.3kbits/s speed=3.88x

    Error : frame= 2205 fps= 92 q=28.0 size= 12032kB time=00:01:32.18
    bitrate=1069.2kbits/s speed=3.85x

    Error : frame= 2244 fps= 92 q=28.0 size= 12288kB time=00:01:33.80
    bitrate=1073.1kbits/s speed=3.84x

    Error : frame= 2294 fps= 92 q=28.0 size= 12544kB time=00:01:35.87
    bitrate=1071.8kbits/s speed=3.85x

    Error : frame= 2339 fps= 92 q=28.0 size= 12800kB time=00:01:37.75
    bitrate=1072.7kbits/s speed=3.84x

    Error : frame= 2389 fps= 92 q=28.0 size= 12800kB time=00:01:39.84
    bitrate=1050.2kbits/s speed=3.85x

    Error : frame= 2436 fps= 92 q=28.0 size= 13056kB time=00:01:41.79
    bitrate=1050.7kbits/s speed=3.85x

    Error : frame= 2481 fps= 92 q=28.0 size= 13312kB time=00:01:43.67
    bitrate=1051.8kbits/s speed=3.85x

    Error : frame= 2533 fps= 92 q=28.0 size= 13568kB time=00:01:45.83
    bitrate=1050.2kbits/s speed=3.85x

    Error : frame= 2564 fps= 92 q=28.0 size= 13824kB time=00:01:47.13
    bitrate=1057.0kbits/s speed=3.83x

    Error : frame= 2615 fps= 92 q=28.0 size= 14080kB time=00:01:49.27
    bitrate=1055.6kbits/s speed=3.84x

    Error : frame= 2662 fps= 92 q=28.0 size= 14336kB time=00:01:51.22
    bitrate=1055.9kbits/s speed=3.84x

    Error : frame= 2701 fps= 92 q=28.0 size= 14592kB time=00:01:52.84
    bitrate=1059.3kbits/s speed=3.83x

    Error : frame= 2746 fps= 92 q=28.0 size= 14592kB time=00:01:54.72
    bitrate=1041.9kbits/s speed=3.83x

    Error : frame= 2790 fps= 91 q=28.0 size= 14848kB time=00:01:56.56
    bitrate=1043.5kbits/s speed=3.82x

    Error : frame= 2834 fps= 91 q=28.0 size= 15360kB time=00:01:58.35
    bitrate=1063.2kbits/s speed=3.82x

    Error : frame= 2877 fps= 91 q=28.0 size= 15616kB time=00:02:00.18
    bitrate=1064.4kbits/s speed=3.82x

    Error : frame= 2921 fps= 91 q=28.0 size= 15616kB time=00:02:02.02
    bitrate=1048.4kbits/s speed=3.81x

    Error : frame= 2962 fps= 91 q=28.0 size= 15872kB time=00:02:03.71
    bitrate=1051.0kbits/s speed=3.81x

    Error : frame= 3013 fps= 91 q=28.0 size= 16128kB time=00:02:05.85
    bitrate=1049.8kbits/s speed=3.81x

    Error : frame= 3080 fps= 92 q=28.0 size= 16128kB time=00:02:08.63
    bitrate=1027.1kbits/s speed=3.84x

    Error : frame= 3147 fps= 93 q=28.0 size= 16128kB time=00:02:11.42
    bitrate=1005.3kbits/s speed=3.86x

    Error : frame= 3180 fps= 93 q=-1.0 Lsize= 16525kB time=00:02:12.49
    bitrate=1021.7kbits/s speed=3.86x

    Error : video:14336kB audio:2088kB subtitle:0kB other streams:0kB
    global headers:0kB muxing overhead : 0.612608%

    Error : [libx264 @ 000002415f7f8280] frame I:14 Avg QP:16.64 size :
    42662

    Error : [libx264 @ 000002415f7f8280] frame P:1149 Avg QP:20.03 size :
    10088

    Error : [libx264 @ 000002415f7f8280] frame B:2017 Avg QP:21.44 size :
    1235

    Error : [libx264 @ 000002415f7f8280] consecutive B-frames : 2.6% 37.5%
    2.5% 57.4%

    Error : [libx264 @ 000002415f7f8280] mb I I16..4 : 30.9% 57.6% 11.5%

    Error : [libx264 @ 000002415f7f8280] mb P I16..4 : 4.3% 5.9% 0.3%
    P16..4 : 35.2% 9.9% 7.4% 0.0% 0.0% skip:36.9%

    Error : [libx264 @ 000002415f7f8280] mb B I16..4 : 0.3% 0.5% 0.0%
    B16..8 : 19.3% 0.9% 0.1% direct : 2.0% skip:76.9% L0:39.8% L1:55.2%
    BI : 5.0%

    Error : [libx264 @ 000002415f7f8280] 8x8 transform intra:56.7%
    inter:84.0%

    Error : [libx264 @ 000002415f7f8280] coded y,uvDC,uvAC intra : 33.3%
    65.5% 24.9% inter : 10.4% 17.5% 2.4%

    Error : [libx264 @ 000002415f7f8280] i16 v,h,dc,p : 59% 17% 11% 12%

    Error : [libx264 @ 000002415f7f8280] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu : 35%
    15% 33% 2% 3% 3% 3% 3% 2%

    Error : [libx264 @ 000002415f7f8280] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu : 36%
    18% 13% 4% 6% 7% 6% 6% 4%

    Error : [libx264 @ 000002415f7f8280] i8c dc,h,v,p : 52% 17% 24% 7%

    Error : [libx264 @ 000002415f7f8280] Weighted P-Frames : Y:25.6%
    UV:17.5%

    Error : [libx264 @ 000002415f7f8280] ref P L0 : 65.1% 15.7% 14.4% 4.3%
    0.5%

    Error : [libx264 @ 000002415f7f8280] ref B L0 : 89.8% 8.1% 2.1%

    Error : [libx264 @ 000002415f7f8280] ref B L1 : 98.1% 1.9%

    Error : [libx264 @ 000002415f7f8280] kb/s:886.33

    Error :

  • Lawful basis for processing personal data under GDPR with Matomo

    30 avril 2018, par InnoCraft

    Disclaimer : this blog post has been written by digital analysts, not lawyers. The purpose of this article is to explain what is a lawful basis and which one you can use with Matomo in order to be GDPR compliant. This work comes from our interpretation of the following web page from the UK privacy commission : ICO. It cannot be considered as professional legal advice. So as GDPR, this information is subject to change. GDPR may be also known as DSGVO in German, BDAR in Lithuanian, RGPD in Spanish, French, Italian, Portuguese. This blog post contains public sector information licensed under the Open Government Licence v3.0.

    The golden rule under GDPR is that you need to have a lawful basis in order to process personal data. Note that it is possible to not process personal data with Matomo. When you do not collect any personal data, then you do not need to determine a lawful basis and this article wouldn’t apply to you.

    “If no lawful basis applies to your processing, your processing will be unlawful and in breach of the first principle.“

    Source : ICO, based on article 6 of GDPR.

    As you may process personal data in Matomo, you have to :

    1. define a lawful basis.
    2. document your choice.
    3. inform your visitor about it in a privacy notice.

    Even if you think you don’t process personal data, we recommend reading this post about personal data in Matomo (personal data may be hidden in many ways).

    Note that if you are processing special category data (ethnic origin, politics, religion, trade union membership…) or criminal offence data ; extra responsibilities are applied, and we will not detail them in this blog post.

    1 – Define a lawful basis

    There are 6 different lawful bases all defined within article 6 of the GDPR official text :

    1. Consent : the data subject has given consent to the processing of his or her personal data for one or more specific purposes.
    2. Contract : processing is necessary for the performance of a contract to which the data subject is party or in order to take steps at the request of the data subject prior to entering into a contract.
    3. Legal obligation : processing is necessary for compliance with a legal obligation to which the controller is subject.
    4. Vital interests : processing is necessary in order to protect the vital interests of the data subject or of another natural person.
    5. Public task : processing is necessary for the performance of a task carried out in the public interest or in the exercise of an official authority vested in the controller.
    6. Legitimate interests : processing is necessary for the purposes of the legitimate interests pursued by the controller or by a third party ; except where such interests are overridden by the interests or fundamental rights and freedoms of the data subject which require protection of personal data, in particular where the data subject is a child.

    As you can see, most of them are not applicable to Matomo. As ICO is mentioning it within their documentation :

    “In many cases you are likely to have a choice between using legitimate interests or consent.”

    “Consent” or “Legitimate interests” : which lawful basis is the best when using Matomo ?

    Well, there is no right or wrong answer here.

    In order to make this choice, ICO listed on their website different questions you should keep in mind :

    • Who does the processing benefit ?
    • Would individuals expect this processing to take place ?
    • What is your relationship with the individual ?
    • Are you in a position of power over them ?
    • What is the impact of the processing on the individual ?
    • Are they vulnerable ?
    • Are some of the individuals concerns likely to object ?
    • Are you able to stop the processing at any time on request ?

    From our perspective, “Legitimate interests” should be used in most of the cases as :

    • The processing benefits to the owner of the website and not to a third party company.
    • A user expects to have their data kept by the website itself.
    • Matomo provides many features in order to show how personal data is processed and how users can exercise their rights.
    • As the data is not used for profiling, the impact of processing personal data is very low.

    But once more, it really depends ; if you are processing personal data which may represent a risk to the final user, then getting consent is for us the right lawful basis.

    If you are not sure, at the time of writing ICO is providing a tool in order to help you make this decision :

    Note that once you choose a lawful basis, it is highly recommended not to switch to another unless you have a good reason.

    What are the rights that a data subject can exercise ?

    According to the lawful basis you choose for processing personal data with Matomo, your users will be able to exercise different rights :

    Right to be informed Right of access Right to erasure Right to portability Right to object Right to withdraw consent
    Legitimate interests X X X X
    Consent X X X X X

     

    • Right to be informed : whatever the lawful basis you choose, you need to inform your visitor about it within your privacy notice.
    • Right of access : as described in article 15 of GDPR. Your visitor has the right to access the personal data you are processing about them. You can exercise their right directly within the page “GDPR Tools” in your Matomo.
    • Right to erasure : it means that a visitor will be able to ask you to erase all their data. You can exercise the right to erasure directly within the page “GDPR Tools” in your Matomo.
    • Right to portability : it means that you need to export the data which concern the individual in a machine-readable format and provide them with their personal data. You can exercise their right directly within the page “GDPR Tools” in your Matomo.
    • Right to object : it means that your visitor has the right to say no to the processing of their personal data. In order to exercise this right, you need to implement the opt-out feature on your website.
    • Right to withdraw consent : it means that your visitor can remove their consent at any time. We developed a feature in order to do just that. You can learn more by opening the page “Privacy > Asking for consent” in your Matomo.

    2 – Document your choice

    Once you choose “Legitimate interests” or “Consent” lawful basis, you will have some obligations to fulfill. From our interpretation, “Legitimate interests” means writing more documentation, “Consent” means a more technical approach.

    What should I do if I am processing personal data with Matomo based on “Legitimate interests ?

    ICO is providing a checklist for “Legitimate interests”, below is our interpretation :

    • Check that legitimate interests is the most appropriate lawful basis.

    Our interpretation : document and justify why you choose this lawful basis in particular. This tool from ICO can help you.

    • Understand your responsibility to protect the individual’s interests.

    Our interpretation : you need to take all the measures in order to protect your users privacy and data security. Please refer to our guide in order to secure your Matomo installation.

    • Conduct a legitimate interests assessment (LIA) and keep a record of it to ensure that you can justify your decision. This document is composed of a set of questions on those 3 key concerns : 1) purpose, 2) necessity, 3) balancing.

    1) Purpose :

    • Why do you want to process the data – what are you trying to achieve ?
    • Who benefits from the processing ? In what way ?
    • Are there any wider public benefits to the processing ?
    • How important are those benefits ?
    • What would the impact be if you couldn’t go ahead ?
    • Would your use of the data be unethical or unlawful in any way ?

    2) Necessity :

    • Does this processing actually help to further that interest ?
    • Is it a reasonable way to go about it ?
    • Is there another less intrusive way to achieve the same result ?

    3) Balancing :

    • What is the nature of your relationship with the individual ?
    • Is any of the data particularly sensitive or private ?
    • Would people expect you to use their data in this way ?
    • Are you happy to explain it to them ?
    • Are some people likely to object or find it intrusive ?
    • What is the possible impact on the individual ?
    • How big an impact might it have on them ?
    • Are you processing children’s data ?
    • Are any of the individuals vulnerable in any other way ?
    • Can you adopt any safeguards to minimise the impact ?
    • Can you offer an opt-out ?
    • Identify the relevant legitimate interests.
    • Check that the processing is necessary and there is no less intrusive way to achieve the same result.
    • Perform a balancing test, and be confident that the individual’s interests do not override those legitimate interests.
    • Use individuals’ data in ways they would reasonably expect, unless you have a very good reason.

    Our interpretation : use those data to improve user experience for example.

    • Do not use people’s data in ways they would find intrusive or which could cause them harm, unless you have a very good reason.

    Our interpretation : ask yourself if this data is representing a risk for the individuals.

    • If you process children’s data, take extra care to make sure you protect their interests.
    • Consider safeguards to reduce the impact where possible.

    Our interpretation : Check if your web hosting provider is providing appropriate safeguards.

    • Consider whether you can offer an opt out.

    Our interpretation : Matomo is providing you the opt-out feature.

    • If your LIA identifies a significant privacy impact, consider whether you also need to conduct a DPIA.

    Our interpretation : A DPIA can easily be conducted by using this software from the French privacy commission.

    • Regularly review your LIA and update it when circumstances change.
    • Include information about your legitimate interests in your privacy information.

    As you see, going for “Legitimate interests” requires a lot of written documentation. Let’s see how “Consent” differ.

    What should I do if I am processing personal data with Matomo based on “Consent” ?

    As previously mentioned, using “Consent” rather than “Legitimate interests” is more technical but less intense in terms of documentation. Like for “Legitimate interests”, ICO is providing a checklist for “Consent” which is divided into 3 key categories : 1) asking for consent, 2) recording consent, and 3) managing consent.

    1. Asking for consent :
      1. Check that consent is the most appropriate lawful basis for processing.
      2. Make the request for consent prominent and separate from your terms and conditions.
      3. Ask people to positively opt in. Don’t use pre-ticked boxes or any other type of default consent.
      4. Use clear, plain language that is easy to understand.
      5. Specify why you want the data and what you are going to do with it.
      6. Give individual (‘granular’) options to consent separately to different purposes and types of processing.
      7. Name your organisation and any third party controllers who will be relying on the consent.
      8. Tell individuals they can withdraw their consent.
      9. Ensure that individuals can refuse to consent without detriment.
      10. Avoid making consent a precondition of a service.
      11. If you offer online services directly to children, only seek consent if you have age-verification measures (and parental-consent measures for younger children) in place.
    2. Recording consent :
      1. Keep a record of when and how you got consent from the individual.
      2. Keep a record of exactly what you told them at the time.
    3. Managing consent :
      1. Regularly review consents to check that the relationship, the processing and the purposes have not changed.
      2. Have processes in place to refresh consent at appropriate intervals, including any parental consent.
      3. Consider using privacy dashboards or other preference-management tools as a matter of good practice.
      4. Make it easy for individuals to withdraw their consent at any time, and publicise how to do so.
      5. Act on withdrawals of consent as soon as you can.
      6. Don’t penalise individuals who wish to withdraw consent.

      3 – Inform your visitor about it in a privacy notice

      Privacy notices are an important part within the GDPR process. Read our blog post dedicated to privacy notices to learn more.

      We really hope you enjoyed reading this blog post. Please have a look at our Matomo GDPR guide for more information.

    The post Lawful basis for processing personal data under GDPR with Matomo appeared first on Analytics Platform - Matomo.