Stream Video From Raspberry Pi using Kinesis Video Streams

Sunday, May 10, 2020| Tags: raspberry pi, diy, video, streaming, aws

Kinesis video streams is one of the easiest way to stream your videos to internet. We will try it today using a raspberry pi.

I am using the below hardware for streaming video.

Hardware that I will use:

Raspberry pi -

Camera module -


1. On raspberry pi

Enable camera by running below and selecting appropriate options


Install dependencies

sudo apt-get install byacc flex
sudo apt-get install cmake
git clone --recursive

Note: Do not miss –recursive flag. If you miss it it will result in compilation errors later due to missing submodules.


git checkout 5080cba # checking out to this commit will ensure that the steps below will work (Can't guarantee submodules though).
cd amazon-kinesis-video-streams-producer-sdk-cpp/ && mkdir build && cd build

It took 17 minutes to run on my raspberry pi 4b

time make

This took another 1 minute 33 seconds

This will produce some binaries in your build folder like:

  1. kinesis_video_gstreamer_audio_video_sample_app
  2. kinesis_video_gstreamer_sample_app
  3. kinesis_video_gstreamer_sample_multistream_app

You can use the above ninaries to push video streams to a kinesis video stream on AWS.

Let’s set the credentials in environment variables first

export AWS_ACCESS_KEY_ID=<Access Key ID> 
export AWS_SECRET_ACCESS_KEY=<Secret Access Key> 

Now let’s stream

kinesis_video_gstreamer_sample_app <name of your kinesis video stream>

2. On your laptop

Get the stream viewer:

git clone

open the index.html file in browser. Pass the 1. AWS credentials 1. stream name

Click “Start Playback”. You are done.