deeily 593afa8cbb dvr_admin v2.3.0: Phase 3 playback — wide layouts, drag-drop, deep-links, clip speed
- Wide layouts 6/8/13 (grid-template-areas как в iVMS) + drag-drop камер
  из дерева и между pane'ами (swap с рестартом потоков)
- Переименование favorite в UI (inline ✎), upsert по имени, полный сброс
  pane'ов в applyFavorite (фиксит чёрные экраны при повторном применении)
- Layout 2×2 по умолчанию, авто-подгрузка таймлайна при добавлении камеры
- Share-link: кнопка 🔗 в playback и view_dvr archive, URL
  /playback?dvr&ch&iso → 1×1 + seek к моменту, серверный access check
  с редиректом на dashboard
- Clip save: слайдер скорости ×1/×2/×4/×8 через ffmpeg setpts+libx264
  (mp4/mkv/gif), суффикс _xN в имени файла
- Quality FPS cap (Авто/5/10/15/25) с persist в localStorage +
  backpressure на MJPEG producer (пропуск GetJPEG если клиент отстаёт)
- Seek ±1м / ±5м вместо ±10с / ±30с (везде)
- Native SDK playback auto-retry alt channel offset (фикс NVR
  10.10.13.40 где смещение отличается)
- Таймлайн: aggregate всех pane'ов, клиппинг к границам дня,
  «Запись не найдена» per pane, красный курсор + свечение, шаг 1ч
- view_dvr archive: синие сегменты (раньше пусто), дедуп часов
- Mobile nav: убран «Архив»
- Infra (feature-flag OFF): Multiplexed wine playm4_mux_server.exe +
  _MuxWine singleton — один wine-процесс на все playback-сессии.
  Отложено до следующих релизов

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 00:38:49 +03:00
Description
No description provided
14 MiB
Languages
Python 97.4%
C 2.2%
Dockerfile 0.3%