To create a one-box solution (referred to as the Display Controller in this document) that can direct a (networked) camera’s audio/video stream to a directly connected HDMI display.
The Display Controller could be a standard off-the-shelf NUC device, which connects to the LAN via ethernet or WIFI. The various cameras can potentially stream over the LAN and the Display Controller can control and switch between various streams, potentially even composite multiple streams into a single (multi-video) display.
A web application running on the Display Controller, which can be accessed from any computer connected to the same LAN, would provide administrative control over the display. The Administrative interface would run entirely in the browser with no additional requirements on the host machine.
The Display Controller could run a simple mDNS server (avahi-daemon) and be accessible in the LAN via DNS name and hence will have no need to have a fixed IP address. This mDNS name could be set via the Admin App.
The following diagram illustrates a high-level idea of the various software modules running on the Display Controller.
The media streams enter the Transport Demux module, which extracts the media content from the network streams (usually RTMP or RTP). The streams are sent upstream to the Decoder module which chooses the correct decoders for the streams (the information usually provided by the Transports). The Decoder module also syncs the audio-video streams before sending them to the HDMI port.
The Camera Control module provides basic camera controls like Power-On/Off, Pan/Tilt/Zoom, or other support control operations.
The Admin Web App provides the overall administrative control of the Display Controller and can provide functionalities like:
· Stream previews of multiple cameras in a single window
· PTZ control of cameras
· Choose which camera to stream on the HDMI display
· (perhaps) composite multiple streams into a single display and send to HDMI
· … and any additional configurations required
This is an initial recommendation of the software stack that we propose for the solution.
Linux server edition (no GUI)
FFMPEG or GStreamer-based C/C++ code. The advantage is the availability of open-source decoders
Node.JS (part of the PTZ platform already created by Antares Tech)
Admin Web App
Node.JS + ReactJS