Thursday, September 15, 2022

Raspivid Modification to Display Custom Message as Annotation on Video Feed (Local/Stream)

 




Raspivid Custom Annotations

  • Raspberry Pi distribution is equipped with an executable called raspivid/raspistill which is used to capture and view video/still images from the RPI's CSI camera. The source code for this is available on the internet.
  • It has various options like displaying video on HDMI, running TCP/UDP stream server, capability of reading encoded MP4 streams from the encoder, annotating the transmitted stream, automated still captures, effects, etc.
  • Annotations like an OSD label can be provided on the stream being transmitted. Time annotations, etc can be enabled on the stream/video feed. 
  • The only drawback is that annotations are updated every second on the feed.
  • As there was a need to view various sensor information embedded in the video from a remotely operated vehicle, it would indeed be advantageous to extend raspivid capabilites.
  • As a quick modification was intended, the relevant files were changed to use an IPC (InterProcess Communication) mechanism and any program that would write its string into the IPC entity at approximately 1 second interval could send its information embedded on the video feed to the remote client.
  • A video showing the ultrasonic sensor reading on the front of a vehicle is being embedded in the network stream and is as shown in the video.