Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (83)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Sélection de projets utilisant MediaSPIP

    29 avril 2011, par

    Les exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
    Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
    Ferme MediaSPIP @ Infini
    L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)

Sur d’autres sites (7377)

  • how to get 120fps encoded video to play at "normal" speed instead of slow mo

    1er mars 2023, par Patrick Vellia

    I used my GoPro Hero10 to record at 4k 120fps on a green screen. This original video plays slo-mo in QuickTime but "normal" speed in the browser. I want it playing normal speed, and if end user wants to slow it down they have the extra frames for that to maintain clarity, which is why I record at 120.

    


    I then used FFMPEG to create an image sequence of the video.

    


    Then I ran Image Magic to create the transparent frames.

    


    Then I put it back together with the following command for a HEVC mov file :

    


    ffmpeg -r 120 -f image2 -i transparent/image_transparent_%08d.png -vcodec hevc_videotoolbox -crf 28 -alpha_quality 1  -tag:v hvc1 output.mov


    


    I am still on an Intel MacBook Pro running FFMPEG 4.6 (as I've found 5+ was buggy with one of my commands a few months ago but can't remember which one, I think it was the videotoolbox).

    


    The GoPro video has the following stream data as input to the FFMPEG :

    


    Duration: 00:00:08.15, start: 0.000000, bitrate: 60160 kb/s
  Stream #0:0(eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 59891 kb/s, 119.88 fps, 119.88 tbr, 120k tbn, 119.88 tbc (default)
    Metadata:
      creation_time   : 2023-02-28T19:06:41.000000Z
      handler_name    : GoPro H.265
      vendor_id       : [0][0][0][0]
      encoder         : GoPro H.265 encoder
      timecode        : 19:05:32:105
  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
    Metadata:
      creation_time   : 2023-02-28T19:06:41.000000Z
      handler_name    : GoPro AAC  
      vendor_id       : [0][0][0][0]
      timecode        : 19:05:32:105
  Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
    Metadata:
      creation_time   : 2023-02-28T19:06:41.000000Z
      handler_name    : GoPro TCD  
      timecode        : 19:05:32:105
  Stream #0:3(eng): Data: bin_data (gpmd / 0x646D7067), 76 kb/s (default)
    Metadata:
      creation_time   : 2023-02-28T19:06:41.000000Z
      handler_name    : GoPro MET  


    


    Whereas the re-constructed video has the following data :

    


    Duration: 00:00:08.13, start: 0.000000, bitrate: 763650 kb/s
  Stream #0:0: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 763696 kb/s, 120 fps, 120 tbr, 15360 tbn, 15360 tbc (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : FFMP
      encoder         : Lavc58.134.100 hevc_videotoolbo


    


    When this re-constructed video plays in the browser, it is in slow-mo and I need to set the playbackRate to 4.0 for it to play "normally".

    


    Is there something I need to add to the video for the browser to play it at "normal" speed ?

    


    EDIT

    


    I just compared the two video streams :

    


    original:
Stream #0:0(eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 59891 kb/s, 119.88 fps, 119.88 tbr, 120k tbn, 119.88 tbc (default)

Reconstructed:
 Stream #0:0: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, progressive), 3840x2160 [SAR 1:1 DAR 16:9], 763696 kb/s, 120 fps, 120 tbr, 15360 tbn, 15360 tbc (default)


    


    I don't quit understand all of this though. so here's what I notice :

    


    original.         reconstructed
--------------------------------
bt709             progressive
89871 kb/s.       763696 kb/s
119.88 fps.       120 fps
119.88 tbr.       120 tbr
120k tbr.         15360 tbr
11960 tbr.        15360 tbc


    


    Hmm. I suspect it has something to do with tbr and tbc whatever those are, or perhaps the progressive vs the bt709 ? the pirates are also vastly different.

    


  • ffmpeg : fps drop when one -map udp output unreachable [closed]

    14 mai 2024, par user25041039

    I stream a video from a raspberry pi (server) to a splitscreen of 5x5 devices (clients) through an ethernet LAN.

    


    Server

    


    On the server side, I use the following ffmpeg command that :

    


      

    1. reads a video list in loop ;
    2. 


    3. splits it into 25 different streams ;
    4. 


    5. maps each stream to a device through udp.
    6. 


    


    I also have several options to minimize latency and keep the different subscreens in sync.

    


    ffmpeg -loglevel repeat+level+verbose -re -copyts -start_at_zero -rtbufsize 100000k \
    -stream_loop -1 -f concat -i stream.lst -an \
    -filter_complex "\
    [0]crop=iw/5:ih/5:0*iw/5:0*ih/5[11];
    [0]crop=iw/5:ih/5:1*iw/5:0*ih/5[12];
    [...] # truncated for readability
    [0]crop=iw/5:ih/5:4*iw/5:4*ih/5[55]" \
    -map '[11]?' -flush_packets 1 -preset ultrafast -vcodec libx264 -tune zerolatency -f mpegts "udp://100.64.0.11:1234" \
    -map '[12]?' -flush_packets 1 -preset ultrafast -vcodec libx264 -tune zerolatency -f mpegts "udp://100.64.0.12:1234" \
    [...] # truncated for readability
    -map '[55]?' -flush_packets 1 -preset ultrafast -vcodec libx264 -tune zerolatency -f mpegts "udp://100.64.0.55:1234"


    


    Clients

    


    On the client side, I use mpv to read the stream and display it. There are also options for low-latency.

    


    mpv --no-cache --force-seekable=yes --profile=low-latency --untimed --no-audio --video-rotate=90 --fs --no-config --vo=gpu --hwdec=auto udp://100.64.0.1:1234/


    


    My problem

    


    When a device is unreachable through the LAN (eg : powered down), the FPS stated by ffmpeg drops after a short period ( 10 seconds), and the stream is laggy (= some frames, then pause for 1s, ...). What I expect is the stream to go on normally, just having one of the subscreens black.

    


    Here is the full log of ffmpeg when I start the stream normally then power down one of the clients after 15s.

    


    [info] ffmpeg version 5.1.4-0+rpt3+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers
[info]   built with gcc 12 (Debian 12.2.0-14)
[info]   configuration: --prefix=/usr --extra-version=0+rpt3+deb12u1 --toolchain=hardened --incdir=/usr/include/aarch64-linux-gnu --enable-gpl --disable-stripping --disable-mmal --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --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-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sand --enable-sdl2 --disable-sndio --enable-libjxl --enable-neon --enable-v4l2-request --enable-libudev --enable-epoxy --libdir=/usr/lib/aarch64-linux-gnu --arch=arm64 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-vout-drm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
[info]   libavutil      57. 28.100 / 57. 28.100
[info]   libavcodec     59. 37.100 / 59. 37.100
[info]   libavformat    59. 27.100 / 59. 27.100
[info]   libavdevice    59.  7.100 / 59.  7.100
[info]   libavfilter     8. 44.100 /  8. 44.100
[info]   libswscale      6.  7.100 /  6.  7.100
[info]   libswresample   4.  7.100 /  4.  7.100
[info]   libpostproc    56.  6.100 / 56.  6.100
[h264 @ 0x5555f1407de0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[h264 @ 0x5555f140eca0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[info] Input #0, concat, from 'stream.lst':
[info]   Duration: N/A, start: 0.000000, bitrate: 47 kb/s
[info]   Stream #0:0(und): Video: h264 (Main), 1 reference frame (avc1 / 0x31637661), yuv420p(tv, bt709, progressive, left), 1920x1080 (1920x1088), 47 kb/s, 24 fps, 24 tbr, 12288 tbn
[info]     Metadata:
[info]       handler_name    : Core Media Video
[info]       vendor_id       : [0][0][0][0]
[info] Stream mapping:
[info]   Stream #0:0 (h264) -> crop:default
... truncated
[info]   Stream #0:0 (h264) -> crop:default
[info]   crop:default -> Stream #0:0 (libx264)
... truncated
[info]   crop:default -> Stream #24:0 (libx264)
[info] Press [q] to stop, [?] for help
[h264 @ 0x5555f13fe050] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[graph 0 input from stream 0:0 @ 0x5555f1dfad40] [verbose] w:1920 h:1080 pixfmt:yuv420p tb:1/12288 fr:24/1 sar:0/1
... truncated
[graph 0 input from stream 0:0 @ 0x5555f1e01a50] [verbose] w:1920 h:1080 pixfmt:yuv420p tb:1/12288 fr:24/1 sar:0/1
[Parsed_crop_24 @ 0x5555f1dfa860] [verbose] w:1920 h:1080 sar:0/1 -> w:384 h:216 sar:0/1
... truncated
[Parsed_crop_0 @ 0x5555f1df23e0] [verbose] w:1920 h:1080 sar:0/1 -> w:384 h:216 sar:0/1
[libx264 @ 0x5555f147c220] [info] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x5555f147c220] [info] profile Constrained Baseline, level 1.3, 4:2:0, 8-bit
[mpegts @ 0x5555f148ab70] [verbose] service 1 using PCR in pid=256, pcr_period=83ms
[mpegts @ 0x5555f148ab70] [verbose] muxrate VBR, sdt every 500 ms, pat/pmt every 100 ms
[info] Output #0, mpegts, to 'udp://100.64.0.11:1234':
[info]   Metadata:
[info]     encoder         : Lavf59.27.100
[info]   Stream #0:0: Video: h264, 1 reference frame, yuv420p(tv, bt709, progressive, left), 384x216 (0x0), q=2-31, 24 fps, 90k tbn
[info]     Metadata:
[info]       encoder         : Lavc59.37.100 libx264
[info]     Side data:
[info]       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[libx264 @ 0x5555f1428760] [info] using cpu capabilities: ARMv8 NEON
[libx264 @ 0x5555f1428760] [info] profile Constrained Baseline, level 1.3, 4:2:0, 8-bit
[mpegts @ 0x5555f148b080] [verbose] service 1 using PCR in pid=256, pcr_period=83ms
[mpegts @ 0x5555f148b080] [verbose] muxrate VBR, sdt every 500 ms, pat/pmt every 100 ms

... truncated
[info] Output #24, mpegts, to 'udp://100.64.0.55:1234':
[info]   Metadata:
[info]     encoder         : Lavf59.27.100
[info]   Stream #24:0: Video: h264, 1 reference frame, yuv420p(tv, bt709, progressive, left), 384x216 (0x0), q=2-31, 24 fps, 90k tbn
[info]     Metadata:
[info]       encoder         : Lavc59.37.100 libx264
[info]     Side data:
[info]       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
[info] frame=    1 fps=0.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 size=   [info] frame=    9 fps=0.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 size=   [info] frame=   22 fps= 21 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=   34 fps= 22 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=   46 fps= 22 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=   58 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [AVIOContext @ 0x5555f140fa70] [verbose] Statistics: 19517 bytes read, 0 seeks
[h264 @ 0x5555f1407de0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[info] frame=   70 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=   83 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=   95 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  107 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  119 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  132 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [AVIOContext @ 0x5555f140fa70] [verbose] Statistics: 19240 bytes read, 0 seeks
[h264 @ 0x5555f1407de0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[info] frame=  144 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  156 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  168 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  180 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  193 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 q=12.0 q=27.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  205 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [AVIOContext @ 0x5555f140fa70] [verbose] Statistics: 19218 bytes read, 0 seeks
[h264 @ 0x5555f1407de0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[h264 @ 0x5555f17af150] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[concat @ 0x5555f13febf0] [warning] New audio stream 0:1 at pos:68549 and DTS:8.99977s
[info] frame=  217 fps= 24 q=14.0 q=20.0 q=14.0 q=26.0 q=25.0 q=17.0 q=19.0 q=13.0 q=25.0 q=25.0 q=22.0 q=19.0 q=14.0 q=25.0 q=22.0 q=22.0 q=19.0 q=14.0 q=22.0 q=13.0 q=23.0 q=20.0 q=13.0 q=22.0 q=14.0 size=   [info] frame=  229 fps= 24 q=14.0 q=22.0 q=14.0 q=26.0 q=24.0 q=18.0 q=21.0 q=15.0 q=25.0 q=24.0 q=20.0 q=22.0 q=15.0 q=25.0 q=21.0 q=21.0 q=22.0 q=15.0 q=23.0 q=12.0 q=22.0 q=22.0 q=12.0 q=23.0 q=14.0 size=   [info] frame=  241 fps= 24 q=16.0 q=22.0 q=15.0 q=26.0 q=25.0 q=17.0 q=22.0 q=18.0 q=25.0 q=24.0 q=20.0 q=22.0 q=17.0 q=25.0 q=22.0 q=21.0 q=23.0 q=17.0 q=23.0 q=15.0 q=21.0 q=23.0 q=17.0 q=23.0 q=15.0 size=   [info] frame=  253 fps= 24 q=18.0 q=24.0 q=19.0 q=26.0 q=25.0 q=17.0 q=23.0 q=20.0 q=26.0 q=25.0 q=21.0 q=23.0 q=19.0 q=26.0 q=23.0 q=22.0 q=22.0 q=19.0 q=23.0 q=15.0 q=23.0 q=22.0 q=19.0 q=22.0 q=16.0 size=   [info] frame=  265 fps= 24 q=20.0 q=23.0 q=19.0 q=27.0 q=26.0 q=19.0 q=25.0 q=18.0 q=27.0 q=25.0 q=23.0 q=25.0 q=18.0 q=26.0 q=22.0 q=24.0 q=23.0 q=17.0 q=22.0 q=14.0 q=16.0 q=19.0 q=14.0 q=18.0 q=14.0 size=   [info] frame=  278 fps= 24 q=12.0 q=22.0 q=25.0 q=21.0 q=15.0 q=12.0 q=24.0 q=24.0 q=25.0 q=13.0 q=12.0 q=25.0 q=23.0 q=24.0 q=12.0 q=12.0 q=25.0 q=26.0 q=24.0 q=12.0 q=12.0 q=17.0 q=22.0 q=17.0 q=12.0 size=   [info] frame=  290 fps= 24 q=13.0 q=22.0 q=22.0 q=22.0 q=16.0 q=18.0 q=22.0 q=22.0 q=22.0 q=18.0 q=19.0 q=22.0 q=22.0 q=21.0 q=18.0 q=16.0 q=22.0 q=21.0 q=21.0 q=17.0 q=12.0 q=22.0 q=21.0 q=22.0 q=14.0 size=   [info] frame=  302 fps= 24 q=18.0 q=21.0 q=22.0 q=21.0 q=19.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 q=20.0 q=21.0 q=21.0 q=21.0 q=19.0 q=20.0 q=21.0 q=21.0 q=22.0 q=19.0 q=17.0 q=22.0 q=21.0 q=21.0 q=17.0 size=   [info] frame=  314 fps= 24 q=19.0 q=21.0 q=21.0 q=21.0 q=20.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 q=20.0 q=21.0 q=20.0 q=21.0 q=20.0 q=19.0 q=21.0 q=21.0 q=21.0 q=19.0 size=   [info] frame=  326 fps= 24 q=20.0 q=21.0 q=21.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 q=21.0 q=21.0 q=21.0 q=21.0 q=20.0 q=21.0 q=21.0 q=21.0 q=21.0 q=20.0 q=21.0 q=21.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 size=   [info] frame=  339 fps= 24 q=20.0 q=20.0 q=21.0 q=20.0 q=21.0 q=21.0 q=20.0 q=19.0 q=21.0 q=21.0 q=21.0 q=21.0 q=20.0 q=20.0 q=21.0 q=20.0 q=21.0 q=20.0 q=20.0 q=21.0 q=20.0 q=21.0 q=20.0 q=21.0 q=20.0 size=   [info] frame=  351 fps= 24 q=21.0 q=20.0 q=21.0 q=20.0 q=20.0 q=20.0 q=20.0 q=19.0 q=21.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 q=20.0 q=20.0 q=21.0 q=21.0 q=21.0 q=21.0 q=20.0 size=   [info] frame=  363 fps= 24 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=19.0 q=20.0 q=20.0 q=21.0 q=20.0 q=20.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 q=20.0 q=21.0 q=21.0 q=21.0 q=20.0 q=21.0 q=21.0 size=   [info] frame=  375 fps= 24 q=20.0 q=20.0 q=20.0 q=19.0 q=20.0 q=20.0 q=20.0 q=19.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=19.0 q=21.0 q=21.0 q=20.0 q=20.0 q=20.0 q=21.0 q=20.0 q=21.0 q=20.0 q=21.0 q=21.0 size=   [info] frame=  387 fps= 24 q=20.0 q=20.0 q=20.0 q=19.0 q=20.0 q=20.0 q=19.0 q=19.0 q=20.0 q=20.0 q=20.0 q=20.0 q=20.0 q=19.0 q=21.0 q=21.0 q=20.0 q=19.0 q=19.0 q=20.0 q=21.0 q=21.0 q=19.0 q=21.0 q=20.0 size=   [info] frame=  400 fps= 24 q=20.0 q=20.0 q=20.0 q=19.0 q=20.0 q=20.0 q=18.0 q=18.0 q=19.0 q=20.0 q=20.0 q=19.0 q=20.0 q=19.0 q=20.0 q=20.0 q=20.0 q=19.0 q=19.0 q=20.0 q=20.0 q=21.0 q=19.0 q=19.0 q=20.0 size=   [info] frame=  412 fps= 24 q=20.0 q=19.0 q=19.0 q=19.0 q=19.0 q=20.0 q=18.0 q=18.0 q=19.0 q=19.0 q=20.0 q=19.0 q=20.0 q=19.0 q=19.0 q=20.0 q=20.0 q=19.0 q=19.0 q=19.0 q=20.0 q=21.0 q=19.0 q=19.0 q=19.0 size=   [info] frame=  424 fps= 24 q=20.0 q=19.0 q=20.0 q=20.0 q=19.0 q=20.0 q=18.0 q=19.0 q=19.0 q=19.0 q=20.0 q=19.0 q=20.0 q=19.0 q=19.0 q=20.0 q=20.0 q=19.0 q=19.0 q=19.0 q=21.0 q=21.0 q=19.0 q=19.0 q=19.0 size=   [info] frame=  436 fps= 24 q=20.0 q=18.0 q=19.0 q=20.0 q=18.0 q=20.0 q=18.0 q=18.0 q=19.0 q=18.0 q=20.0 q=19.0 q=20.0 q=19.0 q=19.0 q=20.0 q=19.0 q=19.0 q=19.0 q=18.0 q=21.0 q=21.0 q=19.0 q=19.0 q=19.0 size=   [info] frame=  448 fps= 24 q=19.0 q=18.0 q=19.0 q=20.0 q=18.0 q=19.0 q=18.0 q=18.0 q=19.0 q=18.0 q=19.0 q=19.0 q=20.0 q=19.0 q=18.0 q=20.0 q=19.0 q=19.0 q=19.0 q=18.0 q=21.0 q=21.0 q=19.0 q=19.0 q=19.0 size=   [info] frame=  460 fps= 24 q=19.0 q=18.0 q=19.0 q=20.0 q=18.0 q=19.0 q=18.0 q=18.0 q=19.0 q=18.0 q=19.0 q=19.0 q=20.0 q=19.0 q=18.0 q=20.0 q=19.0 q=19.0 q=20.0 q=18.0 q=20.0 q=21.0 q=19.0 q=19.0 q=18.0 size=   [info] frame=  472 fps= 24 q=19.0 q=18.0 q=19.0 q=20.0 q=18.0 q=19.0 q=18.0 q=18.0 q=19.0 q=18.0 q=19.0 q=19.0 q=19.0 q=19.0 q=18.0 q=19.0 q=19.0 q=19.0 q=20.0 q=18.0 q=20.0 q=21.0 q=19.0 q=19.0 q=18.0 size=   [info] frame=  484 fps= 24 q=19.0 q=18.0 q=19.0 q=20.0 q=18.0 q=19.0 q=18.0 q=18.0 q=19.0 q=18.0 q=19.0 q=19.0 q=19.0 q=19.0 q=18.0 q=19.0 q=19.0 q=19.0 q=19.0 q=18.0 q=20.0 q=21.0 q=19.0 q=20.0 q=18.0 size=   [info] frame=  496 fps= 24 q=21.0 q=20.0 q=21.0 q=21.0 q=18.0 q=20.0 q=21.0 q=21.0 q=21.0 q=18.0 q=20.0 q=21.0 q=22.0 q=21.0 q=18.0 q=21.0 q=21.0 q=21.0 q=21.0 q=18.0 q=21.0 q=21.0 q=21.0 q=20.0 q=19.0 size=   [info] frame=  509 fps= 24 q=21.0 q=20.0 q=22.0 q=21.0 q=17.0 q=21.0 q=22.0 q=22.0 q=22.0 q=18.0 q=20.0 q=22.0 q=22.0 q=22.0 q=17.0 q=21.0 q=22.0 q=22.0 q=22.0 q=18.0 q=21.0 q=22.0 q=22.0 q=20.0 q=18.0 size=   [info] frame=  521 fps= 24 q=20.0 q=21.0 q=22.0 q=21.0 q=17.0 q=21.0 q=22.0 q=23.0 q=22.0 q=17.0 q=20.0 q=22.0 q=23.0 q=22.0 q=17.0 q=21.0 q=22.0 q=22.0 q=22.0 q=17.0 q=21.0 q=22.0 q=22.0 q=21.0 q=18.0 size=   [info] frame=  533 fps= 24 q=20.0 q=20.0 q=22.0 q=21.0 q=15.0 q=20.0 q=22.0 q=23.0 q=22.0 q=16.0 q=19.0 q=22.0 q=23.0 q=22.0 q=16.0 q=21.0 q=22.0 q=22.0 q=22.0 q=16.0 q=21.0 q=22.0 q=22.0 q=21.0 q=17.0 size=   [AVIOContext @ 0x5555f140fa70] [verbose] Statistics: 3205712 bytes read, 2 seeks
[h264 @ 0x5555f1df2c00] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[h264 @ 0x5555f1949030] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[info] frame=  546 fps= 24 q=16.0 q=17.0 q=18.0 q=18.0 q=13.0 q=17.0 q=18.0 q=18.0 q=18.0 q=13.0 q=16.0 q=18.0 q=19.0 q=18.0 q=14.0 q=17.0 q=19.0 q=18.0 q=18.0 q=14.0 q=18.0 q=19.0 q=18.0 q=18.0 q=14.0 size=   [info] frame=  558 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=14.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  570 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  582 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  594 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  606 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  618 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  631 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  643 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  655 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [AVIOContext @ 0x5555f140fa70] [verbose] Statistics: 120365 bytes read, 2 seeks
[h264 @ 0x5555f1df2c00] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[h264 @ 0x5555f1949030] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[info] frame=  667 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  679 fps= 24 q=20.0 q=12.0 q=12.0 q=12.0 q=12.0 q=20.0 q=12.0 q=25.0 q=12.0 q=12.0 q=21.0 q=20.0 q=24.0 q=12.0 q=12.0 q=20.0 q=19.0 q=22.0 q=13.0 q=13.0 q=13.0 q=14.0 q=17.0 q=12.0 q=12.0 size=   [info] frame=  691 fps= 24 q=17.0 q=12.0 q=21.0 q=12.0 q=12.0 q=15.0 q=13.0 q=23.0 q=12.0 q=12.0 q=16.0 q=19.0 q=21.0 q=17.0 q=12.0 q=15.0 q=12.0 q=21.0 q=13.0 q=13.0 q=12.0 q=12.0 q=13.0 q=12.0 q=12.0 size=   [info] frame=  703 fps= 24 q=19.0 q=12.0 q=21.0 q=12.0 q=12.0 q=16.0 q=12.0 q=23.0 q=12.0 q=12.0 q=14.0 q=17.0 q=21.0 q=15.0 q=12.0 q=13.0 q=12.0 q=20.0 q=13.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  715 fps= 24 q=20.0 q=12.0 q=20.0 q=15.0 q=12.0 q=18.0 q=22.0 q=23.0 q=23.0 q=12.0 q=16.0 q=17.0 q=22.0 q=17.0 q=12.0 q=15.0 q=21.0 q=22.0 q=13.0 q=13.0 q=12.0 q=14.0 q=13.0 q=12.0 q=12.0 size=   [info] frame=  728 fps= 24 q=18.0 q=12.0 q=12.0 q=12.0 q=12.0 q=16.0 q=14.0 q=23.0 q=12.0 q=12.0 q=16.0 q=19.0 q=22.0 q=13.0 q=12.0 q=15.0 q=19.0 q=21.0 q=13.0 q=12.0 q=12.0 q=12.0 q=14.0 q=12.0 q=12.0 size=   [info] frame=  740 fps= 24 q=17.0 q=12.0 q=12.0 q=12.0 q=12.0 q=15.0 q=14.0 q=22.0 q=12.0 q=12.0 q=14.0 q=18.0 q=21.0 q=12.0 q=12.0 q=15.0 q=19.0 q=20.0 q=13.0 q=13.0 q=12.0 q=13.0 q=16.0 q=12.0 q=12.0 size=   [info] frame=  752 fps= 24 q=23.0 q=14.0 q=14.0 q=14.0 q=14.0 q=21.0 q=16.0 q=25.0 q=14.0 q=14.0 q=21.0 q=20.0 q=23.0 q=16.0 q=20.0 q=22.0 q=21.0 q=23.0 q=22.0 q=20.0 q=22.0 q=24.0 q=24.0 q=23.0 q=23.0 size=   [info] frame=  764 fps= 24 q=16.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=14.0 q=23.0 q=12.0 q=12.0 q=14.0 q=18.0 q=22.0 q=12.0 q=12.0 q=13.0 q=16.0 q=18.0 q=13.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  776 fps= 24 q=21.0 q=14.0 q=19.0 q=12.0 q=12.0 q=20.0 q=23.0 q=23.0 q=19.0 q=12.0 q=15.0 q=23.0 q=23.0 q=21.0 q=12.0 q=16.0 q=16.0 q=20.0 q=13.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  788 fps= 24 q=22.0 q=12.0 q=19.0 q=18.0 q=13.0 q=21.0 q=12.0 q=23.0 q=24.0 q=16.0 q=19.0 q=12.0 q=24.0 q=26.0 q=23.0 q=15.0 q=12.0 q=27.0 q=25.0 q=16.0 q=13.0 q=13.0 q=16.0 q=12.0 q=12.0 size=   [info] frame=  800 fps= 24 q=21.0 q=12.0 q=12.0 q=12.0 q=12.0 q=18.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 q=15.0 q=15.0 q=12.0 q=13.0 q=12.0 q=14.0 q=17.0 q=13.0 q=13.0 q=12.0 q=13.0 q=12.0 q=12.0 size=   [AVIOContext @ 0x5555f140fa70] [verbose] Statistics: 984786 bytes read, 2 seeks
[h264 @ 0x5555f1407de0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[h264 @ 0x5555f187c0c0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[info] frame=  812 fps= 24 q=21.0 q=12.0 q=12.0 q=12.0 q=12.0 q=18.0 q=13.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=16.0 q=15.0 q=12.0 q=12.0 q=12.0 q=13.0 q=16.0 q=12.0 size=   [info] frame=  824 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  836 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  848 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  861 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=24.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  873 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  885 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=23.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  897 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  909 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=25.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  922 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  934 fps= 24 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  938 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [AVIOContext @ 0x5555f140fa70] [verbose] Statistics: 29154 bytes read, 0 seeks
[h264 @ 0x5555f1407de0] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5555f1407720] [info] Auto-inserting h264_mp4toannexb bitstream filter
[h264 @ 0x5555f17af150] [verbose] Reinit context to 1920x1088, pix_fmt: yuv420p
[info] frame=  963 fps= 23 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=15.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  967 fps= 22 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=17.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  994 fps= 22 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=15.0 q=19.0 q=12.0 q=12.0 q=12.0 q=17.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame=  997 fps= 21 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=15.0 q=19.0 q=12.0 q=12.0 q=12.0 q=18.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame= 1023 fps= 21 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=14.0 q=20.0 q=18.0 q=15.0 q=15.0 q=14.0 q=13.0 q=13.0 q=13.0 q=13.0 q=13.0 q=13.0 size=   [info] frame= 1029 fps= 20 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=14.0 q=20.0 q=15.0 q=14.0 q=15.0 q=15.0 q=13.0 q=13.0 q=14.0 q=14.0 q=14.0 q=13.0 size=   [info] frame= 1055 fps= 21 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=15.0 q=19.0 q=15.0 q=14.0 q=15.0 q=16.0 q=12.0 q=13.0 q=13.0 q=13.0 q=13.0 q=12.0 size=   [info] frame= 1060 fps= 20 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=16.0 q=19.0 q=15.0 q=14.0 q=15.0 q=16.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=   [info] frame= 1086 fps= 20 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=16.0 q=15.0 q=14.0 q=14.0 q=12.0 q=13.0 q=13.0 q=13.0 q=13.0 q=12.0 size=   [info] frame= 1092 fps= 19 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=13.0 q=16.0 q=13.0 q=13.0 q=13.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 q=12.0 size=


    


    What I tried & My guesses

    


    My best guess is that the issue comes from one of the data buffers between the two applications (ffmpeg -> mpv). There are several buffers and I don't know exactly which ones, but there is at least a UDP buffer at the output of the server and another one at the input of the client.

    


    When a client is unreachable, the server's UDP buffer seems to fill up and thus don't continue streaming for other clients.

    


    I tried to tweak several parameters of ffmpeg concerning buffers but without success.

    


      

    • udp://100.64.0.32:1234?buffer_size=1024&connect=0&fifo_size=10&overrun_nonfatal=0
    • 


    • fps_mode
    • 


    • thread_queue_size
    • 


    


    Any help is welcome !

    


  • What Is Data Misuse & How to Prevent It ? (With Examples)

    13 mai 2024, par Erin

    Your data is everywhere. Every time you sign up for an email list, log in to Facebook or download a free app onto your smartphone, your data is being taken.

    This can scare customers and users who fear their data will be misused.

    While data can be a powerful asset for your business, it’s important you manage it well, or you could be in over your head.

    In this guide, we break down what data misuse is, what the different types are, some examples of major data misuse and how you can prevent it so you can grow your brand sustainably.

    What is data misuse ?

    Data is a good thing.

    It helps analysts and marketers understand their customers better so they can serve them relevant information, products and services to improve their lives.

    But it can quickly become a bad thing for both the customers and business owners when it’s mishandled and misused.

    What is data misuse?

    Data misuse is when a business uses data outside of the agreed-upon terms. When companies collect data, they need to legally communicate how that data is being used. 

    Who or what determines when data is being misused ?

    Several bodies :

    • User agreements
    • Data privacy laws
    • Corporate policies
    • Industry regulations

    There are certain laws and regulations around how you can collect and use data. Failure to comply with these guidelines and rules can result in several consequences, including legal action.

    Keep reading to discover the different types of data misuse and how to prevent it.

    3 types of data misuse

    There are a few different types of data misuse.

    If you fail to understand them, you could face penalties, legal trouble and a poor brand reputation.

    3 types of data misuse.

    1. Commingling

    When you collect data, you need to ensure you’re using it for the right purpose. Commingling is when an organisation collects data from a specific audience for a specific reason but then uses the data for another purpose.

    One example of commingling is if a company shares sensitive customer data with another company. In many cases, sister companies will share data even if the terms of the data collection didn’t include that clause.

    Another example is if someone collects data for academic purposes like research but then uses the data later on for marketing purposes to drive business growth in a for-profit company.

    In either case, the company went wrong by not being clear on what the data would be used for. You must communicate with your audience exactly how the data will be used.

    2. Personal benefit

    The second common way data is misused in the workplace is through “personal benefit.” This is when someone with access to data abuses it for their own gain.

    The most common example of personal benefit data muse is when an employee misuses internal data.

    While this may sound like each instance of data misuse is caused by malicious intent, that’s not always the case. Data misuse can still exist even if an employee didn’t have any harmful intent behind their actions. 

    One of the most common examples is when an employee mistakenly moves data from a company device to personal devices for easier access.

    3. Ambiguity

    As mentioned above, when discussing commingling, a company must only use data how they say they will use it when they collect it.

    A company can misuse data when they’re unclear on how the data is used. Ambiguity is when a company fails to disclose how user data is being collected and used.

    This means communicating poorly on how the data will be used can be wrong and lead to misuse.

    One of the most common ways this happens is when a company doesn’t know how to use the data, so they can’t give a specific reason. However, this is still considered misuse, as companies need to disclose exactly how they will use the data they collect from their customers.

    Laws on data misuse you need to follow

    Data misuse can lead to poor reputations and penalties from big tech companies. For example, if you step outside social media platforms’ guidelines, you could be suspended, banned or shadowbanned.

    But what’s even more important is certain types of data misuse could mean you’re breaking laws worldwide. Here are some laws on data misuse you need to follow to avoid legal trouble :

    General Data Protection Regulation (GDPR)

    The GDPR, or General Data Protection Regulation, is a law within the European Union (EU) that went into effect in 2018.

    The GDPR was implemented to set a standard and improve data protection in Europe. It was also established to increase accountability and transparency for data breaches within businesses and organisations.

    The purpose of the GDPR is to protect residents within the European Union.

    The penalties for breaking GDPR laws are fines up to 20 million Euros or 4% of global revenues (whatever the higher amount is).

    The GDPR doesn’t just affect companies in Europe. You can break the GDPR’s laws regardless of where your organisation is located worldwide. As long as your company collects, processes or uses the personal data of any EU resident, you’re subject to the GDPR’s rules.

    If you want to track user data to grow your business, you need to ensure you’re following international data laws. Tools like Matomo—the world’s leading privacy-friendly web analytics solution—can help you achieve GDPR compliance and maintain it.

    With Matomo, you can confidently enhance your website’s performance, knowing that you’re adhering to data protection laws. 

    Try Matomo for Free

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

    No credit card required

    California Consumer Privacy Act (CCPA)

    The California Consumer Privacy Act (CCPA) is another important data law companies worldwide must follow.

    Like GDPR, the CCPA is a data privacy law established to protect residents of a certain region — in this case, residents of California in the United States.

    The CCPA was implemented in 2020, and businesses worldwide can be penalised for breaking the regulations. For example, if you’re found violating the CCPA, you could be fined $7,500 for each intentional violation.

    If you have unintentional violations, you could still be fined, but at a lesser fee of $2,500.

    The Gramm-Leach-Bliley Act (GLBA)

    If your business is located within the United States, then you’re subject to a federal law implemented in 1999 called The Gramm-Leach-Bliley Act (GLB Act or GLBA).

    The GLBA is also known as the Financial Modernization Act of 1999. Its purpose is to control the way American financial institutions handle consumer data. 

    In the GLBA, there are three sections :

    1. The Financial Privacy Rule : regulates the collection and disclosure of private financial data.
    2. Safeguards Rule : Financial institutions must establish security programs to protect financial data.
    3. Pretexting Provisions : Prohibits accessing private data using false pretences.

    The GLBA also requires financial institutions in the U.S. to give their customers written privacy policy communications that explain their data-sharing practices.

    4 examples of data misuse in real life

    If you want to see what data misuse looks like in real life, look no further.

    Big tech is central to some of the biggest data misuses and scandals.

    4 examples of data misuse in real life.

    Here are a few examples of data misuse in real life you should take note of to avoid a similar scenario :

    1. Facebook election interference

    One of history’s most famous examples of data misuse is the Facebook and Cambridge Analytica scandal in 2018.

    During the 2018 U.S. midterm elections, Cambridge Analytica, a political consulting firm, acquired personal data from Facebook users that was said to have been collected for academic research.

    Instead, Cambridge Analytica used data from roughly 87 million Facebook users. 

    This is a prime example of commingling.

    The result ? Cambridge Analytica was left bankrupt and dissolved, and Facebook was fined $5 billion by the Federal Trade Commission (FTC).

    2. Uber “God View” tracking

    Another big tech company, Uber, was caught misusing data a decade ago. 

    Why ?

    Uber implemented a new feature for its employees in 2014 called “God View.”

    The tool enabled Uber employees to track riders using their app. The problem was that they were watching them without the users’ permission. “God View” lets Uber spy on their riders to see their movements and locations.

    The FTC ended up slapping them with a major lawsuit, and as part of their settlement agreement, Uber agreed to have an outside firm audit their privacy practices between 2014 and 2034.

    Uber "God View."

    3. Twitter targeted ads overstep

    In 2019, Twitter was found guilty of allowing advertisers to access its users’ personal data to improve advertisement targeting.

    Advertisers were given access to user email addresses and phone numbers without explicit permission from the users. The result was that Twitter ad buyers could use this contact information to cross-reference with Twitter’s data to serve ads to them.

    Twitter stated that the data leak was an internal error. 

    4. Google location tracking

    In 2020, Google was found guilty of not explicitly disclosing how it’s using its users’ personal data, which is an example of ambiguity.

    The result ?

    The French data protection authority fined Google $57 million.

    8 ways to prevent data misuse in your company

    Now that you know the dangers of data misuse and its associated penalties, it’s time to understand how you can prevent it in your company.

    How to prevent data misuse in your company.

    Here are eight ways you can prevent data misuse :

    1. Track data with an ethical web analytics solution

    You can’t get by in today’s business world without tracking data. The question is whether you’re tracking it safely or not.

    If you want to ensure you aren’t getting into legal trouble with data misuse, then you need to use an ethical web analytics solution like Matomo.

    With it, you can track and improve your website performance while remaining GDPR-compliant and respecting user privacy. Unlike other web analytics solutions that monetise your data and auction it off to advertisers, with Matomo, you own your data.

    Try Matomo for Free

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

    No credit card required

    2. Don’t share data with big tech

    As the data misuse examples above show, big tech companies often violate data privacy laws.

    And while most of these companies, like Google, appear to be convenient, they’re often inconvenient (and much worse), especially regarding data leaks, privacy breaches and the sale of your data to advertisers.

    Have you ever heard the phrase : “You are the product ?” When it comes to big tech, chances are if you’re getting it for free, you (and your data) are the products they’re selling.

    The best way to stop sharing data with big tech is to stop using platforms like Google. For more ideas on different Google product alternatives, check out this list of Google alternatives.

    3. Identity verification 

    Data misuse typically isn’t a company-wide ploy. Often, it’s the lack of security structure and systems within your company. 

    An important place to start is to ensure proper identity verification for anyone with access to your data.

    4. Access management

    After establishing identity verification, you should ensure you have proper access management set up. For example, you should only give specific access to specific roles in your company to prevent data misuse.

    5. Activity logs and monitoring

    One way to track data misuse or breaches is by setting up activity logs to ensure you can see who is accessing certain types of data and when they’re accessing it.

    You should ensure you have a team dedicated to continuously monitoring these logs to catch anything quickly.

    6. Behaviour alerts 

    While manually monitoring data is important, it’s also good to set up automatic alerts if there is unusual activity around your data centres. You should set up behaviour alerts and notifications in case threats or compromising events occur.

    7. Onboarding, training, education

    One way to ensure quality data management is to keep your employees up to speed on data security. You should ensure data security is a part of your employee onboarding. Also, you should have regular training and education to keep people informed on protecting company and customer data.

    8. Create data protocols and processes 

    To ensure long-term data security, you should establish data protocols and processes. 

    To protect your user data, set up rules and systems within your organisation that people can reference and follow continuously to prevent data misuse.

    Leverage data ethically with Matomo

    Data is everything in business.

    But it’s not something to be taken lightly. Mishandling user data can break customer trust, lead to penalties from organisations and even create legal trouble and massive fines.

    You should only use privacy-first tools to ensure you’re handling data responsibly.

    Matomo is a privacy-friendly web analytics tool that collects, stores and tracks data across your website without breaking privacy laws.

    With over 1 million websites using Matomo, you can track and improve website performance with :

    • Accurate data (no data sampling)
    • Privacy-friendly and compliant with privacy regulations like GDPR, CCPA and more
    • Advanced features like heatmaps, session recordings, A/B testing and more

    Try Matomo free for 21-days. No credit card required.