dvr_admin/.gitignore
deeily e61d8ac649 dvr_admin v2.4.0: Novicam NR1604 integration (частичная)
Поддержка Novicam V3.4.96 рядом с Hikvision, изолировано через IP-whitelist
_NOVICAM_IPS_TEMP. Cam 2/3/4 работают (live + playback с шифрованием), cam 1
остаётся открытым вопросом — Linux libPlayCtrl.so не декодит её mainstream
несмотря на идентичный wire-формат плагину.

Инфраструктура Novicam:
- _novicam_session_login() — sessionID из <SessionUserCheck>, используется
  как Cookie WebSession (Novicam не выставляет Set-Cookie)
- _sdk_http_live_reader_novicam() — отдельный reader для live stream
- _sdk_http_playback_reader_encrypted(_novicam=True) — ветка в encrypted
  playback для Novicam (без /ISAPI/Security/token, свой HB pattern)
- _fetch_channels_inline fallback на /ContentMgmt/InputProxy/channels
  при 403 от /Streaming/channels (маппинг id=N → N01)
- Pre-activation probes перед /SDK/play (security=1 + PTZ endpoints) —
  активируют канал в сессии после Spy DLL анализа плагина
- HTTP-заголовки (Accept/Accept-Language/Accept-Charset) идентичны
  эталонному плагину — влияет на формат потока

Playback fixes:
- PlayM4_GetSourceBufferRemain throttle перед InputData — фикс 15-сек
  прыжков при ×1 воспроизведении. DVR заливает архив в scan-режиме
  (~10× быстрее реалтайма), без троттлинга libPlayCtrl захлёбывается.
  TCP flow control естественно замедляет DVR до темпа декодера.
- PTS-based current_start через buf.video_ms при reconnect — защита от
  прыжков вперёд на неотыгранный интервал

Инфраструктура для cam 1 (готова, отключена):
- _NovMuxWine singleton — wine + Windows PlayCtrl.dll (Novicam 194 exp)
- wine_playm4_nov/ с mux server без SetStreamOpenMode (file mode) —
  плагин использует default stream mode
- Включается через _use_nov_wine = (cam_num == 1), сейчас False

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 17:27:38 +03:00

49 lines
1.0 KiB
Plaintext

# Python
__pycache__/
*.pyc
*.pyo
.venv/
venv/
dvr_admin/venv/
# База данных и секреты
dvr_admin/dvr_admin.db
dvr_admin/.secret.key
dvr_admin_docker/dvr_admin.db
dvr_admin_docker/.secret.key
# Docker артефакты
dvr_admin_docker/*.tar.gz
# Логи
*.log
/tmp/
# SDK документация (не нужна в репозитории)
doc/
kdf_reverse/
# Wine PlayM4 — только исходники и .exe, DLL и runtime не пушим
dvr_admin/wine_playm4/
!dvr_admin/wine_playm4/playm4_pb_server.c
!dvr_admin/wine_playm4/playm4_pb_server.exe
!dvr_admin/wine_playm4/playm4_hwnd_test.c
!dvr_admin/wine_playm4/playm4_hwnd_test.exe
!dvr_admin/wine_playm4/spy_build/
dvr_admin/wine_playm4/spy_build/*.dll
# Wine для Novicam — целиком локально, DLL берутся из doc/Web Components/
dvr_admin/wine_playm4_nov/
# Тестовые скрипты
dvr_admin/test_*.py
# Claude memory
.claude/
# Личные заметки
GIT_WORKFLOW.md
TODO.md
# IDE
.idea/
.vscode/