Recherche avancée

Médias (1)

Mot : - Tags -/livre électronique

Autres articles (48)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • 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

  • Support audio et vidéo HTML5

    10 avril 2011

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

Sur d’autres sites (8410)

  • FFMPEG Take 1 second clips each video file from a directory of files, and until total playtime reached

    3 février 2021, par Matthew

    I'm working on a music art video project for a song.

    


    I have a directory that contains approximately 400 individual videos

    


      

    • varying lengths (as short as 3 seconds and as long as 31 minutes)
    • 


    • varying file types (mp4 and webm)
    • 


    • varying resolutions/framerates/bitrates
    • 


    


    The output video should consist of :

    


      

    • 1 second chunks of each video
    • 


    • in round-robin fashion
    • 


    • until all videos are played fully or the output total video length reaches a certain limit (example, 20 minutes).
    • 


    • Output video should be 1280×720 at 24fps, with no preference to bitrate.
    • 


    • Videos that are larger should be scaled down and letterboxed (vertically or horizontally).
    • 


    • Audio is not important at all. The video can be silent. I can overlay audio separately.
    • 


    


    I do not want to loop short videos. In the example below, you can see that, for top-left-view-take-1.mp4, each 'clip' that's taken is incrementally further into the video. In other words, it shouldn't take the same 1 second clip from the beginning. The goal is to get further in to each individual video as the output video progresses.

    


    For example, say my directory contains files such as the following (and, for the example here, we'll say that this is all files in the directory) :

    


    overhead-view-take-1.mp4 (3 seconds, for the sake of the question)
top-right-view-take-1.mp4 (3 seconds, for the sake of the question)
top-right-view-take-2.mp4 (5 seconds, for the sake of the question)
outside-kaleidoscope-1.mp4
yellow-kaleidoscope-1.mp4
red-kaleidoscope-1.mp4
brake-lights-slow-1.mp4
soft-city-lights.webm


    


    Assume anything that isn't marked with a video duration is at least 5 seconds long.

    


    Based on the above files & times, here would be the order and time code of each clip during the first 30 seconds of the output video :

    


    Based on each video's total duration, the output video should include 1 second clips from all videos in the directory.

    


    





    


    


    


    


    


    



    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    Output time Clip time Clip file
    00:00-00:01 00:00-00:01 overhead-view-take-1.mp4
    00:01-00:02 00:00-00:01 top-right-view-take-1.mp4
    00:02-00:03 00:00-00:01 top-right-view-take-2.mp4
    00:03-00:04 00:00-00:01 outside-kaleidoscope-1.mp4
    00:04-00:05 00:00-00:01 yellow-kaleidoscope-1.mp4
    00:05-00:06 00:00-00:01 red-kaleidoscope-1.mp4
    00:06-00:07 00:00-00:01 brake-lights-slow-1.mp4
    00:07-00:08 00:00-00:01 soft-city-lights.webm
    00:08-00:09 00:01-00:02 overhead-view-take-1.mp4
    00:09-00:10 00:01-00:02 top-right-view-take-1.mp4
    00:10-00:11 00:01-00:02 top-right-view-take-2.mp4
    00:11-00:12 00:01-00:02 outside-kaleidoscope-1.mp4
    00:12-00:13 00:01-00:02 yellow-kaleidoscope-1.mp4
    00:13-00:14 00:01-00:02 red-kaleidoscope-1.mp4
    00:14-00:15 00:01-00:02 brake-lights-slow-1.mp4
    00:15-00:16 00:01-00:02 soft-city-lights.webm
    00:16-00:17 00:02-00:03 overhead-view-take-1.mp4
    00:17-00:18 00:02-00:03 top-right-view-take-1.mp4
    00:18-00:19 00:02-00:03 top-right-view-take-2.mp4
    00:19-00:20 00:02-00:03 outside-kaleidoscope-1.mp4
    00:20-00:21 00:02-00:03 yellow-kaleidoscope-1.mp4
    00:21-00:22 00:02-00:03 red-kaleidoscope-1.mp4
    00:22-00:23 00:02-00:03 brake-lights-slow-1.mp4
    00:23-00:24 00:02-00:03 soft-city-lights.webm

    


    


    Now, the output video should include 1 second clips only from videos that still have time remaining. The videos that don't have any time remaining, such as overhead-view-take-1.mp4 and top-right-view-take-1.mp4, are not present here.

    


    





    


    


    


    


    


    



    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    


    Output time Clip time Clip file
    00:24-00:25 00:03-00:04 top-right-view-take-2.mp4
    00:25-00:26 00:03-00:04 outside-kaleidoscope-1.mp4
    00:26-00:27 00:03-00:04 yellow-kaleidoscope-1.mp4
    00:27-00:28 00:03-00:04 red-kaleidoscope-1.mp4
    00:28-00:29 00:03-00:04 brake-lights-slow-1.mp4
    00:29-00:30 00:03-00:04 soft-city-lights.webm

    


    


    What I've tried

    


      

    • I've read through the docs and cobbled together some code that produces output, but it only seems to work with images ; I can't get the same thing to work with videos (specifically the incremental chunks).
    • 


    • I've tried manipulating commands meant to `create a snapshot every x seconds/frames' but I've hit dead ends there.
    • 


    • I've also started trying to create a text file to run the input from. That's the point where I thought it would make sense to ask here.
    • 


    


    My main issue is picking off incremental chunks of individual videos, and playing those in sequence.

    


    Thoughts ?

    


    Environment details
I have access to Win, Mac, and Linux machines. So, that environment isn't as important to me. Here's ffmpeg's output :

    


    ffmpeg version 4.3.1-0york0~16.04 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
  configuration: --prefix=/usr --extra-version='0york0~16.04' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libzimg --enable-pocketsphinx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Hyper fast Audio and Video encoder


    


  • Overlaying a transparent webm on an MP4 freezes at the start sometimes

    23 janvier 2021, par joshlat94

    I'm currently using the command
 ffmpeg -i mainvideo.mp4 -vcodec libvpx -i myoverlay.webm -filter_complex "overlay = 5:5" done.mp4
To overlay a transparent webm on top of my main mp4. But for some reason the output video is frozen for the first 1 second but the audio is completely fine.

    


    I've tried this command with other videos and it works sometimes but most of the time the first few frames seem frozen

    


    Edit.
I have two main mp4 files, broken_source.mp4 and working_source.mp4. Putting the overlay on broken_source results in the output having the first 1 second of video frozen (audio completely fine) but putting the same overlay on working_source.mp4 is perfect and has no issues

    


    Logs for putting the overlay on working_source :

    


    ffmpeg -i working_source.mp4 -vcodec libvpx -i chat.webm -filter_complex "overlay = 0:0" working_complete.mp4
ffmpeg version 4.3.1-2021-01-01-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'working_source.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.51.101
  Duration: 00:00:31.02, start: 0.000000, bitrate: 6176 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 6035 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[libvpx @ 0000016fb5074a80] v1.9.0-128-g3a38edea2
    Last message repeated 1 times
Input #1, matroska,webm, from 'chat.webm':
  Metadata:
    ENCODER         : Lavf58.51.101
  Duration: 00:00:31.00, start: 0.000000, bitrate: 449 kb/s
    Stream #1:0: Video: vp8, yuva420p(tv, progressive), 500x300, SAR 1:1 DAR 5:3, 60 fps, 60 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      alpha_mode      : 1
      ENCODER         : Lavc58.101.101 libvpx
      DURATION        : 00:00:31.000000000
[libvpx @ 0000016fb50761c0] v1.9.0-128-g3a38edea2
Stream mapping:
  Stream #0:0 (h264) -> overlay:main (graph 0)
  Stream #1:0 (libvpx) -> overlay:overlay (graph 0)
  overlay (graph 0) -> Stream #0:0 (libx264)
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libvpx @ 0000016fb50761c0] v1.9.0-128-g3a38edea2
[libx264 @ 0000016fb5072040] using SAR=1/1
[libx264 @ 0000016fb5072040] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000016fb5072040] profile High, level 4.2, 4:2:0, 8-bit
[libx264 @ 0000016fb5072040] 264 - core 161 r3027 4121277 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - 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=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, mp4, to 'working_complete.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.45.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 60 fps, 15360 tbn, 60 tbc (default)
    Metadata:
      encoder         : Lavc58.91.100 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) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.91.100 aac
frame= 1861 fps= 44 q=-1.0 Lsize=   20013kB time=00:00:31.01 bitrate=5285.3kbits/s speed=0.729x
video:19477kB audio:486kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.244893%
[libx264 @ 0000016fb5072040] frame I:8     Avg QP:19.04  size:240534
[libx264 @ 0000016fb5072040] frame P:538   Avg QP:23.76  size: 23836
[libx264 @ 0000016fb5072040] frame B:1315  Avg QP:31.66  size:  3951
[libx264 @ 0000016fb5072040] consecutive B-frames:  3.0%  3.5% 14.8% 78.7%
[libx264 @ 0000016fb5072040] mb I  I16..4:  6.4% 47.4% 46.2%
[libx264 @ 0000016fb5072040] mb P  I16..4:  1.2%  4.2%  1.9%  P16..4: 21.4%  5.3%  2.9%  0.0%  0.0%    skip:63.1%
[libx264 @ 0000016fb5072040] mb B  I16..4:  0.1%  0.2%  0.1%  B16..8: 12.6%  1.5%  0.5%  direct: 0.4%  skip:84.6%  L0:35.9% L1:60.0% BI: 4.1%
[libx264 @ 0000016fb5072040] 8x8 transform intra:55.5% inter:60.0%
[libx264 @ 0000016fb5072040] coded y,uvDC,uvAC intra: 63.5% 77.4% 40.4% inter: 3.7% 4.6% 0.7%
[libx264 @ 0000016fb5072040] i16 v,h,dc,p: 19% 37% 15% 29%
[libx264 @ 0000016fb5072040] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 16% 18% 23%  7%  7%  7%  7%  6%  8%
[libx264 @ 0000016fb5072040] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 22% 17%  7%  8%  7%  7%  6%  6%
[libx264 @ 0000016fb5072040] i8c dc,h,v,p: 45% 27% 18% 11%
[libx264 @ 0000016fb5072040] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0000016fb5072040] ref P L0: 74.5% 13.9%  9.1%  2.5%
[libx264 @ 0000016fb5072040] ref B L0: 91.9%  7.4%  0.7%
[libx264 @ 0000016fb5072040] ref B L1: 96.6%  3.4%
[libx264 @ 0000016fb5072040] kb/s:5144.05
[aac @ 0000016fb5026a80] Qavg: 193.230 


    


    Logs for putting the overlay on broken_source :

    


    ffmpeg -i broken_source.mp4 -vcodec libvpx -i chat.webm -filter_complex "overlay = 0:0" broken_complete.mp4
ffmpeg version 4.3.1-2021-01-01-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'broken_source.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.26.101
  Duration: 00:00:45.02, start: 0.000000, bitrate: 5962 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 5952 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[libvpx @ 0000021071f90280] v1.9.0-128-g3a38edea2
    Last message repeated 1 times
Input #1, matroska,webm, from 'chat.webm':
  Metadata:
    ENCODER         : Lavf58.51.101
  Duration: 00:00:31.00, start: 0.000000, bitrate: 449 kb/s
    Stream #1:0: Video: vp8, yuva420p(tv, progressive), 500x300, SAR 1:1 DAR 5:3, 60 fps, 60 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      alpha_mode      : 1
      ENCODER         : Lavc58.101.101 libvpx
      DURATION        : 00:00:31.000000000
[libvpx @ 0000021072020dc0] v1.9.0-128-g3a38edea2
  Stream #0:0 (h264) -> overlay:main (graph 0)
  Stream #1:0 (libvpx) -> overlay:overlay (graph 0)
  overlay (graph 0) -> Stream #0:0 (libx264)
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libvpx @ 0000021072020dc0] v1.9.0-128-g3a38edea2
[libx264 @ 0000021072022980] using SAR=1/1
[libx264 @ 0000021072022980] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000021072022980] profile High, level 4.2, 4:2:0, 8-bit
[libx264 @ 0000021072022980] 264 - core 161 r3027 4121277 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - 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=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, mp4, to 'broken_complete.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.45.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 60 fps, 15360 tbn, 60 tbc (default)
    Metadata:
      encoder         : Lavc58.91.100 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) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc58.91.100 aac
frame= 2701 fps= 47 q=-1.0 Lsize=   23020kB time=00:00:45.01 bitrate=4189.5kbits/s dup=60 drop=0 speed=0.789x
video:22242kB audio:708kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.309473%
[libx264 @ 0000021072022980] frame I:11    Avg QP:18.82  size:210832
[libx264 @ 0000021072022980] frame P:742   Avg QP:23.14  size: 18106
[libx264 @ 0000021072022980] frame B:1948  Avg QP:31.16  size:  3604
[libx264 @ 0000021072022980] consecutive B-frames:  1.7%  4.2%  6.2% 87.8%
[libx264 @ 0000021072022980] mb I  I16..4: 10.0% 46.2% 43.7%
[libx264 @ 0000021072022980] mb P  I16..4:  1.6%  4.5%  1.5%  P16..4: 16.5%  4.2%  2.4%  0.0%  0.0%    skip:69.3%
[libx264 @ 0000021072022980] mb B  I16..4:  0.1%  0.3%  0.1%  B16..8: 11.3%  1.4%  0.4%  direct: 0.4%  skip:86.0%  L0:36.5% L1:59.3% BI: 4.3%
[libx264 @ 0000021072022980] 8x8 transform intra:57.4% inter:64.8%
[libx264 @ 0000021072022980] coded y,uvDC,uvAC intra: 55.4% 42.1% 14.8% inter: 3.3% 2.1% 0.3%
[libx264 @ 0000021072022980] i16 v,h,dc,p: 21% 37% 15% 27%
[libx264 @ 0000021072022980] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 18% 24%  6%  7%  6%  7%  6%  7%
[libx264 @ 0000021072022980] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 22% 16%  7%  7%  7%  7%  6%  6%
[libx264 @ 0000021072022980] i8c dc,h,v,p: 58% 22% 15%  5%
[libx264 @ 0000021072022980] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0000021072022980] ref P L0: 68.9% 16.6% 10.8%  3.6%
[libx264 @ 0000021072022980] ref B L0: 91.6%  7.2%  1.2%
[libx264 @ 0000021072022980] ref B L1: 95.9%  4.1%
[libx264 @ 0000021072022980] kb/s:4047.35
[aac @ 0000021072024840] Qavg: 189.405 


    


  • ffmpeg stream segmenting loses some frames after initialization

    17 février 2020, par zerociudo

    I use this ffmep command to get stream from usb camera and segment videos of 1 seconds

    ffmpeg -i /dev/video0 -pix_fmt yuv420p -vcodec libx264 \
                     -r 15 -x264opts keyint=15:min-keyint=15 -crf 19 \
                     -vf drawtext='expansion=strftime:fontfile='/usr/share/fonts/cantarell/Cantarell-Light.otf':fontsize=28:fontcolor=white:shadowcolor=black:shadowx=2:shadowy=1:text='%Y-%m-%d\ %H\\\\:%m\\\\:%S':x=200:y=200'" \
                     -f segment -reset_timestamps 1 -segment_time 1 -segment_format mp4 \
                     -strftime 1 -map 0 output/%Y-%m-%d-%H:%M:%S.mp4 \

    The output that I get is

    Parsed_drawtext_0 @ 0x5633950a66c0] Using "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
    [Parsed_drawtext_0 @ 0x5633950a66c0] expansion=strftime is deprecated.
    [libx264 @ 0x5633950a1680] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x5633950a1680] profile High, level 3.1
    [libx264 @ 0x5633950a1680] 264 - core 155 r2917 0a84d98 - 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=18 lookahead_threads=3 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=10 keyint_min=6 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=19.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [segment @ 0x56339509fac0] Opening 'output/2020-02-17-13:39:14.mp4' for writing
    Output #0, segment, to 'output/%Y-%m-%d-%H:%M:%S.mp4':
     Metadata:
       encoder         : Lavf58.20.100
       Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720, q=-1--1, 10 fps, 10240 tbn, 10 tbc
       Metadata:
         encoder         : Lavc58.35.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    [segment @ 0x56339509fac0] Opening 'output/2020-02-17-13:39:18.mp4' for writing
    [segment @ 0x56339509fac0] Opening 'output/2020-02-17-13:39:19.mp4' for writing
    [segment @ 0x56339509fac0] Opening 'output/2020-02-17-13:39:20.mp4' for writing

    You can clearly see that first video is output/2020-02-17-13:39:14.mp4, then something happens and the next video is output/2020-02-17-13:39:18.mp4. After this I lose 3 seconds and my whole videos are delayed by 3 seconds.

    Is my command incorrect or is there something else could cause it ?