[FFmpeg-user] Creating video with xfade takes 27 GB of memory
Cecil Westerhof
Cecil at decebal.nl
Thu May 25 01:03:47 EEST 2023
I generate several videos in a similar way. I have only a problem with
one.
The command for the one with a problem is:
time nice -n 10 ionice -c3 ffmpeg -y -ss 48 -t 4 -i langeLijn1c.mkv -ss 0 -to 176 -i langeLijn1d.mkv -pix_fmt yuv420p -vcodec libx264 -crf 26 -acodec libmp3lame -qscale:a 9 -preset veryfast -filter_complex '
[0:v][1:v]
xfade=transition=slideup:
duration=4:
offset=0
[v01];
[0:a][1:a]
acrossfade=d=4
[a01];
[v01]
drawtext= box = 1: boxborderw = 6: boxcolor = black at 0.2: fontcolor = white at 0.4: fontfile = FreeSerifBold.ttf: fontsize = 32: text = © 2023 Cecil Westerhof - Cecil at Decebal.nl
: x = ((main_w - text_w) / 2): y = main_h - (text_h * 2)
[v02]' -map '[v02]' -map '[a01]' langeLijn1Temp/d.ts
The output starts with:
ffmpeg version 4.3.5-0+deb11u1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 10 (Debian 10.2.1-6)
configuration: --prefix=/usr --extra-version=0+deb11u1 --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-libdav1d --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-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version=0+deb11u1 --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-libdav1d --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-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-liblensfun --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
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
Input #0, matroska,webm, from 'langeLijn1c.mkv':
Metadata:
ENCODER : Lavf58.45.100
Duration: 00:00:52.05, start: 0.000000, bitrate: 20470 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
DURATION : 00:00:52.047000000
Stream #0:1: Audio: mp3, 48000 Hz, stereo, fltp, 117 kb/s (default)
Metadata:
DURATION : 00:00:51.768000000
Input #1, matroska,webm, from 'langeLijn1d.mkv':
Metadata:
ENCODER : Lavf58.45.100
Duration: 00:03:00.93, start: 0.000000, bitrate: 22615 kb/s
Stream #1:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Metadata:
DURATION : 00:03:00.927000000
Stream #1:1: Audio: mp3, 48000 Hz, stereo, fltp, 122 kb/s (default)
Metadata:
DURATION : 00:03:00.624000000
[Parsed_drawtext_2 @ 0x5645c1240580] Using "/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf"
Stream mapping:
Stream #0:0 (h264) -> xfade:main
Stream #0:1 (mp3float) -> acrossfade:crossfade0
Stream #1:0 (h264) -> xfade:xfade
Stream #1:1 (mp3float) -> acrossfade:crossfade1
drawtext -> Stream #0:0 (libx264)
acrossfade -> Stream #0:1 (libmp3lame)
Press [q] to stop, [?] for help
[Parsed_drawtext_2 @ 0x5645c1a96240] Using "/usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf"
[libx264 @ 0x5645c1301100] using SAR=1/1
[libx264 @ 0x5645c1301100] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA3 BMI1
[libx264 @ 0x5645c1301100] profile High, level 4.0, 4:2:0, 8-bit
Output #0, mpegts, to 'langeLijn1Temp/d.ts':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 90k tbn, 25 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: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp (default)
Metadata:
encoder : Lavc58.91.100 libmp3lame
I first thought that the following could be a/the problem:
WARNING: library configuration mismatch
But I see this warning back in the logging of all the created videos,
so that should not be a problem.
On the other hand: why do I get this error and what can I do about it?
After this I get:
frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 1 fps=0.7 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 1 fps=0.5 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 1 fps=0.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 1 fps=0.3 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 16 fps=4.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 25 fps=5.9 q=31.0 size= 0kB time=00:00:00.08 bitrate= 0.0kbits/s speed=0.019x
frame= 33 fps=7.0 q=31.0 size= 0kB time=00:00:00.40 bitrate= 0.0kbits/s speed=0.0845x
frame= 41 fps=7.8 q=31.0 size= 0kB time=00:00:00.72 bitrate= 0.0kbits/s speed=0.137x
frame= 47 fps=8.2 q=31.0 size= 0kB time=00:00:00.96 bitrate= 0.0kbits/s speed=0.167x
frame= 54 fps=8.5 q=31.0 size= 0kB time=00:00:01.24 bitrate= 0.0kbits/s speed=0.196x
frame= 63 fps=9.2 q=31.0 size= 0kB time=00:00:01.60 bitrate= 0.0kbits/s speed=0.233x
frame= 71 fps=9.6 q=31.0 size= 0kB time=00:00:01.92 bitrate= 0.0kbits/s speed=0.258x
frame= 79 fps=9.8 q=31.0 size= 0kB time=00:00:02.24 bitrate= 0.0kbits/s speed=0.279x
frame= 87 fps= 10 q=31.0 size= 0kB time=00:00:02.56 bitrate= 0.0kbits/s speed=0.296x
frame= 95 fps= 10 q=31.0 size= 0kB time=00:00:02.88 bitrate= 0.0kbits/s speed=0.314x
frame= 100 fps= 10 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.318x
frame= 100 fps=9.8 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.302x
frame= 100 fps=9.3 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.288x
frame= 100 fps=8.9 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.275x
frame= 100 fps=8.5 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.263x
.
.
.
frame= 100 fps=0.2 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.00543x
frame= 100 fps=0.2 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.00542x
frame= 100 fps=0.2 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.00542x
frame= 100 fps=0.2 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.0054x
frame= 100 fps=0.2 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.00538x
frame= 100 fps=0.2 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.00501x
frame= 102 fps=0.1 q=31.0 size= 0kB time=00:00:03.16 bitrate= 0.0kbits/s speed=0.00454x
frame= 103 fps=0.1 q=31.0 size= 0kB time=00:00:03.20 bitrate= 0.0kbits/s speed=0.00458x
frame= 104 fps=0.1 q=31.0 size= 0kB time=00:00:03.24 bitrate= 0.0kbits/s speed=0.00458x
frame= 105 fps=0.1 q=31.0 size= 0kB time=00:00:03.28 bitrate= 0.0kbits/s speed=0.00457x
frame= 106 fps=0.1 q=31.0 size= 0kB time=00:00:03.32 bitrate= 0.0kbits/s speed=0.00456x
frame= 107 fps=0.1 q=31.0 size= 0kB time=00:00:03.36 bitrate= 0.0kbits/s speed=0.00457x
frame= 108 fps=0.1 q=31.0 size= 0kB time=00:00:03.40 bitrate= 0.0kbits/s speed=0.00459x
frame= 109 fps=0.1 q=31.0 size= 0kB time=00:00:03.44 bitrate= 0.0kbits/s speed=0.00463x
frame= 110 fps=0.1 q=31.0 size= 0kB time=00:00:03.48 bitrate= 0.0kbits/s speed=0.00464x
frame= 111 fps=0.1 q=31.0 size= 0kB time=00:00:03.52 bitrate= 0.0kbits/s speed=0.00465x
frame= 112 fps=0.1 q=31.0 size= 0kB time=00:00:03.56 bitrate= 0.0kbits/s speed=0.00465x
frame= 113 fps=0.1 q=28.0 size= 0kB time=00:00:03.60 bitrate= 0.0kbits/s speed=0.0047x
.
.
.
frame= 4373 fps=1.3 q=31.0 size= 395776kB time=00:02:54.80 bitrate=18548.0kbits/s dup=0 drop=1 speed=0.0538x
frame= 4375 fps=1.3 q=31.0 size= 395776kB time=00:02:54.88 bitrate=18539.6kbits/s dup=0 drop=1 speed=0.0539x
frame= 4376 fps=1.3 q=31.0 size= 396032kB time=00:02:54.92 bitrate=18547.3kbits/s dup=0 drop=1 speed=0.0539x
frame= 4378 fps=1.3 q=28.0 size= 396288kB time=00:02:55.00 bitrate=18550.8kbits/s dup=0 drop=1 speed=0.0539x
frame= 4379 fps=1.3 q=31.0 size= 396288kB time=00:02:55.04 bitrate=18546.6kbits/s dup=0 drop=1 speed=0.0539x
frame= 4380 fps=1.3 q=31.0 size= 396288kB time=00:02:55.08 bitrate=18542.3kbits/s dup=0 drop=1 speed=0.0538x
frame= 4381 fps=1.3 q=31.0 size= 396544kB time=00:02:55.12 bitrate=18550.1kbits/s dup=0 drop=1 speed=0.0537x
frame= 4381 fps=1.3 q=31.0 size= 396544kB time=00:02:55.12 bitrate=18550.1kbits/s dup=0 drop=1 speed=0.0537x
frame= 4381 fps=1.3 q=-1.0 Lsize= 426550kB time=00:02:55.92 bitrate=19863.0kbits/s dup=0 drop=1 speed=0.0539x
video:416366kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.446085%
[libx264 @ 0x5645c1301100] frame I:101 Avg QP:28.88 size:265654
[libx264 @ 0x5645c1301100] frame P:1360 Avg QP:31.23 size:146185
[libx264 @ 0x5645c1301100] frame B:2920 Avg QP:33.38 size: 68738
[libx264 @ 0x5645c1301100] consecutive B-frames: 6.3% 11.6% 8.1% 73.9%
[libx264 @ 0x5645c1301100] mb I I16..4: 1.7% 54.3% 44.0%
[libx264 @ 0x5645c1301100] mb P I16..4: 1.3% 27.1% 8.2% P16..4: 28.2% 17.6% 15.5% 0.0% 0.0% skip: 2.0%
[libx264 @ 0x5645c1301100] mb B I16..4: 0.4% 7.7% 1.1% B16..8: 24.7% 15.8% 4.4% direct:20.2% skip:25.8% L0:30.3% L1:29.9% BI:39.8%
[libx264 @ 0x5645c1301100] 8x8 transform intra:74.7% inter:53.5%
[libx264 @ 0x5645c1301100] coded y,uvDC,uvAC intra: 94.9% 47.5% 4.3% inter: 45.3% 6.0% 0.0%
[libx264 @ 0x5645c1301100] i16 v,h,dc,p: 14% 19% 49% 18%
[libx264 @ 0x5645c1301100] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 11% 23% 4% 6% 10% 5% 7% 9%
[libx264 @ 0x5645c1301100] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 34% 15% 5% 5% 7% 5% 6% 7%
[libx264 @ 0x5645c1301100] i8c dc,h,v,p: 56% 12% 24% 8%
[libx264 @ 0x5645c1301100] Weighted P-Frames: Y:17.9% UV:7.9%
[libx264 @ 0x5645c1301100] kb/s:19375.53
The needed memory is about 27.5 GB
But when I use:
time nice -n 10 ionice -c3 ffmpeg -y -ss 48 -t 4 -i langeLijn1c.mkv -ss 0 -to 16 -i langeLijn1d.mkv -pix_fmt yuv420p -vcodec libx264 -crf 26 -acodec libmp3lame -qscale:a 9 -preset veryfast -filter_complex '
[0:v][1:v]
xfade=transition=slideup:
duration=4:
offset=0
[v01];
[0:a][1:a]
acrossfade=d=4
[a01];
[v01]
drawtext= box = 1: boxborderw = 6: boxcolor = black at 0.2: fontcolor = white at 0.4: fontfile = FreeSerifBold.ttf: fontsize = 32: text = © 2023 Cecil Westerhof - Cecil at Decebal.nl
: x = ((main_w - text_w) / 2): y = main_h - (text_h * 2)
[v02]' -map '[v02]' -map '[a01]' langeLijn1OtherSlideTemp/d.ts
I see the following in the log-file:
frame= 97 fps= 15 q=31.0 size= 0kB time=00:00:02.96 bitrate= 0.0kbits/s speed=0.472x
frame= 100 fps= 15 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.455x
frame= 100 fps= 14 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.423x
frame= 100 fps= 13 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.396x
frame= 100 fps= 12 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.372x
frame= 100 fps= 11 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.35x
frame= 100 fps= 11 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.331x
frame= 100 fps= 10 q=31.0 size= 0kB time=00:00:03.08 bitrate= 0.0kbits/s speed=0.314x
frame= 109 fps= 10 q=31.0 size= 0kB time=00:00:03.44 bitrate= 0.0kbits/s speed=0.331x
frame= 121 fps= 11 q=31.0 size= 0kB time=00:00:03.92 bitrate= 0.0kbits/s speed=0.36x
frame= 131 fps= 11 q=31.0 size= 0kB time=00:00:04.32 bitrate= 0.0kbits/s speed=0.379x
And the needed memory is about 2 GB.
What could be happening here?
What extra information should I give?
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
More information about the ffmpeg-user
mailing list