Я пытаюсь добавить второй mp3-файл (длительностью 5 секунд) поверх первого mp3-файла (длительностью 3 минуты), и он должен начаться через 50 секунд. Если это возможно, было бы здорово аккуратно смешать эти два mp3-файла, и после этого 5-секундного воспроизведения первый mp3-файл продолжит воспроизводиться.
Я не останавливаю первый mp3, а микширую второй с первым mp3 через 30 секунд.
Я попробовал сместить его, но он начинается с самого начала.
ffmpeg -i 12.mp3 -i 22.mp3 -vsync 2 -filter_complex amerge -ac 2 -c:a libmp3lame -q:a 4 arjun.mp3
ffmpeg -i "concat:12.mp3|22.mp3" -acodec copy arjun.mp3
ffmpeg -i 11.mp3 -i 22.mp3 -filter_complex "[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=mono,atrim=end=20[aud1];[1:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=mono,atrim=end=240[bud2];[bud2]adelay=10000[aud2];[aud1][aud2]amix=inputs=2" amerge -ac 2 -c:a libmp3lame -q:a 4
arjun9.mp3
ffmpeg -i 75.mp3 -itsoffset -700 -i 22.mp3 -vn -filter_complex amix 0055598.mp3
ffmpeg -i 75.mp3 -itsoffset -700 -i 22.mp3 -vn -filter_complex amix 0055598.mp3
решение1
К сожалению, -itsoffset
опция работает только для видеопотоков. Не используйте ее для аудио.
Чтобы сделать то, о чем вы просите, используйте следующую команду:
OFFSET=5 ffmpeg -i in1.mp3 -f lavfi -i aevalsrc=0:d=$OFFSET -i in2.mp3 -filter_complex '[1] [2] concat=v=0:a=1 [a], [0] [a] amix' out.mp3
Это смешается in1.mp3
и in2.mp3
получится out.mp3
следующим образом:
in1.mp3
[--------------------------------------------------]
OFFSET seconds [---------]
in2.mp3