Редактирование видео

ID:

Встраивание на сайт (iframe)

Используйте адрес /embed/<id> — сервер разрешает отображение во фрейме на сторонних сайтах. Альтернатива: watch/<id>?embed=1.

Скопируйте код в HTML страницы. При необходимости замените домен и размеры width/height.

Формат scenario.json

Корневые поля: id, title, description, loop, defaultTheme (шрифт, цвета), slides — массив слайдов.

Слайд: durationSec, layout (например free, screencast), transition, background (solid / gradient / image с src), texts (позиции x,y,width в процентах 0–100), images с путями вида assets/…, audio.music / audio.voiceover.

Полная спецификация: открыть SCENARIO_FORMAT (файл в репозитории: docs/SCENARIO_FORMAT.md).

Формат ZIP-архива
  • В архиве должен быть один файл scenario.json — в корне ZIP или внутри одной вложенной папки (остальные пути относительно него).
  • Медиа кладите рядом с логикой сценария, обычно в assets/ (как в путях в JSON: assets/screen.png).
  • После загрузки ZIP содержимое попадает в БД; id в JSON будет заменён на ID этой страницы редактирования.
  • Служебные файлы macOS не сохраняются: папка __MACOSX, .AppleDouble, .DS_Store, файлы с именами вида ._*.

Способ 1: Загрузить ZIP-архив

Архив должен содержать scenario.json и файлы, на которые ссылается сценарий (часто папка assets/).

Способ 2: Использовать API

Запросы от имени браузера идут с cookie-сессией. Для curl добавьте заголовок X-API-Key: ваш_ключ (или Authorization: Bearer …).

Выгрузка в видеофайл

На сервере собирается MP4 (рендер слайдов через браузер + ffmpeg). Долго при большом числе слайдов; для nginx увеличьте proxy_read_timeout. Нужен ffmpeg в PATH на сервере.

Слайды как изображения: один PNG на слайд в ZIP (Chromium + без ffmpeg). Размер кадра по умолчанию 1920×1080; можно задать в URL запроса: ?width=1600&height=900.

Удаление проекта

Сценарий и все связанные файлы в базе будут удалены без восстановления.