Терминал инструмент для присоединения MP4 видео

14

Я хотел бы присоединиться к MP4 видео, как я присоединяюсь к PDF-файлы pdfjoin.

Существует ли какой-либо инструмент по умолчанию для присоединения к видео?

Лео Леопольд Герц 준영
источник

Ответы:

15

Да, вы можете объединить несколько видео в один файл, используя команды терминала по умолчанию. Использование простого catбудет хотеть, что вы хотите.

cat video1.avi video2.avi videon.avi > output.avi

Здесь есть большой, но здесь - этот метод выведет заголовок video1.avi на output.avi. Следовательно, заголовок output.avi такой же, как video1.avi, поэтому на большинстве видеоплееров он будет выглядеть так, как video2.avi и videon.avi - потеряны - источник 1 , источник 2 .

Чтобы это исправить, вам нужны дополнительные инструменты. Есть много других терминальных инструментов для присоединения к фильмам, которые также обновляют заголовок. Наиболее известными инструментами для редактирования видео являются mencoder (который входит в состав MPlayer) и ffmpeg . Оба имеют огромное количество опций и настроек, и этот форум выходит за рамки подробностей, но я дам краткие команды ниже.

Использование и установка mencoder или ffmpeg могут быть пугающими, но возможности редактирования видео - самые мощные из всех, с которыми я сталкивался. Поскольку установка из исходных текстов может доставить неудобства родным пользователям OS X, я советую вам использовать Homebrew .

Чтобы установить эти инструменты с помощью Homebrew , запустите однострочную версию в своем терминале:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrew теперь установлен, после установки рекомендуется следовать рекомендациям установщика. Теперь мы устанавливаем ffmpeg и mencoder используя brew.

brew install ffmpeg mplayer

Теперь мы можем использовать mencoder для объединения двух видео:

mencoder -oac copy -ovc copy -idx -o output.mp4 video1.mp4 video2.mp4 video3.mp4

Или мы можем использовать ffmpeg для объединения двух видео:

 ffmpeg -i concat:"video1.mp4|video2.mp4" -codec copy output.mp4

Вы специально запрашиваете файлы .mp4. mp4является контейнерным форматом, возможно, что при установке по умолчанию ffmpegили mencoderнет правильных пакетов кодирования / декодирования («кодеков») по умолчанию, и вам необходимо установить их отдельно. Но это выходит за рамки этой темы.

CousinCocaine
источник
Обратите внимание, что вам может понадобиться экранировать символ "|" которая является особенной для многих оболочек, поэтому ffmpeg -i concat: video1.mp4 \ | video2.mp4
CousinCocaine
2
Использование одинарных кавычек ('') может быть проще, чем экранирование символа канала. В команде, использованной в ответе, это не имеет значения в любом случае.
холме
Очень хороший ответ с четким объяснением. Спасибо!
Лео Леопольд Герц 준영
2
Попробовал установить Homebrew с помощью команды терминала, как описано в этом ответе, и получил "The requested URL returned error: 400 Bad Request". Согласно домашней странице Homebrew , новая команда терминала/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Sparky
@ Sparky перейдите к brew.shинструкции по установке.
Кузен Кокаин