Есть ли CLI или библиотека для рисования фигур на видео и рендеринга результата в новое видео на автономном сервере? - PullRequest
0 голосов
/ 21 октября 2019

[Извинения, если название неясно;Мне было трудно разобраться с языком проблемной области.]

Я ищу либо приложение командной строки (например, FFMpeg), либо библиотеку для языка, подобного Go, который позволил бымне создать новый видеофайл из набора временных меток инструкций. Лучшая аналогия того, что я пытаюсь привести, - это то, что делают комментаторы НФЛ, когда рисуют на экране, описывая пьесу (см. Короткий видеоролик на YouTube: https://youtu.be/B1C25g0p3AQ - поведение, которое я пытаюсь описатьописание начинается примерно в 0:12)

  • исходное видео может быть приостановлено или воспроизведено
  • "маркер" или "фигуры", нарисованные поверх видео, обычно когда пауза, в определенныхраз
  • сохранить результат как вновь закодированное видео (не требуется наложение или специальный просмотрщик)

Я хочу иметь возможность программировать то, что рисуется, и запускать процесс в безголовом облакесервер, поэтому я не ищу решение с графическим интерфейсом.

Я ищу пример следующего потока:

  1. приостановить видео в 12: 34.123
  2. нарисуйте красный кружок (заполненный) над видео в [345px, 876px] (координаты x и y) в 12: 38.412
  3. возобновите воспроизведение видео в 13: 03.512
  4. экспортируйтеконечный результат (исходное видео, пауза, рисование, возобновлениенаше видео) как новый H.264, так что конечный результат можно просмотреть в обычном видеоплеере (без специальной программы для прозрачного наложения и т. д.)

Я думаю,исходные видео будут кодироваться в формате H.264 - скорее всего, в контейнерах WebM или MP4 - но я, вероятно, могу предположить, что, если cli / lib не поддерживает это. Исходное видео будет содержать звук, который я хочу сохранить, и я хотел бы добавить дополнительную звуковую дорожку (комментарий), поэтому решение должно поддерживать это поведение.

В итоге:

  • Существует ли такой CLI и / или библиотека для выполнения подобных задач?
  • Если да, можете ли вы привести простой пример того, как использовать его для выполнения описанного выше потока?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...