[FFmpeg-user] Creating video with xfade takes 27 GB of memory
Cecil Westerhof
Cecil at decebal.nl
Sun May 28 15:47:00 EEST 2023
Paul B Mahol <onemda at gmail.com> writes:
> On Sun, May 28, 2023 at 12:22 PM Cecil Westerhof via ffmpeg-user <
> ffmpeg-user at ffmpeg.org> wrote:
>
>> Reindl Harald <h.reindl at thelounge.net> writes:
>>
>> > Am 25.05.23 um 08:16 schrieb Cecil Westerhof via ffmpeg-user:
>> >> Paul B Mahol <onemda at gmail.com> writes:
>> >>
>> >>> Use master FFmpeg version, where memory requirements for this filter
>> >>> have been drastically reduced.
>> >> I installed the version from here:
>> >> https://johnvansickle.com/ffmpeg/
>> >
>> > git master: built on 20230313
>> > we have 20230525
>> >
>> >> Or should I be trying (I am on Debian):
>> >> https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
>> >
>> > that's the point of "use master"
>>
>> That makes it even worse. Then I get:
>> [vost#0:0/libx264 @ 0x565136728c00] Too many packets buffered for
>> output stream 0:0.
>> [vost#0:0/libx264 @ 0x565136728c00] Error submitting a packet to the
>> muxer
>> [vost#0:0/libx264 @ 0x565136728c00] Too many packets buffered for
>> output stream 0:0.
>> [vost#0:0/libx264 @ 0x565136728c00] Error submitting a packet to the
>> muxer
>>
>> and it seems to go on forever.
>>
>> I also found it a bit strange, because I do it with a lot of different
>> videos and only one went wrong.
>>
>> It seems I have found a bug in ffmpeg.
>> For the first input-file I used:
>> -ss 48 -t 4
>>
>> But when looking in the log I see:
>> Input #0, matroska,webm, from 'langeLijn1c.mkv':
>> Metadata:
>> ENCODER : Lavf60.3.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
>> Metadata:
>> DURATION : 00:00:52.047000000
>> Stream #0:1: Audio: mp3, 48000 Hz, stereo, fltp, 117 kb/s
>> Metadata:
>> DURATION : 00:00:51.768000000
>>
>> So the video is long enough, but the audio is to short.
>> Personally I would say that instead of going berserk when the input is
>> to short an error should be generated.
>> When changing the timing to:
>> -ss 47 -t 4
>>
>> Everything went fine.
>>
>
> Ah, audio gets out of sync of video because acrossfade buffers audio for
> exact duration as specified and if that does not match anymore with video
> it will break,
> better error out like above than consuming that much memory.
About ¾ year ago I had a similar problem when I wanted to use several
xfades. Maybe I had the same problem there also.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
More information about the ffmpeg-user
mailing list