#10273 closed defect (invalid)

ffmpeg amix puts audio input always at postion 0 first, and then at the right positions (ffmpeg Mac version)

Reported by: Ralph Owned by:
Priority: minor Component: undetermined
Version: Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Ralph)

Summary of the bug:

### ffmpeg messes up delayed inputs (repeats at the beginning)

ffmpeg plays audio inputs delayed to t1, t2 etc at t=0. If there are several inputs, then it replicates one after the other (after in0 finishes with its length duration(in0), plays another one at t=duration(in0), etc.)

In the following example, the in0 is played at t=0.

ffmpeg -i in0.mp3 -i in1.mp3 -i in2.mp3 -filter_complex "[0]adelay=1000[delayed1];[1]adelay=2000[delayed2];[2]adelay=3000[delayed3];[delayed1][delayed2][delayed3]amix=inputs=3:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3

The command performs the following: 1. The ffmpeg processes three input files (mp3). 2. The complex filter delays the inputs by 1, 2, 3 seconds input-wise. 3. amix mixes the delayed outputs together. 4. And finally, a coded transforms it into an output mp3.

Another short version: 2 delayed beeps, an finally there come 3 beeps out (@ 0, 1, 2 seconds):

ffmpeg -i beep.mp3 -filter_complex "[0]adelay=1000[delayed1];[0]adelay=2000[delayed2];[delayed1][delayed2]amix=inputs=2:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3

ffmpeg version N-110011-gf456c192d9-tessus on a Mac M1, downloaded as binary from https://evermeet.cx/ffmpeg (01.2023).

I added also a silent input file from 0 to 1 seconds without any alteration of the outcome. I added a silent stream as input as well without improvement. E.g.:

... -filter_complex "aevalsrc=0:d=4[silence];...

Another test with another ffmpeg version 5.1 Copyright (c) 2000-2022 the FFmpeg developers built with Apple clang version 13.1.6 (clang-1316.0.21.2.5): ffmpeg -i beep.mp3 -filter_complex "[0]adelay=1000[delayed1];aevalsrc=0:d=5[silence];[silence][delayed1]amix=inputs=2:duration=longest" -codec:a libmp3lame -q:a 4 output.mp3 There are again 2 beeps, at 0 and 1 second.

I am going mad here!

(comment: concat solves the issue. But I want to have a flexible solution with possibly overlapping audio streams.) Thanks for giving a hint!

(copy: https://stackoverflow.com/questions/75775765/ffmpeg-messes-up-delayed-inputs-repeats-at-the-beginning )

downloaded from the web side (last binary for Mac).
And installed by brew install ffmpeg. Both version id's are in the ticket.

It does not play a role which audio files as input. I got a 1 second mp3, then a 20 second mp3, then another one ...

-v 9 does not output anything on my terminal.

Change History (6)

comment:1 by Ralph, 14 months ago

Summary: ffmpeg amux puts audio input always at postion 0 first, and then at the right positions (ffmpeg Mac version)ffmpeg amix puts audio input always at postion 0 first, and then at the right positions (ffmpeg Mac version)

comment:2 by Elon Musk, 14 months ago

Component: ffmpegundetermined
Priority: criticalminor
Resolution: invalid
Status: newclosed
Version: 5.1.2

Bug reports that links to 3d party sites are invalid.

Provide full bug report using this interface only.

comment:3 by Ralph, 14 months ago

Description: modified (diff)

comment:4 by Ralph, 14 months ago

Will the ticket be processed? thanks!

comment:5 by Ralph, 14 months ago

Resolution: invalid
Status: closedreopened

comment:6 by Elon Musk, 12 months ago

Resolution: invalid
Status: reopenedclosed

Can not reproduce. No input files provided. No full uncut ffmpeg logs provided.
Note also that as mentioned in documentation for the adelay filter you need to use all=1 argument/option for filter, otherwise more than single channels audio files will have 2nd channel and higher not delayed at all unless you use either all=1 or specify delays for each channel as described in adelay filter documentation.

Note: See TracTickets for help on using tickets.