feat(video): add video upload with remux/transcode playback
Add video as a media kind in photos: streaming upload with per-kind limits, ffprobe metadata, poster frame reusing the image variant pipeline, and a playback object (remux when web-compatible, else h264/yuv420p/aac transcode). Video jobs run on a separate pool with a long lease. Frontend gains a video viewer, grid badge/duration and video upload.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Spec Delta
|
||||
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: Создание альбомов и фотографий
|
||||
Скрипт SHALL создавать заданное параметрами число альбомов и фотографий в каждом от имени
|
||||
аутентифицированного владельца через `POST /api/albums` и
|
||||
`POST /api/albums/:id/photos`. Названия альбомов SHALL содержать метку прогона. При
|
||||
включённом флаге видео скрипт SHALL дополнительно загружать видео-фикстуры.
|
||||
|
||||
#### Scenario: Наполнение альбомами и фото
|
||||
- **WHEN** скрипт запущен с числом альбомов и фотографий на альбом
|
||||
- **THEN** создаются указанные альбомы и фотографии, а имена альбомов помечены меткой прогона
|
||||
|
||||
#### Scenario: Воспроизводимость
|
||||
- **WHEN** задан числовой seed
|
||||
- **THEN** структура и параметры генерируемых данных детерминированы для этого seed
|
||||
|
||||
#### Scenario: Флаг видео
|
||||
- **WHEN** скрипт запущен с включённым флагом видео
|
||||
- **THEN** помимо изображений часть альбомов получает видео-фикстуры
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Наполнение видео
|
||||
При включённом флаге видео скрипт SHALL загружать видео-фикстуру через общий эндпоинт
|
||||
загрузки; если генерация видео недоступна, скрипт SHALL пропускать видео и продолжать без
|
||||
ошибки.
|
||||
|
||||
#### Scenario: Видео включено
|
||||
- **WHEN** включён флаг видео
|
||||
- **THEN** в часть альбомов загружаются видео-фикстуры, различимые по метке прогона
|
||||
|
||||
#### Scenario: Генерация недоступна
|
||||
- **WHEN** видео-инструменты недоступны, а флаг видео включён
|
||||
- **THEN** скрипт пропускает видео и продолжает наполнение
|
||||
Reference in New Issue
Block a user