Files
jellybit/docs/tasks/items/external-subtitles.md
T
av 66d39297c5 docs: проект переведён на канон документов версии 4
- каталог задач: PLAN.md → ROADMAP.md с каноническими секциями, все 44
  записи получили тип, заголовки приведены к форме своего типа
- расхождения, найденные судьями канона: исключения инварианта «источник
  неприкосновенен», инвариант про один активный infohash, UTC в logging.md,
  поведение из architecture.md заменено ссылками на спеки
- триггеры профиля ревью переписаны под умолчание standard
2026-08-06 13:32:06 +03:00

1.7 KiB
Raw Blame History

Спаривать VobSub .idx+.sub и проставлять языковой суффикс субтитра

  • Тип: feature
  • Категория: Ядро продукта
  • Зачем: Привязка субтитр→серия уже работает; остались пары VobSub .idx+.sub и потеря Lang/Flags
  • Теги: goal:complex-releases

Базовая привязка субтитр→серия для сериала уже работает: layout.PlanFile несёт Season/Episode, а seriesDst именует субтитр по стему эпизода (internal/layout/layout.go, код старше аудита 2026-07-03). Для фильма тоже — субтитр именуется по базе видеофайла.

Реальные пробелы, оставшиеся от аудита:

  • Пары VobSub .idx+.sub не спариваются — их надо переносить вместе как одну дорожку.
  • Языковой суффикс теряется: у recognize.PlanFile нет полей Lang/Flags, и toLayoutPlan (internal/httpapi/review.go) не проставляет язык — субтитр ляжет без *.ru.srt-суффикса, который ждёт Jellyfin.

Смоделировать язык/флаги субтитра сквозь recognize→layout и спаривание .idx+.sub; спека recognition уже требует «внешние субтитры SHALL привязываться к видео».

Связано: openspec/specs/recognition, specs/jellyfin-layout.md, пакеты recognize, layout.