SDK-over-HTTP протокол с PLAYFAST для ×2/×4/×16 без прыжков по таймлайну.
H.265: парсинг MPEG-PS → H.265 ES → ffmpeg. H.264: PlayM4.
Digest-аутентификация на сокете, автоопределение кодека по IMKH.
- Мои виды: создание именованных видов с произвольным набором камер
- Переименование каналов (per-user) в «Мои виды»
- Полноэкранный плеер доступен из «Мои виды»
- Архивный плеер: FPS с DVR через ISAPI, окно 24ч, без параллельных потоков при seek
- Исправлен плеер в /view (display:none override)
- Версия в APP_VERSION
Переведено скачивание клипов на Hikvision SDK (PlayBackByTime_V40 +
data callback) — точное время по часам DVR без seek-смещения.
Исправлена загрузка SDK-библиотек через self-restart с LD_LIBRARY_PATH.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Archive player: loading spinner on stream start/seek/timeline click
- Archive player: live clock updates every second during playback
- Timeline: removed segment overlays, hourly labels (0–24)
- Clip download: split time inputs into separate HH/MM/SS fields
- Clip download: cancel button aborts fetch and kills ffmpeg on server
- Security: CSRF protection, HttpOnly/SameSite cookies, XSS escaping,
parameter validation, access control on ping endpoint
- Dashboard: user-specific DVR cards, live clock and version widgets
- Preview channels resume after closing fullscreen player
- Docker: moved SDK libs into dvr_admin/, cleaned up dvr_admin_docker/
- Flask-приложение управления DVR Hikvision
- Предпросмотр каналов, архив, скачивание клипов
- Управление пользователями с правами доступа
- Docker-контейнер с Gunicorn