Кто-нибудь знает, как сшить два (или более) видео вместе с помощью ffmpeg (или другого cli)? Это предполагает, что все видео имеют один и тот же формат, а используемый видеоформат допускает склеивание без потерь (без транскодирования, только сквозное сшивание).
объединение видео вместе с помощью ffmpeg в командной строке
Ответы (5)
Используя ffmpeg, я думаю, что вам нужна команда
-новое видео
в справке это описывается как «добавить новый видеопоток к текущему выходному потоку».
хотя я лично не пробовал.
для более новых ffmpeg также есть опция ввода concat: http://ffmpeg.org/faq.html#How-can-I-join-video-files_003f
См. также Объединение двух файлов mp4 с помощью ffmpeg
Вы можете сшить два или более видео с помощью ffmpeg в формате, который можно объединить, выполнив следующие действия:
$ cat file1.avi file2.avi > cat_output.avi
$ ffmpeg -i cat_output.avi -r 25 -sameq stitched.avi
Второй шаг необходим, когда ffmpeg объединяет объединенные файлы в правильный читаемый видеофайл.
Насколько мне известно, в ffmpeg нет такой вещи, как -newvideo.
Вы можете объединить и закодировать несколько файлов .avi с помощью mencoder
следующим образом:
$ cat part1.avi part2.avi > tmp.avi && mencoder -forceidx -oac copy -ovc copy tmp.avi -o final.avi && rm -f tmp.avi
Если вы используете OS X, mencoder
является частью пакета mplayer
Homebrew. Вы можете установить его достаточно легко с помощью:
$ brew install mplayer
Мы добавили поддержку сшивания видео с помощью ffmpeg (требуется статическая сборка) на Java в ffmpeg-cli-wrapper а>. Для сшивания видео см. в этом примере. Библиотека также поддерживает постепенное появление, исчезновение, наложение текста и т. д.