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.
Architecture
Image Removed
Design Considerations
Gstreamer
Soc Implementation for RPI-0 Camera
Implementation in CVR
Image RemovedImage Added
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,h264 parser plugin and appsink kvssink 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 h264parser plugin to write encoded data into 8080 port of mongoose server.
Registered 8080 port in Mongoose server to listen data.
Gstreamer Implementation in CVR
Image Removed
parse h264 properties.
Finally h264 encoded data transmitting to kvssink plugin.
Kvssink plugin help to stream data into AWS server
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.