Как последовательно извлекать видеофрагменты из видеофайлов mp4 / mkv?

Есть ли способ программно пройти по файлу и извлечь из него (например) последовательные 10-секундные фрагменты в отдельные файлы?

В настоящее время мой коллега использует для этого ffmpeg, но я думаю, что вызов этой команды один раз для каждого сегмента приведет к поиску файла много, который может не понадобиться.

Или я ошибаюсь, есть ли в этих файлах какой-то временной индекс, который делает поиск очень быстрым?

В настоящее время для вызова ffmpeg используется язык Ruby, поэтому скомпилированная библиотека C может работать, а библиотека Java определенно будет работать (с JRuby).

Обработка видео и жесткие вычисления не являются сильной стороной Ruby, но, как вы заявили, вы можете найти привязки для ffmpeg, VLC или любой другой видеотеки, которая соответствует типу файла, который вам нужно обработать. Кажется, ваш вопрос требует библиотеки, но в то же время укажите, что вы уже используете с Ruby, поэтому мне так мало непонятно.

ForeverZer0 30.07.2018 09:46

В настоящее время он выполняет системные вызовы и запускает исполняемый файл ffmpeg.

Keith Bennett 30.07.2018 09:47

Это то, что делает мультиплексор сегментов.

Gyan 30.07.2018 10:01

На самом деле системные вызовы будут незначительными по сравнению с тем, что делает ffmpeg, и доступом к диску, и если это не какой-то процесс, который работает постоянно и чувствителен ко времени, дополнительный файл, который ищет ffmpeg, не будет чтобы иметь большое значение для чего-либо. Скорее всего, было бы лучше, если бы поток оставался открытым на стороне ffmpeg, но этот kust означает настройку того, какие команды вы даете.

ForeverZer0 30.07.2018 10:02

@Gyan Вот она, я предполагал, что это была команда, но мой опыт работы с ffmpeg был равносилен некоторому баловству много лет назад, лол.

ForeverZer0 30.07.2018 10:03
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
0
5
203
0

Другие вопросы по теме