Точно вырезать видео файлы из командной строки

У меня возникли проблемы с поиском приложения cli, которое может принимать видеофайл (avi, mkv и mp4) и вырезать очень короткие клипы (2-6 секунд) с точностью точности времени. Я пробовал ffmpeg , mencoder , avidemux и mp4box, но все они сокращают ключевые кадры, которые создают 6+ вторых клипов. Есть ли инструмент, который будет перекодировать входной файл и сократить точное время или отрезать неточно, перекодировать, а затем точно отрезать?

2 Solutions collect form web for “Точно вырезать видео файлы из командной строки”

Вырезание видео с помощью ffmpeg

Вы можете точно вырезать видео с помощью FFmpeg. Начиная с версии 2.5, это очень просто. Например, вырезать 10 секунд, начиная с 0 минут, 3 секунд и 123 миллисекунды.

 ffmpeg -ss 00:00:03.123 -i input.mp4 -t 10 -c:v libx264 -c:a aac -strict experimental out.mp4 

Позиция и время могут быть либо в секундах, либо в форме hh:mm:ss[.xxx] .

Обратите внимание, что в этих примерах видео и аудио будут перекодироваться с помощью кодов x264 и aac .

Вы также можете использовать -to вместо -t для указания конечной точки вместо продолжительности. В этом случае, однако, -to эквивалентно -t , так как, положив -ss перед -i , ffmpeg сначала будет искать эту точку, а затем начать вывод.

См. Также раздел « Поиск в вики».


Точная резка для более старых версий ffmpeg

Если у вас установлена ​​более ранняя версия ffmpeg, то для точного поиска вам нужно поместить -ss после -i , что делает процесс кодирования немного медленнее, потому что сначала нужно декодировать все видео:

 ffmpeg -i input.mp4 -ss 00:00:03.123 -t 10 -c:v libx264 -c:a aac -strict experimental out.mp4 

Здесь -to и -t ведут себя по-разному. -t 10 создаст десятисекундный клип, тогда как -to 10 будет создавать клип длиной 7 секунд.


Потоковое копирование и повторное кодирование

Вы можете попробовать выполнить копирование по аудиопотоку с помощью -c:a copy . Копирование видеопотока можно выполнить с помощью -c:v copy . Однако он может работать неправильно, потому что вы можете разрезать только видео ключевые кадры, которые не так часто происходят. В любом случае это может привести к неточной резке, если вы скопируете видеопоток.

Как сказал Baodad в комментариях (я пишу, потому что это нелегко найти, если вы читаете быстро), лучший подход заключается в автоматическом обнаружении аудио / видеокодеров с помощью ffmpeg, поэтому:

 ffmpeg -ss 00:05:17.18 -i in.mp4 -t 00:06:29.10 -acodec copy -vcodec copy out.mp4 
  • Начало @ 00: 05: 17.18
  • Input = in.mp4
  • Stop @ 00: 06: 29.10
  • Output = out.mp4
  • Преобразование FLV в MP4 с использованием FFMPEG и сохранение качества
  • Любой способ восстановить поврежденный mp4?
  • FFMPEG: конвертировать MP4 в тот же MP4 (в другом контейнере) и добавлять субтитры
  • Конвертировать mp4 в mp3
  • Как удалить несколько сегментов из видео с помощью FFmpeg?
  • Как объединить два файла MP4 с помощью FFmpeg?
  • Преобразование из WebM в MP4 в Ubuntu происходит медленно и плохо
  • Присоединяйтесь к файлам mp4 в linux
  • Как я могу объединить два файла mp4 без потери качества?
  • Ffmpeg: Ошибка входа в трубу
  • Присоединение H264 * без * повторного кодирования
  • Interesting Posts

    Полученный ransomware и Shadow explorer не работают

    Почему этот компилятор кода C ++ (не-void функция не возвращает значение)

    Должен ли я отключить USB-накопитель, прежде чем отключать его?

    Как оживить струйный принтер – частично забитый / высушенный?

    Как хранятся имена файлов?

    Как создать файл, который называется аргументом командной строки?

    Почему только конечные переменные доступны в анонимном classе?

    Почему существует несколько экземпляров Chrome, хотя у меня есть только одно окно (только одна вкладка)?

    Быстро перезагрузите компьютеры в моем кибер-кафе до состояния по умолчанию

    Получение URL-адреса с косой чертой с URL-адресом

    Почему это происходит с оператором sizeof при сравнении с отрицательным числом?

    Внешняя разница в производительности по сравнению с встроенным стилем?

    Полностью удалить Visual Studio 2010

    Mount vdi как диск в Windows

    ListView с OnItemClickListener android

    Давайте будем гением компьютера.