Phase / Priority / Area
Phase 12 · Priority P1 · Area transcoder
Зависимости
Blocked by: Фазы 10, 10b DONE. Blocks: #fan-out, #progressive-master
Граф: docs/PLAN.md:33
Scope
services/transcoder/app/consumer.py:62,31 (probe, RENDITIONS_SPEC), services/transcoder/tests/test_consumer.py, deploy/docker-compose.yml env
Goal
Не апскейлить 480p→1080p. Выбирать ladder по высоте исходника.
Acceptance Criteria
Проверки
uv run pytest services/transcoder/tests/test_consumer.py -v, ffprobe исходников 480/720/1080, make e2e (6s sample), go test ./... не ломается
Out of scope
HW accel, fan-out, pipe, CRF tuning
Риски / реш. человека
Пороги ladder, нужен ли 144p по умолчанию — решить до PR
Phase / Priority / Area
Phase 12 · Priority P1 · Area transcoder
Зависимости
Blocked by: Фазы 10, 10b DONE. Blocks: #fan-out, #progressive-master
Граф:
docs/PLAN.md:33Scope
services/transcoder/app/consumer.py:62,31(probe,RENDITIONS_SPEC),services/transcoder/tests/test_consumer.py,deploy/docker-compose.ymlenvGoal
Не апскейлить 480p→1080p. Выбирать ladder по высоте исходника.
Acceptance Criteria
height<720 → [360p];720≤h<1080 → [360p,720p];h≥1080 → [360p,720p,1080p](+ опц.144pза флагомENABLE_144P)gop 2sи-force_key_frames expr:gte(t,n_forced*2) -sc_threshold 0сохраненыdocs/spec.md:82adaptive ladder: 480p→[360p]/3248x2004→[720p,1080p]Проверки
uv run pytest services/transcoder/tests/test_consumer.py -v,ffprobeисходников 480/720/1080,make e2e(6s sample),go test ./...не ломаетсяOut of scope
HW accel, fan-out, pipe, CRF tuning
Риски / реш. человека
Пороги ladder, нужен ли
144pпо умолчанию — решить до PR