Я могу отредактировать свой фильм в каком-то видеоредакторе и идеально сопоставить аудио с видео, но в этом случае мне придется перекодировать все видео, что отнимает много времени. Код вроде:
ffmpeg -i my_movie.mp4 -c:v copy -c:a aac -af "audio_filter_help_me_guys" fixed_movie.mp4
сэкономит мое время. Или мне просто нужно использовать видеоредактор, такой как Kdenlive?
Вы не должны повторно кодировать ни видео, ни аудио, но просто задерживать аудиопоток. -itsoffset
опция ffmpeg
служит цели добавить смещение к метке времени потока, такого, что это отложено. Команда поэтому была бы больше похожа:
ffmpeg -i my_movie.mp4 -itsoffset 0.5 -i my_movie.mp4 -map 0:v -map 1:a -c:copy fixed_movie.mp4
-itsoffset 0.5 -i my_movie.mp4
указывает, что второй входной файл (который, в этом случае, оказывается, совпадает с первым), должен быть отложен из-за 0,5 с. -map 0:v -map 1:a
выбирает только видео из первого входного файла и только аудио от второго (отложенного) потока. Они не были бы необходимы, если бы у Вас было два файла, один только с видеопотоком и другим только с аудиопотоком. -c:copy
указывает, что все потоки должны быть скопированы (и нотация ярлыка, эквивалентная -c:v copy -c:a copy
) , необходимо также смочь достигнуть этого с графическим инструментом Avidemux, но мой опыт состоит в том, что это не всегда работает надежно. Командная строка, после того как Вы нашли опции, путь быстрее.