1

У меня есть две подводные сетевые видеокамеры в глубоководной обсерватории, которые привязаны к земле по оптоволоконному кабелю и передают видеоданные обратно на берег. Я хотел бы найти способ автоматически вырезать или объединить эти видеофайлы на основе их временной шкалы. Можно ли это вообще сделать? Если так, то как?

Проблема: подводные камеры записывают файл (.asf) каждый раз, когда их сетевое соединение нарушается. Это означает, что клипы произвольной длительности затрудняют каталогизацию данных. В идеале нам нужны файлы продолжительностью один час, которые начинаются и заканчиваются в часы (например: Camera1_00: 00-00: 59.asf, Camera1_01: 00-01: 59.asf и т.д.). Имя файла каждого видео содержит метку времени первого кадра. Информация о времени не хранится в метаданных.

Вопрос: Как мне объединить эти видеофайлы и разделить их по часам?
Мое лучшее предположение до сих пор - что-то вроде этого (но я понятия не имею, как это сделать):

  1. Извлечь начальную метку времени из имени файла
  2. Получить продолжительность файла
  3. Добавьте продолжительность к начальной отметке времени, чтобы получить время начала / окончания UTC
  4. [как-то] присоединяйся к видео, пока я не пересек границу часа
  5. Разделить видео на час (я думаю, время будет вычислено по продолжительности и времени начала?)
  6. Сохраните 1-часовое видео как законченное и сохраните для использования в начале следующего часа.
  7. Повторение

Обратите внимание, что у нас есть некоторые пробелы в видеоданных, и идеальным решением может быть:

  • Записать несколько файлов в течение часа (например: 03: 00-03: 15 и 03: 17-03: 59)
  • Напишите один файл длиной менее часа, соединяя пробелы несколькими черными рамками.

Я понятия не имею, как это сделать. Есть ли программное обеспечение, которое может сделать это для меня? Должен ли я написать код для этого? Если последнее, какой язык лучше? Что насчет ffmpeg?

Я открыт для лучших идей. Заранее спасибо за вашу помощь!

0