Разные компании уже организуют схемы, позволяющие людям просто принести камеру домой и подключить её к облачному сервису.
Некоторые идут по очень неправильному пути и на камере настраивают адрес сервера на который надо публиковать видео. Хочет этого сервер или не хочет, а видео пойдет. Нам один раз встретилась такая камера и несложно догадаться, что по зашитому в камере адресу уже не было никакого сервера, т.е. фактически камера продавалась уже с нерабочей услугой.
Самый распространенный сегодня способ — это организация OpenVPN туннеля. OpenVPN а не что-то другое, потому что для большинства дешевых камер сегодня прошивка собирается с помощью buildroot — экосистемы для создания прошивок под разные встраиваемые устройства, а в buildroot уже есть openvpn и он очень легко включается.
На камеру каким-то образом прописывается сертификат подключения, адрес openvpn сервера и дальше стриминговый сервер в облаке видит камеру через openvpn сервер и может забирать с неё видео.
Такой способ легко организовать, но на этом его плюсы в целом заканчиваются.
Во-первых OpenVPN фактически требует наличия ещё одного сервера рядом, т.е. удваивает ваши серверные затраты. Возле графы «сервера» рисуем x2.
Во-вторых управление тем, на какие сервера пойдет камера, находится на самой камере. Быстро добавить новый сервер вместо сгоревшего и отправить камеру на него не получится — надо менять DNS, а на пути между вашим DNS-сервером и камерой обязательно появится удобный кеширующий на сутки чужой DNS-сервер, который будет заботливо подставлять старый адрес OpenVPN сервера.
В случае с watcher agent подобная привязка к DNS тоже существует, но всё таки обеспечить failover небольшой виртуалки, на которой запущен только веб-интерфейс и управляющий сервер гораздо проще, чем failover высоконагруженного сервера с толстым каналом.
В-третьих, OpenVPN больше требует ресурсов из-за того, что он делает больше, чем нужно для этой задачи: этот сервер организует полноценный туннель, пропуская трафик через ядро линукса. В случае с watcher agent и wltt server этого не происходит, весь трафик приходит и остается в одном процессе, а при гигабите входящего видео это становится ощутимо и важно.