Как обрезать или удалить части видео MPEG из командной строки Linux?

7387
dggoldst

У меня длинный фильм в формате MPEG, и я хочу вырезать много материала с начала и до конца, а также некоторые патчи посередине. Есть ли способ, которым я могу легко сделать это из командной строки Linux?

5

2 ответа на вопрос

7
dggoldst

Инструментом для работы является mpgtx (если он не установлен, попробуйте, например, sudo apt-get install mpgtx).

Давайте предположим, что ваш файл называется input.mpg, и вы хотите создать output.mpg. Вот некоторые общие задачи

Выберите сегменты из фильма MPEG, создайте новый фильм MPEG из них

// Захватим секунды 10-20, 42-52, затем 1:23 - 1:33 и создадим новый фильм в формате MPEG

mpgtx -j input.mpg [0:10-0:20] [0:42-0:52] [1:23-1:33] -o output.mpg 

Примечание: mpgtx -j эквивалентен mpgjoin. Примечание: вам нужно установить его с помощью sudo apt-get install mpgtx

Выберите в начале или в конце фильма MPEG

// Получить первые 20 секунд, секунды с 42 по 52, затем 1:23 до конца ***

mpgtx -j input.mpg [-0:20] [0:42-0:52] [1:23-] -o output.mpg 

Разделить фильм MPEG на несколько файлов произвольной длины

// Делит минуты 1-2 и 3-4 на два файла (out-1.mpg и out-2.mpg)

mpgtx -s input.mpg [1:00-2:00] [3:00-4:00] -b out 

Разбейте фильм MPEG на куски равной длины

// Делит фильм на 5 частей равной длины, которые называются out-1.mpg, out-2.mpg, ..., out-5.mpg

mpgtx -5 input.mpg -b out 

Объединить или объединить несколько видеофайлов MPEG из командной строки

mpgtx -j file1.mpg file2.mpg file3.mpg -o output.mpg 

Перекодировать файл, если время выключено

Вы можете обнаружить, что время не очень точное из-за того, как работает mpgtx (на основе группы изображений). Я обнаружил, что перекодирование mpeg с постоянной скоростью приводит к файлам, которые затем можно очень точно разделить с помощью вышеуказанного метода. Простой вызов перекодирования заключается в следующем.

// Повторное кодирование с постоянной скоростью 2250 Кбит / с

ffmpeg -i input.mpg -b 2250k -minrate 2250k -maxrate 2250k -bufsize 1000k output.mpg 

Заметка. ffmpeg может сделать многое из того, что может сделать mpgtx, но последнее значительно упрощает указание нескольких срезов (и вы можете указать входные данные для времени начала и окончания, в отличие от времени начала и продолжительности). Тем не менее, ffmpeg - отличный компаньон. Я считаю, что преобразование AVI в mpeg с помощью ffmeg, а затем разделение с помощью mpgtx - это самое быстрое средство для выполнения работы.

Для получения дополнительной информации см. Справочные страницы для mpgtx и ffmpeg (а также их страницу интерактивной справки http://ffmpeg.org/ffmpeg-doc.html ).

3
Shawn Chin

Вы можете попробовать ffmpeg. См. Http://www.joeldare.com/wiki/video:cut_video_with_ffmpeg

Вырежьте фрагменты фильма, который вы хотите сохранить, а затем соедините их вместе, чтобы получить окончательный вариант фильма (видео: http://ffmpeg.org/faq.html#SEC30 )

Документация по дополнительным параметрам ffmpeg доступна здесь: http://ffmpeg.org/ffmpeg-doc.html

Похожие вопросы