У меня длинный фильм в формате MPEG, и я хочу вырезать много материала с начала и до конца, а также некоторые патчи посередине. Есть ли способ, которым я могу легко сделать это из командной строки Linux?
2 ответа
Инструментом для работы является 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 ).
Вы можете попробовать ffmpeg. См. Http://www.joeldare.com/wiki/video:cut_video_with_ffmpeg
Вырежьте фрагменты фильма, который вы хотите сохранить, а затем соедините их вместе, чтобы получить окончательный вариант фильма (Присоединение к видео: http://ffmpeg.org/faq.html#SEC30)
Документация по дополнительным параметрам ffmpeg доступна здесь: http://ffmpeg.org/ffmpeg-doc.html