Поддержка 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>
49 lines
1.0 KiB
Plaintext
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/
|