1.1. Introduction

This page dedicated to understanding of High level design for Continuous Video Recording in R-Pi Zero.

  • CVR uses Kinesis Video Streams and supporting 24/7 video recording support.Allows the feature of storing the recorded content locally or in any AWS server.
  • Supported WiFi connection.
  • v4l2 Driver is used to capture data from RPI-0 camera Device.
  • /dev/video0 is the RPI-0 camera device to capture data.
  • Supported Soc level Gstreamer plugins to capture data from camera device.
  • Supported H264 encoding format.

1.2. Architecture

1.3. Design Considerations

  • 1.3.1. Gstreamer Soc Implementation for RPI-0 Camera

  • Enabled V4l2 driver in part of RPI-0 to capture data from /dev/video0  device.
  • Implemented soc level gstreamer pipeline with v4l2src plugin,omxh264enc plugin and appsink plugin.
  • V4l2src plugin is used to capture raw data from camera through v4l2 driver and transmitted captured raw data into omxh264enc plugin to encode raw data into h264 encoding format.After that transmitted encoded data into appsink plugin to write encoded data into 8080 port of mongoose server.
  • Registered 8080 port in Mongoose server to listen data.

1.3.2. Gstreamer Implementation in CVR

  • Implemented CVR side gstreamer pipeline with souphttpsrc plugin and appsink plugin.
  • Souphttpsrc plugin is getting the encoded data from Mongoose server from 8080 port and formed received encoded data into TS format.
  • TS file is stored in /tmp/cvr/ deirectory in RPI device.


  • No labels