The customer requested to implement the firmware for Raspberry Pi 3 Model B+ (Raspi3) based device.
The device shall be used as a streaming point where a network video stream is to be shown on a remote HDMI Display. It should also create a data overlay to be displayed over the HDMI video output. Video from camera is streamed using multicast UDP packets.
The position, data, font color, alignment and some other parameters for each data overlay are received over MQTT.
Device, MQTT Broker and camera run in the same network. By default, the Ethernet adapter of the Raspberry Pi works in DHCP mode. If DHCP server is not available in the network, then a static address is be assigned to the Ethernet interface.
We have prepared rootfs, which contains the latest Linux kernel version 5.4 (LTS), QT 5.12.10 and GStreamer 1.18.
QT and GStreamer are built from source code and integrated into the image. The standard Raspbian toolchain is used.
The QT-application runs as a service and starts on the system boot-up. The application also includes an MQTT library (QMQTT), is able to subscribe to the messages and display the content on the screen. The video stream is displayed by the application using QMediaPlayer. A special script is added to the image which runs on system boot-up and checks whether an IP-address is assigned by DHCP. If such an address is not assigned, a static IP-address is set to the Ethernet adapter.
The Firmware was implemented and field tested by BE.services with the final system. The performance of the video streaming is suitable and data overlays are displayed on the screen correctly.