Мобильная платформа S-MOB получила масштабное обновление: оффлайн-карты, поиск по лицу и новые возможности для
Платформа мобильного видеонаблюдения S-MOB (бренд IPTronic, дистрибьютор «Видеоглаз») получила апдейт, и там есть три вещи, которые наконец-то сделаны правильно.

Стейдж упал. Карты закешировались
Оффлайн-карты: не магия, а нормальный кеш
Раньше карта у оператора превращалась в тыкву при потере связи — типичный фронт без Service Worker. Теперь заявлен полноценный оффлайн-режим с фильтрацией по группам и геозонами на базе последнего известного местоположения устройств. Под капотом это почти наверняка тайл-кеш плюс явная стратегия stale-while-revalidate для метаданных. Если ваш фронт на React/Vue до сих пор тянет геоданные с REST при каждом открытии вкладки — поздравляю, вы уже в хвосте. Минимальный шаблон для Mapbox/Leaflet в оффлайне выглядит примерно так:
```
// service-worker.js — тайлы
self.addEventListener('fetch', event => {
if (/\/tiles\/\d+\/\d+\/\d+\.webp$/.test(event.request.url)) {
event.respondWith(
caches.open('tiles-v1').then(cache =>
cache.match(event.request).then(cached => {
const fetched = fetch(event.request).then(r => {
cache.put(event.request, r.clone);
return r;
});
return cached || fetched;
})
)
);
}
});
```
И не забудьте ограничить размер кеша, иначе браузер сам выкинет всё при достижении лимита квоты — и снова упадёте в оффлайн-ад.
FLV против HLS: latency как религия
Поддержка создания FLV-камер — это костыль родом из 2010-х, но у него низкий latency на фоне HLS. Для пульта охраны секунда задержки критична, а HLS с его чанками по 6 секунд — тормоз для реактивного UI. Если пишете свой видеоплеер под Web — смотрите в сторону WebSocket + MediaSource Extensions или mse-embedded. FLV.js в браузере — рабочий вариант, но учтите: декодер на js выжирает CPU на средних машинах. Для прода с десятками камер одновременно — выносите в WebRTC с SFU, иначе получите fan-out из 50 вкладок с 100% загрузкой ядер.