Hi! This is the last thing of note running on the camera server- the video service daemon. This daemon handles requests for video from the iOS and macOS apps that are received over the Internet via the gRPC library. Here’s a diagram:
Incoming RPC calls are received from the iOS and macOS apps over an SSL channel. The sender is authenticated, then queries are executed in the database. The results of the queries are sent back, usually as stream replies (multiple responses) to the RPC calls. These reply streams are received by the iOS and macOS apps and the video or motion events are displayed. The video service daemon is multi-threaded to support the multiple services needed for the iOS and macOS apps and is written entirely in C++.