Answers.Body: <p>It seems that overlays are not suitable for this.</p>
  
  <p>I have replaced <code>overlay</code> with <code>xstack</code>, and so far, the tiling with 5x5 tiles continues to run.</p>
  
  <pre><code>ffmpeg \
  &gt;      -i 'input1.mp4' \
  ... 24 other inputs ...
  &gt;     -filter_complex "
  &gt;           [0:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_1]; 
  &gt;           [1:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_2]; 
  ...
  &gt;           [24:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_5_5]; 
  &gt;     [TILE_1_1][TILE_1_2][TILE_1_3][TILE_1_4][TILE_1_5][TILE_2_1][TILE_2_2][TILE_2_3][TILE_2_4][TILE_2_5][TILE_3_1][TILE_3_2][TILE_3_3][TILE_3_4][TILE_3_5][TILE_4_1][TILE_4_2][TILE_4_3][TILE_4_4][TILE_4_5][TILE_5_1][TILE_5_2][TILE_5_3][TILE_5_4][TILE_5_5]xstack=inputs=25:layout=0_0|480_0|960_0|1440_0|1920_0|0_270|480_270|960_270|1440_270|1920_270|0_540|480_540|960_540|1440_540|1920_540|0_810|480_810|960_810|1440_810|1920_810|0_1080|480_1080|960_1080|1440_1080|1920_1080"  
  &gt; -c:v libx264 ./tiled.mp4
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-03-24T17:59:25.307Z
Answers.LastActivityDate: 2019-03-24T17:59:25.307Z
Answers.UserDisplayName: Ondra Žižka
Body: <p>I am trying to creeate a tiled video using FFmpeg - a result of putting several videos together, tiled, using <code>-filter_complex</code> with overlays.</p>
  
  <p>Following the how-to <a href="https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos" rel="nofollow noreferrer">here</a>, I have created a script that can tile any number of videos.</p>
  
  <p>The issue is, FFmpeg is being killed during the process. It seems that as few as 4 videos can eat all system resources and I think the Linux core kills FFmpeg.</p>
  
  <pre><code>Killed 8235 fps= 20 q=28.0 size=  107008kB time=00:59:22.17 bitrate= 246.1kbits/s speed=8.86x
  </code></pre>
  
  <p>The file sizes range but they are nothing too large - typically, FullHD. The files are on an EncFS virtual drive. I have 16 GB ram + 16 GB swap, and the fast SSD (Samsung EVO 850).</p>
  
  <p>How can I prevent this? Is there some way to make FFmpeg use some on-disk buffer? Or perhaps some other approach other than <code>-filter-compled</code>?</p>
  
  <p>I was thinking about joining 2 videos at a time and making it bottom-up, but that would be really very slow and tedious, even if scripted.</p>
  
  <pre><code>ffmpeg \
  &gt;      -i '1.mp4' \
  &gt;      -i '2.mp4' \
  &gt;      -i '3.mp4' \
  &gt;      -i '4.mp4' \
  &gt;      -i '5.mp4' \
  &gt;      -i '6.mkv' \
  &gt;     -filter_complex "nullsrc=size=1440x540 [lay0];
  &gt;           [0:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_1]; 
  &gt;           [1:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_2]; 
  &gt;           [2:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_3]; 
  &gt;           [3:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_2_1]; 
  &gt;           [4:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_2_2]; 
  &gt;           [5:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_2_3]; 
  &gt;           [lay0][TILE_1_1] overlay=shortest=1:x=0:y=0 [lay1]; 
  &gt;           [lay1][TILE_1_2] overlay=shortest=1:x=480:y=0 [lay2]; 
  &gt;           [lay2][TILE_1_3] overlay=shortest=1:x=960:y=0 [lay3]; 
  &gt;           [lay3][TILE_2_1] overlay=shortest=1:x=0:y=270 [lay4]; 
  &gt;           [lay4][TILE_2_2] overlay=shortest=1:x=480:y=270 [lay5]; 
  &gt;           [lay5][TILE_2_3] overlay=shortest=1:x=960:y=270     "      -c:v libx264 ./tiled.mp4
  ffmpeg version 4.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
    configuration: --enable-gpl --enable-version3 --enable-static --disable-debug 
     --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 
     --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi 
     --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg 
     --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc 
     --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
    libavutil      56. 22.100 / 56. 22.100
    libavcodec     58. 35.100 / 58. 35.100
    libavformat    58. 20.100 / 58. 20.100
    libavdevice    58.  5.100 / 58.  5.100
    libavfilter     7. 40.101 /  7. 40.101
    libswscale      5.  3.100 /  5.  3.100
    libswresample   3.  3.100 /  3.  3.100
    libpostproc    55.  3.100 / 55.  3.100
  [h264 @ 0x6722b80] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x6722b80] decode_slice_header error
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: mp41avc1qt  
      creation_time   : 2015-05-03T12:48:13.000000Z
      encoder         : vlc 2.1.6 stream output
      encoder-eng     : vlc 2.1.6 stream output
    Duration: 01:29:40.93, start: 0.000000, bitrate: 583 kb/s
      Stream #0:0(eng): Audio: mp2 (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
      Metadata:
        creation_time   : 2015-05-03T12:48:13.000000Z
        handler_name    : SoundHandler
      Stream #0:1(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 2230 kb/s, 15 fps, 15 tbr, 1000k tbn, 30 tbc (default)
      Metadata:
        creation_time   : 2015-05-03T12:48:13.000000Z
        handler_name    : VideoHandler
  Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '2.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: isom3gp4
      creation_time   : 2014-05-16T10:47:46.000000Z
    Duration: 00:33:58.60, start: 0.000000, bitrate: 18114 kb/s
      Stream #1:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 17919 kb/s, SAR 1:1 DAR 16:9, 19.85 fps, 24.83 tbr, 90k tbn, 180k tbc (default)
      Metadata:
        rotate          : 90
        creation_time   : 2014-05-16T10:47:46.000000Z
        handler_name    : VideoHandle
        encoder         :                                
      Side data:
        displaymatrix: rotation of -90.00 degrees
      Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 190 kb/s (default)
      Metadata:
        creation_time   : 2014-05-16T10:47:46.000000Z
        handler_name    : SoundHandle
  Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '3.mp4':
    Metadata:
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: isommp42
      creation_time   : 2018-08-31T09:08:36.000000Z
    Duration: 00:09:44.19, start: 0.000000, bitrate: 7147 kb/s
      Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 7017 kb/s, 29.81 fps, 29.81 tbr, 29809 tbn, 59.62 tbc (default)
      Metadata:
        handler_name    : VideoHandler
      Stream #2:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        creation_time   : 2018-08-31T12:37:17.000000Z
        handler_name    : IsoMedia File Produced by Google, 5-11-2011
  [h264 @ 0x6749140] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x6749140] decode_slice_header error
  Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '4.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: mp41avc1qt  
      creation_time   : 2015-10-08T10:04:06.000000Z
      encoder         : vlc 2.1.6 stream output
      encoder-eng     : vlc 2.1.6 stream output
    Duration: 00:58:58.61, start: 0.000000, bitrate: 1099 kb/s
      Stream #3:0(eng): Audio: mp2 (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
      Metadata:
        creation_time   : 2015-10-08T10:04:06.000000Z
        handler_name    : SoundHandler
      Stream #3:1(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 966 kb/s, 15.07 fps, 15 tbr, 1000k tbn, 30 tbc (default)
      Metadata:
        creation_time   : 2015-10-08T10:04:06.000000Z
        handler_name    : VideoHandler
  Input #4, mov,mp4,m4a,3gp,3g2,mj2, from '5.mp4':
    Metadata:
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: isommp42
      creation_time   : 2016-09-23T09:25:07.000000Z
      com.android.version: 6.0.1
    Duration: 00:18:43.67, start: 0.000000, bitrate: 17643 kb/s
      Stream #4:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 17500 kb/s, SAR 1:1 DAR 16:9, 29.98 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
      Metadata:
        creation_time   : 2016-09-23T09:25:07.000000Z
        handler_name    : VideoHandle
      Stream #4:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 155 kb/s (default)
      Metadata:
        creation_time   : 2016-09-23T09:25:07.000000Z
        handler_name    : SoundHandle
  Input #5, matroska,webm, from '6.mkv':
    Metadata:
      encoder         : android
    Duration: 00:05:29.41, start: 0.000000, bitrate: 22503 kb/s
      Stream #5:0: Audio: flac, 96000 Hz, stereo, s32 (24 bit) (default)
      Stream #5:1: Video: h264 (Baseline), yuvj420p(pc, smpte170m, progressive), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 2k tbc (default)
  File './tiled.mp4' already exists. Overwrite ? [y/N] y
  Stream mapping:
    Stream #0:1 (h264) -&gt; setpts (graph 0)
    Stream #1:0 (h264) -&gt; setpts (graph 0)
    Stream #2:0 (h264) -&gt; setpts (graph 0)
    Stream #3:1 (h264) -&gt; setpts (graph 0)
    Stream #4:0 (h264) -&gt; setpts (graph 0)
    Stream #5:1 (h264) -&gt; setpts (graph 0)
    overlay (graph 0) -&gt; Stream #0:0 (libx264)
    Stream #0:0 -&gt; #0:1 (mp2 (native) -&gt; aac (native))
  Press [q] to stop, [?] for help
  [h264 @ 0x85cd140] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x85cd140] decode_slice_header error
  [h264 @ 0x72c9100] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x72c9100] decode_slice_header error
  [swscaler @ 0xa2858c0] deprecated pixel format used, make sure you did set range correctly
  [libx264 @ 0x85b9d40] using SAR=1/1
  [libx264 @ 0x85b9d40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
  [libx264 @ 0x85b9d40] profile High, level 3.1, 4:2:0, 8-bit
  [libx264 @ 0x85b9d40] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=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 './tiled.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: mp41avc1qt  
      encoder         : Lavf58.20.100
      Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1440x540 [SAR 1:1 DAR 8:3], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
      Metadata:
        encoder         : Lavc58.35.100 libx264
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
      Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        creation_time   : 2015-05-03T12:48:13.000000Z
        handler_name    : SoundHandler
        encoder         : Lavc58.35.100 aac
  Killed 8235 fps= 20 q=28.0 size=  107008kB time=00:59:22.17 bitrate= 246.1kbits/s speed=8.86x
  </code></pre>
  
Tags: <ffmpeg>
Title: FFmpeg being killed when creating tiled overlayed video
UserDisplayName: Ondra Žižka
ThreadText: # FFmpeg being killed when creating tiled overlayed video
  
  (Asked by: username_0 on 2019-03-24)
  
  I am trying to creeate a tiled video using FFmpeg - a result of putting several videos together, tiled, using `-filter_complex` with overlays.
  
  Following the how-to [here](https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos), I have created a script that can tile any number of videos.
  
  The issue is, FFmpeg is being killed during the process. It seems that as few as 4 videos can eat all system resources and I think the Linux core kills FFmpeg.
  
  ```
  Killed 8235 fps= 20 q=28.0 size=  107008kB time=00:59:22.17 bitrate= 246.1kbits/s speed=8.86x
  
  ```
  
  The file sizes range but they are nothing too large - typically, FullHD. The files are on an EncFS virtual drive. I have 16 GB ram + 16 GB swap, and the fast SSD (Samsung EVO 850).
  
  How can I prevent this? Is there some way to make FFmpeg use some on-disk buffer? Or perhaps some other approach other than `-filter-compled`?
  
  I was thinking about joining 2 videos at a time and making it bottom-up, but that would be really very slow and tedious, even if scripted.
  
  ```
  ffmpeg \
  >      -i '1.mp4' \
  >      -i '2.mp4' \
  >      -i '3.mp4' \
  >      -i '4.mp4' \
  >      -i '5.mp4' \
  >      -i '6.mkv' \
  >     -filter_complex "nullsrc=size=1440x540 [lay0];
  >           [0:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_1]; 
  >           [1:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_2]; 
  >           [2:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_3]; 
  >           [3:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_2_1]; 
  >           [4:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_2_2]; 
  >           [5:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_2_3]; 
  >           [lay0][TILE_1_1] overlay=shortest=1:x=0:y=0 [lay1]; 
  >           [lay1][TILE_1_2] overlay=shortest=1:x=480:y=0 [lay2]; 
  >           [lay2][TILE_1_3] overlay=shortest=1:x=960:y=0 [lay3]; 
  >           [lay3][TILE_2_1] overlay=shortest=1:x=0:y=270 [lay4]; 
  >           [lay4][TILE_2_2] overlay=shortest=1:x=480:y=270 [lay5]; 
  >           [lay5][TILE_2_3] overlay=shortest=1:x=960:y=270     "      -c:v libx264 ./tiled.mp4
  ffmpeg version 4.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
    configuration: --enable-gpl --enable-version3 --enable-static --disable-debug 
     --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 
     --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi 
     --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg 
     --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc 
     --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
    libavutil      56. 22.100 / 56. 22.100
    libavcodec     58. 35.100 / 58. 35.100
    libavformat    58. 20.100 / 58. 20.100
    libavdevice    58.  5.100 / 58.  5.100
    libavfilter     7. 40.101 /  7. 40.101
    libswscale      5.  3.100 /  5.  3.100
    libswresample   3.  3.100 /  3.  3.100
    libpostproc    55.  3.100 / 55.  3.100
  [h264 @ 0x6722b80] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x6722b80] decode_slice_header error
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: mp41avc1qt  
      creation_time   : 2015-05-03T12:48:13.000000Z
      encoder         : vlc 2.1.6 stream output
      encoder-eng     : vlc 2.1.6 stream output
    Duration: 01:29:40.93, start: 0.000000, bitrate: 583 kb/s
      Stream #0:0(eng): Audio: mp2 (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
      Metadata:
        creation_time   : 2015-05-03T12:48:13.000000Z
        handler_name    : SoundHandler
      Stream #0:1(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 2230 kb/s, 15 fps, 15 tbr, 1000k tbn, 30 tbc (default)
      Metadata:
        creation_time   : 2015-05-03T12:48:13.000000Z
        handler_name    : VideoHandler
  Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '2.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: isom3gp4
      creation_time   : 2014-05-16T10:47:46.000000Z
    Duration: 00:33:58.60, start: 0.000000, bitrate: 18114 kb/s
      Stream #1:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080, 17919 kb/s, SAR 1:1 DAR 16:9, 19.85 fps, 24.83 tbr, 90k tbn, 180k tbc (default)
      Metadata:
        rotate          : 90
        creation_time   : 2014-05-16T10:47:46.000000Z
        handler_name    : VideoHandle
        encoder         :                                
      Side data:
        displaymatrix: rotation of -90.00 degrees
      Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 190 kb/s (default)
      Metadata:
        creation_time   : 2014-05-16T10:47:46.000000Z
        handler_name    : SoundHandle
  Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '3.mp4':
    Metadata:
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: isommp42
      creation_time   : 2018-08-31T09:08:36.000000Z
    Duration: 00:09:44.19, start: 0.000000, bitrate: 7147 kb/s
      Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 7017 kb/s, 29.81 fps, 29.81 tbr, 29809 tbn, 59.62 tbc (default)
      Metadata:
        handler_name    : VideoHandler
      Stream #2:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        creation_time   : 2018-08-31T12:37:17.000000Z
        handler_name    : IsoMedia File Produced by Google, 5-11-2011
  [h264 @ 0x6749140] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x6749140] decode_slice_header error
  Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '4.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: mp41avc1qt  
      creation_time   : 2015-10-08T10:04:06.000000Z
      encoder         : vlc 2.1.6 stream output
      encoder-eng     : vlc 2.1.6 stream output
    Duration: 00:58:58.61, start: 0.000000, bitrate: 1099 kb/s
      Stream #3:0(eng): Audio: mp2 (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
      Metadata:
        creation_time   : 2015-10-08T10:04:06.000000Z
        handler_name    : SoundHandler
      Stream #3:1(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 966 kb/s, 15.07 fps, 15 tbr, 1000k tbn, 30 tbc (default)
      Metadata:
        creation_time   : 2015-10-08T10:04:06.000000Z
        handler_name    : VideoHandler
  Input #4, mov,mp4,m4a,3gp,3g2,mj2, from '5.mp4':
    Metadata:
      major_brand     : mp42
      minor_version   : 0
      compatible_brands: isommp42
      creation_time   : 2016-09-23T09:25:07.000000Z
      com.android.version: 6.0.1
    Duration: 00:18:43.67, start: 0.000000, bitrate: 17643 kb/s
      Stream #4:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 17500 kb/s, SAR 1:1 DAR 16:9, 29.98 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
      Metadata:
        creation_time   : 2016-09-23T09:25:07.000000Z
        handler_name    : VideoHandle
      Stream #4:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 155 kb/s (default)
      Metadata:
        creation_time   : 2016-09-23T09:25:07.000000Z
        handler_name    : SoundHandle
  Input #5, matroska,webm, from '6.mkv':
    Metadata:
      encoder         : android
    Duration: 00:05:29.41, start: 0.000000, bitrate: 22503 kb/s
      Stream #5:0: Audio: flac, 96000 Hz, stereo, s32 (24 bit) (default)
      Stream #5:1: Video: h264 (Baseline), yuvj420p(pc, smpte170m, progressive), 1920x1080, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 2k tbc (default)
  File './tiled.mp4' already exists. Overwrite ? [y/N] y
  Stream mapping:
    Stream #0:1 (h264) -> setpts (graph 0)
    Stream #1:0 (h264) -> setpts (graph 0)
    Stream #2:0 (h264) -> setpts (graph 0)
    Stream #3:1 (h264) -> setpts (graph 0)
    Stream #4:0 (h264) -> setpts (graph 0)
    Stream #5:1 (h264) -> setpts (graph 0)
    overlay (graph 0) -> Stream #0:0 (libx264)
    Stream #0:0 -> #0:1 (mp2 (native) -> aac (native))
  Press [q] to stop, [?] for help
  [h264 @ 0x85cd140] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x85cd140] decode_slice_header error
  [h264 @ 0x72c9100] A non-intra slice in an IDR NAL unit.
  [h264 @ 0x72c9100] decode_slice_header error
  [swscaler @ 0xa2858c0] deprecated pixel format used, make sure you did set range correctly
  [libx264 @ 0x85b9d40] using SAR=1/1
  [libx264 @ 0x85b9d40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
  [libx264 @ 0x85b9d40] profile High, level 3.1, 4:2:0, 8-bit
  [libx264 @ 0x85b9d40] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=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 './tiled.mp4':
    Metadata:
      major_brand     : isom
      minor_version   : 0
      compatible_brands: mp41avc1qt  
      encoder         : Lavf58.20.100
      Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1440x540 [SAR 1:1 DAR 8:3], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
      Metadata:
        encoder         : Lavc58.35.100 libx264
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
      Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
      Metadata:
        creation_time   : 2015-05-03T12:48:13.000000Z
        handler_name    : SoundHandler
        encoder         : Lavc58.35.100 aac
  Killed 8235 fps= 20 q=28.0 size=  107008kB time=00:59:22.17 bitrate= 246.1kbits/s speed=8.86x
  
  ```
  
  **Tags:** ffmpeg
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_0 on 2019-03-24. Score: 0 | Accepted answer
  
  It seems that overlays are not suitable for this.
  
  I have replaced `overlay` with `xstack`, and so far, the tiling with 5x5 tiles continues to run.
  
  ```
  ffmpeg \
  >      -i 'input1.mp4' \
  ... 24 other inputs ...
  >     -filter_complex "
  >           [0:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_1]; 
  >           [1:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_1_2]; 
  ...
  >           [24:v] setpts=PTS-STARTPTS, scale=480x270 [TILE_5_5]; 
  >     [TILE_1_1][TILE_1_2][TILE_1_3][TILE_1_4][TILE_1_5][TILE_2_1][TILE_2_2][TILE_2_3][TILE_2_4][TILE_2_5][TILE_3_1][TILE_3_2][TILE_3_3][TILE_3_4][TILE_3_5][TILE_4_1][TILE_4_2][TILE_4_3][TILE_4_4][TILE_4_5][TILE_5_1][TILE_5_2][TILE_5_3][TILE_5_4][TILE_5_5]xstack=inputs=25:layout=0_0|480_0|960_0|1440_0|1920_0|0_270|480_270|960_270|1440_270|1920_270|0_540|480_540|960_540|1440_540|1920_540|0_810|480_810|960_810|1440_810|1920_810|0_1080|480_1080|960_1080|1440_1080|1920_1080"  
  > -c:v libx264 ./tiled.mp4
  
  ```
  
  
  ---
  
  