В последнее время редактирую видео из командной строки. В некоторых случаях это удобнее чем работать в визуальном редакторе. В других, закономерно, наоборот. Но первых всё ещё много, и расчехлять gui ради них было бы грешно.
Вчера, как раз, сделал видосик.
Входные данные: pov-видео с кошачьей гонкой cats.mp4
и music.mp3
.
Достаём оригинальный звук из видео:
ffmpeg -i cats.mp4 orig.wav
Узнаём длину видео:
soxi -D orig.wav
59.164444
Декодируем мп3 в вавку:
lame --decode music.mp3
Вырезаем музыку начиная с 0.7 сек длиной 60 сек:
sox music.wav music2.wav trim 0.7 60
Смешиваем звуки погони с музыкой:
sox -M music2.wav orig.wav out.wav
Заменяем звуковую дорожку у ролика; без перекодирования видео:
ffmpeg -i cats.mp4 -i out.wav -c:v copy -map 0:v:0 -map 1:a:0 -y out.mp4
Что получилось:
ffprobe out.mp4
Stream #0:0[0x1](und): Video: h264 (High)...
Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, quad, fltp, 258 kb/s (default)
2024.05.28 in automation