Recherche avancée

Médias (91)

Autres articles (88)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • MediaSPIP Player : les contrôles

    26 mai 2010, par

    Les contrôles à la souris du lecteur
    En plus des actions au click sur les boutons visibles de l’interface du lecteur, il est également possible d’effectuer d’autres actions grâce à la souris : Click : en cliquant sur la vidéo ou sur le logo du son, celui ci se mettra en lecture ou en pause en fonction de son état actuel ; Molette (roulement) : en plaçant la souris sur l’espace utilisé par le média (hover), la molette de la souris n’exerce plus l’effet habituel de scroll de la page, mais diminue ou (...)

Sur d’autres sites (7521)

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


    


  • Decrypting fragmented mpeg-dash using ffmpeg

    6 octobre 2022, par Sayem Prodhan Ananta

    I have an mpeg-dash which I want to decrypt. I have the CENC decryption key. But I am unable to get it working. The dash uses segment template. Here is the dash

    


    &lt;?xml version="1.0" ?>&#xA;<mpd mediapresentationduration="PT1H55M53.987S" minbuffertime="PT6.00S" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" xmlns="urn:mpeg:dash:schema:mpd:2011">&#xA;  &#xA;  <period>&#xA;    &#xA;    <adaptationset maxheight="720" maxwidth="1280" mimetype="video/mp4" segmentalignment="true" startwithsap="1">&#xA;      <accessibility schemeiduri="urn:scte:dash:cc:cea-608:2015" value="eng"></accessibility>&#xA;      <viewpoint schemeiduri="urn:mpeg:dash:role:2011" value="vp2"></viewpoint>&#xA;      &#xA;      <contentprotection schemeiduri="urn:mpeg:dash:mp4protection:2011" value="cenc"></contentprotection>&#xA;      &#xA;      <contentprotection schemeiduri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95">&#xA;        pAIAAAEAAQCaAjwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA&#x2B;ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA&#x2B;ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AOABoAFcAMwBQAEsAeABPAEkAYwB1AGsAVwBWAHgASwBaAHgAMgA3AEMAZwA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBBAGQARgAvAFEAcwBzAHEATQBhAEEAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA&#x2B;AGgAdAB0AHAAOgAvAC8AcAByAC4AcwBlAHIAdgBpAGMAZQAuAGUAeABwAHIAZQBzAHMAcABsAGEAeQAuAGMAbwBtAC8AcABsAGEAeQByAGUAYQBkAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA&#x2B;ADwALwBXAFIATQBIAEUAQQBEAEUAUgA&#x2B;AA==&#xA;      </contentprotection>&#xA;      &#xA;      <contentprotection schemeiduri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">&#xA;        AAAAQ3Bzc2gAAAAA7e&#x2B;LqXnWSs6jyCfc1R0h7QAAACMIARIQPLcV8k6syyGkWVxKZx27ChoKaW50ZXJ0cnVzdCIBKg==&#xA;      </contentprotection>&#xA;      <segmenttemplate duration="6000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4s" startnumber="1" timescale="1000"></segmenttemplate>&#xA;      <representation bandwidth="634478" codecs="avc1.4D401F" framerate="2997/100" height="288" scantype="progressive" width="512"></representation>&#xA;      <representation bandwidth="789637" codecs="avc1.4D401F" framerate="2997/100" height="360" scantype="progressive" width="640"></representation>&#xA;      <representation bandwidth="1562569" codecs="avc1.4D401F" framerate="2997/100" height="432" scantype="progressive" width="768"></representation>&#xA;      <representation bandwidth="2124583" codecs="avc1.4D401F" framerate="2997/100" height="720" scantype="progressive" width="1280"></representation>&#xA;    </adaptationset>&#xA;    &#xA;    <adaptationset lang="en" mimetype="audio/mp4" segmentalignment="true" startwithsap="1">&#xA;      &#xA;      <contentprotection schemeiduri="urn:mpeg:dash:mp4protection:2011" value="cenc"></contentprotection>&#xA;      &#xA;      <contentprotection schemeiduri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95">&#xA;        pAIAAAEAAQCaAjwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA&#x2B;ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA&#x2B;ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsASQBEAD4AOABoAFcAMwBQAEsAeABPAEkAYwB1AGsAVwBWAHgASwBaAHgAMgA3AEMAZwA9AD0APAAvAEsASQBEAD4APABDAEgARQBDAEsAUwBVAE0APgBBAGQARgAvAFEAcwBzAHEATQBhAEEAPQA8AC8AQwBIAEUAQwBLAFMAVQBNAD4APABMAEEAXwBVAFIATAA&#x2B;AGgAdAB0AHAAOgAvAC8AcAByAC4AcwBlAHIAdgBpAGMAZQAuAGUAeABwAHIAZQBzAHMAcABsAGEAeQAuAGMAbwBtAC8AcABsAGEAeQByAGUAYQBkAHkALwBSAGkAZwBoAHQAcwBNAGEAbgBhAGcAZQByAC4AYQBzAG0AeAA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA&#x2B;ADwALwBXAFIATQBIAEUAQQBEAEUAUgA&#x2B;AA==&#xA;      </contentprotection>&#xA;      &#xA;      <contentprotection schemeiduri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">&#xA;        AAAAQ3Bzc2gAAAAA7e&#x2B;LqXnWSs6jyCfc1R0h7QAAACMIARIQPLcV8k6syyGkWVxKZx27ChoKaW50ZXJ0cnVzdCIBKg==&#xA;      </contentprotection>&#xA;      <segmenttemplate duration="6000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/seg-$Number$.m4s" startnumber="1" timescale="1000"></segmenttemplate>&#xA;      <representation audiosamplingrate="48000" bandwidth="136225" codecs="mp4a.40.2">&#xA;        <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>&#xA;      </representation>&#xA;    </adaptationset>&#xA;  </period>&#xA;</mpd>&#xA;

    &#xA;

    I have produced an mp4 file by combining all the segments like this

    &#xA;

    init.mp4&#x2B;seg-1.m4s&#x2B;seg-2.m4s&#x2B;....&#x2B;seg-1159.m4s&#xA;

    &#xA;

    But I end up with following error

    &#xA;

    ffmpeg version N-99631-g9018257751-anan5a-2020-10-19 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 8 (Debian 8.3.0-6)&#xA;  configuration: --extra-version=anan5a-2020-10-19 --enable-gpl --enable-version3 --disable-shared --enable-static --enable-small --enable-avisynth --enable-chromaprint --enable-frei0r --enable-gmp --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-librtmp --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-openal --enable-opencl --enable-opengl --enable-libdrm --enable-nonfree --enable-libfdk-aac --enable-libbluray --enable-libzimg --enable-libsvtav1&#xA;  libavutil      56. 60.100 / 56. 60.100&#xA;  libavcodec     58.111.101 / 58.111.101&#xA;  libavformat    58. 62.100 / 58. 62.100&#xA;  libavdevice    58. 11.102 / 58. 11.102&#xA;  libavfilter     7. 87.100 /  7. 87.100&#xA;  libswscale      5.  8.100 /  5.  8.100&#xA;  libswresample   3.  8.100 /  3.  8.100&#xA;  libpostproc    55.  8.100 / 55.  8.100&#xA;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x557789b49300] Incorrect number of samples in encryption info&#xA;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x557789b49300] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 512x288, 616 kb/s): unspecified pixel format&#xA;Consider increasing the value for the &#x27;analyzeduration&#x27; (0) and &#x27;probesize&#x27; (5000000) options&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;../videos/enc.0a7bd4e9ec72b6e0-5549.mkv&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41iso5iso6&#xA;  Duration: 01:55:47.95, bitrate: 625 kb/s&#xA;    Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none, 512x288, 616 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 11988 tbr, 11988 tbn, 23976 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : Bento4 Video Handler&#xA;    Side data:&#xA;      unknown side data type 24 (779 bytes)&#xA;Output #0, matroska, to &#x27;../videos/dec.0a7bd4e9ec72b6e0-5549.mkv&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41iso5iso6&#xA;    encoder         : Lavf58.62.100&#xA;    Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none, 512x288 [SAR 1:1 DAR 16:9], q=2-31, 616 kb/s, 29.97 fps, 11988 tbr, 1k tbn, 11988 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : Bento4 Video Handler&#xA;    Side data:&#xA;      unknown side data type 24 (779 bytes)&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (copy)&#xA;Press [q] to stop, [?] for help&#xA;[mov,mp4,m4a,3gp,3g2,mj2 @ 0x557789b49300] Incorrect number of samples in encryption info&#xA;../videos/enc.0a7bd4e9ec72b6e0-5549.mkv: Invalid data found when processing input&#xA;frame=    0 fps=0.0 q=-1.0 Lsize=       1kB time=00:00:00.00 bitrate=N/A speed=   0x    &#xA;video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown&#xA;

    &#xA;

    How can I achieve the decryption without error ??

    &#xA;