В итоге я использовал ffmpeg из командной строки, чтобы выполнить необходимое отсечение.
Проведя некоторые исследования на этом сайте и попробовав несколько более простых команд, я придумал следующую команду:
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -c copy -to 00:05:10 \
output.mp4
Насколько я понимаю, с помощью этой команды ffmpeg в основном копирует часть клипа из input.mp4 в output.mp4 (без перекодирования). ffmpeg быстро ищет отметку 1 мин (первая -ss 00:01:00
), затем начинает поиск ключевых кадров и выводит клип с 3 минут в клип (заданный второй опцией -ss
) до 6 минут & 10 секунд в клипе (определяется -to 00:05:10
). Таким образом, выводится клип продолжительностью 3 минуты 10 секунд (5:10 - 2:00).
ПРИМЕЧАНИЕ. Время, указанное в параметре 2nd -ss
и параметре -to
относится ко времени, указанном в параметре first -ss
.
Чтобы узнать больше об этих и других опциях, посмотрите отличные ответы на вопрос Использование ffmpeg для разрезания видео.
Этот метод был удивительно быстрым (10-15 секунд), но в течение первых 2-3 секунд клипа звук был бы хорошим, но без соответствующего видео. И звук, и качество видео казались неотличимыми от оригинала после этих первых 2-3 секунд.
Удаление части -c copy
решило и эту проблему. Это означает, что видео будет перекодировано - на это уйдет больше времени (мой 13-дюймовый MacBook Pro в конце 2011 года занял 80-90% времени работы клипа), - но качество звука и видео было превосходным, а размер файла был меньше, чем размер файла. оригинал (в пересчете на МБ / мин воспроизведения)!
Итак, последняя команда, на которой я остановился, была:
ffmpeg -ss 00:01:00 -i input.mp4 -ss 00:02:00 -to 00:05:10 -strict -2 \
output.mp4
Часть -strict -2
была добавлена в команду на основе предложения от ffmpeg, так как поддержка кодирования X.264 все еще экспериментальна,
Для использования ffmpeg я скачал предварительно скомпилированный ffmpeg с ffmpegmac.net, поместил его в каталог, который, как я уже знал, был в моем PATH
и был готов к работе!