![]() |
ffmpeg добавление звука в видео с оффсетом
Вроде бы банальная задача, добавить (вмикшировать) с задержкой звук к ролику но глюки..
Самое простое - ffmpeg -i video.mp4 -itsoffset 00:0:20.000 -i audio.aac -c copy -map 0:0 -map 1:1 output.mp4 - ругается, что у второго файла нет видеопотока. Использование фильтра adelay - ffmpeg \ -i video_and_audio.mp4 \ -i audio_only.aac \ -c:v copy \ -filter_complex '[1:a] adelay=20000|20000 [delayed]; [0:a] [delayed] amix [out]' \ -map 0:v \ -map '[out]' \ out.webm - хоть вроде бы тоже описано в приложенных к дистру спеках, но... но ругается "не знаю, что такое 20000", и не делает. Вариант ffmpeg -i 1.mp4 -i 1.aaс \ -filter_complex "[1]adelay=20000|20000[s1];\ [0][s1]amix=2[mixout]" \ -map 2:v -map [mixout] -c:v copy result.mp4 - ругается, что инвалид файл индекс 2. ffmpeg -i file.mkv -itsoffset 3 -i file.аас -c:a copy -c:v copy -map 0:v:0 -map 1:a:0 out.mkv - возьмет только аудио второго файла, а мне нужно смешение. понимаю, что явно какая-то мелочь не так, но гуглинг подкидывает всё те же варианты от разных источников. |
... а банальное
ffmpeg -i video.mp4 -itsoffset 00:0:20.000 -i audio.aac -c:v copy -c:a aac output.mp4 или даже то же самое без оффсета - вроде бы кодит.. но второй файл вообще не слышен в результате. Пробовал намеренно взять более короткий видео, чтоб звуковая дорожка была длиннее, но НЕ использовать флаг -shortest - всё равно заканчивается по видео, и дополнительного звука не слышно. |
Код:
ffmpeg -i "D:\Видео\video.mp4" -itsoffset 20s -i "D:\Музыка\audio.mp3" -map 0 -map 1 -async 1 -filter_complex amix=inputs=2 "D:\Видео\output.mp4" |
спасибо, вроде пашет, но он весь видеопоток рекодит. А можно так, чтоб не рекодил видеопоток, замыливая его?
|
Добавьте
Код:
-c:v copy |
Время: 13:10. |
Время: 13:10.
© OSzone.net 2001-