====== Облік відеоспостереження aka Visor ====== ===== Призначення ===== * Тарифікація наданих користувачам послуг відеоспостереження * Надання можливості бандлування цих послуг з існуючими обліковими записами інтернету * Забезпечення прозорості тарифікації послуг відеоспостереження для користувача * Інтеграція із зовнішніми NVR на тему розмежування прав користувачів ===== Суть ===== * Кожна камера **є сама по собі користувачем інтернету** * У будь-який момент ви можете зробити з будь-якого користувача "камеру" * У будь-який момент ви можете прикріпити цю "камеру" до будь-якого існуючого користувача відеоспостереження * Кожна камера тарифікується власне "як інтернет" відносно її тарифного плану. * "Користувачі відеоспостереження" - це абсолютно окрема сутність, яка потрібна тільки для зв'язку камер "з чимось" * У "користувача відеоспостереження" може бути зв'язок у вигляді основного облікового запису у вигляді реального користувача інтернету або навіть камери (яка теж користувач) * У основного облікового запису, в профілі/кабінеті будуть відображатися всі пов'язані камери а також з цього облікового запису, будуть зніматися кошти в разі потреби * Для користувачів відеоспостереження автоматично генеруються логіни/паролі на DVR вигляду view[id]/циферки (так, так зручніше набирати на телефонах) * На даний момент реалізована інтеграція з NVR на базі WolfRecorder та Trassir Server. * Якщо у вас виникає питання "а як же мій Dahua/Hikvision/Tyto/Partisan? Чому так дорого?" - співчуваємо, це означає лише те, що у вас відбувається критична помилка: "у вас не достатньо грошей, щоб надати нормальні послуги відеоспостереження". ===== Початкове налаштування ===== В [[alteriniconf|alter.ini]] ; Вмикаємо Visor VISOR_ENABLED=1 ; Режим нарахування коштів Visor. 1 - за замовчуванням, камери в пріоритеті гроші забираються з головного акаунту нескінченно, щоб забезпечити ; безперервну роботу всіх пов'язаних камер. Заганяємо головний обліковий запис у глибокий мінус. ; 2 - сервіс інтернету головного облікового запису в пріоритеті. Нарахування коштів на користь камер буде відбуватися лише поки на рахунку користувача ; залишається коштів більше за нуль. VISOR_CHARGE_MODE=1 ; Показуємо у профілі основного користувача, що він має послуги відеоспостереження. VISOR_IN_PROFILE=1 ;Використовувати кешовані дані користувачів чи отримувати з БД їх щоразу? Про продуктивність. VISOR_CACHED_USERDATA=1 В [[userstats|userstats.ini]] VISOR_ENABLED=1 API_URL="http://127.0.0.1/billing/" API_KEY="UBxxxxxxxxxxxxxxxxxxxxxxxx" В **crontab**: 40 23 * * * /bin/ubapi "visorcharge" Так, зняття коштів на користь камер з основного облікового запису, передбачається до нарахування коштів за інтернет в останній день місяця. ===== Використання ===== Тиць {{::visor0.png|}} Додаємо DVRи на яких житимуть камери {{::visor1.png?600|}} Реєструємо користувача відеоспостереження, якому належать камери {{:visor2.png?600|}} І вписуємо або вибираємо "з камер" йому головний обліковий запис. {{::visor3.png?600|}} Можливість вибрати обліковий запис камери, як головний потрібна для тих випадків, якщо у користувача взагалі немає наданого вами інтернету (наприклад це якесь будівництво, гаражі або відеоспостереження за дитячим майданчиком або собачою будкою). Призначення однієї з камер на цьому об'єкті дозволить вносити кошти для функціонування всіх пов'язаних камер лише на основний обліковий запис. Далі просто реєструємо камеру як звичайного користувача {{::visor4.png?600|}} Припустимо, вона у вас забиратиме інтернети отримуючи адресу по DHCP. Далі робимо з цього користувача камеру в кілька кліків {{:visor5.png?600|}} І присвоюємо її відразу ж нашому користувачеві відеоспостереження {{:visor6.png?600|}} Все готово. Тепер камера тісно пов'язана з користувачем відеоспостереження і зможе, коли їй потрібно знімати кошти з основного облікового запису для продовження своєї роботи. {{:visor7.png?600|}} Основний користувач, у свою чергу, повинен лише поповнювати свій рахунок на потрібну суму. У його профілі тепер світиться індикація, пов'язаного з ним "користувача відеоспостереження" {{::visor8.png?600|}} В [[userstats|кабінеті користувача]] він може ознайомитися з підключеною у нього послугою відеоспостереження, кількістю камер і тому, як і куди, йому за це все платити: {{::visor9.png?600|}} Ось якось так виглядає зняття коштів камерами з основного акаунту в "русі коштів": {{:visor10.png?600|}} Загалом це все, що відбувається щодо тарифікації. Завдання користувачів - оплачувати послуги зберігання вами їхніх даних на ваших NVR, ваше завдання тарифікувати кожну камеру.\\ У вас може виникнути питання "і це все?" Ні, звичайно ж, не все. Ми ж любимо красиві та автоматизовані рішення. Читаємо далі. ===== Інтеграція з Trassir Server ===== Призначена для зберігання відеоданих на таких [[https://trassir.ua/ua/product/reestratori/|пристроях]] під управлінням TRASSIR OS і включається однією опцією **alter.ini**: ;Чи включено інтеграцію з NVR на базі Trassir Server? TRASSIRMGR_ENABLED=1 ;Чи використовувати HLS для прев'ю каналів на TrassirNVR? (якщо вимкнено - використовуватиметься MJPEG) TRASSIRHLS_ENABLED=0 І РАПТОВО панель контролів VISOR починає виглядати наступним чином {{:visor11.png?600|}} Реєструвати камери та пов'язаних з ними користувачів на NVR Trassir можна прямо з інтерфейсу редагування камери в декілька кліків за допомогою самоочевидного візарду {{::visor12.png?600|}} {{::visor13.png?600|}} {{:visor14.png?600|}} Слід також помітити, що станом на стабільний реліз Ubilling 1.0.5 iris автодетектування моделі камери не працює з невідомих причин причини зламаності API Trassir SDK. Тому для тимчасового спрощення вибору моделей камер, додана механіка "камер із зірочкою". Зазирніть в **content/documents/visormodels/** і вам відразу стане зрозуміло, за яким принципом моделі камер конкретного вендора розміщуються вгорі списку і позначаються як "ті, що часто використовуються" зірочкою. Стоп, а для чого ми реєстрували камеру на NVR? А потім, щоб вона таки взяла і з'явилася на реєстраторі, породивши "канал", яким ми можемо вже більш-менш керувати з інтерфейсу Ubilling. {{:visor15.png?600|}} Так, "жовтенькі" канали - не привласнені користувачеві, зелененькі - вже навішені на когось. Зв'язок канал-користувач теж відбувається між каналом на конкретному DVR та "користувачем відеоспостереження". Робиться це з редагування користувача чи у інтерфейсі редагування каналу. При переході до інтерфейсу редагування каналу з профілю користувача {{:visor16.png?600|}} в інтерфейсі каналу відразу буде обрано користувача з профілю якого було здійснено перехід в інтерфейс редагування каналу, для мінімізації кількості кліків {{::visor17.png?600|}} Коротше, принцип навішування каналів користувачів відеоспостереження наслідує концепцію вибору з "нічийних" ONU модулю [[ponizer|ПОНізатор]]. {{::visor18.png?600|}} Як наслідок всіх цих рухів тіла, користувач відразу ж у себе в кабінеті отримує додатковий функціонал за попереднім переглядом присвоєних йому каналів в різній якості, можливості завантаження потрібного ПЗ і список даних для доступу до NVR на яких знаходяться дані з його камер. {{:visor19.png?600|}} {{::visor20.png?600|}} Так, на кожного користувача ви можете навішувати скільки завгодно камер та каналів. Так, ще раз нагадуємо - "камери це про тарифікацію", а "канали це про перегляд і доступ". Єдине обмеження на даний момент - камера або канал можуть бути присвоєні лише одному конкретному користувачеві в той самий момент часу. Заміна зв'язаного користувача каналу, робиться просто переклікуванням на потрібного в інтерфейсі редагування каналу. {{::visor21.png?600|}} {{::visor22.png?600|}} Стопе. А що у кабінеті у розділі "завантаження" відеоспостереження? А ось що: {{:visor23.png?600|}} У що автоматично виливається ця **особлива вулична магія** на самому реєстраторі з погляду адміністратора: {{:visor24.png?600|}} Камери та відповідні канали вже автоматично зареєстровані {{:visor25.png?600|}} На реєстраторі вже доданий користувач з максимально обкусаними правами, що дозволяють лише дії перегляду {{:visor26.png?600|}} Йому вже навішано ACL для доступу тільки до "його" каналів. {{::magicmeme.gif|}} А ось все, що бачить і може зробити з реєстратором користувач, при заході зі своїм логіном viewXX {{:visor27.png?600|}} {{:visor28.png?600|}} Власне цю ж картину він спостерігатиме і у своєму прикладному ПЗ: {{::visor30.jpg?600|}} А так, ще ми можемо швиденько проконтролювати самопочуття наших NVR: {{::visor29.png?600|}} ===== Інтеграція з WolfRecorder ===== Документація буде трішки згодом.