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

CC BY-SA 4.0
2019-03-24T17:59:25.307Z
2019-03-24T17:59:25.307Z
Ondra Žižka
<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>

<ffmpeg>
FFmpeg being killed when creating tiled overlayed video
Ondra Žižka
# 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, 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


---

