Raspberry Ninja quick start

August 3, 2026 ยท View on GitHub

1. Install

The basic non-interactive installer installs dependencies and clones the repository when needed:

curl -sSL https://raw.githubusercontent.com/steveseguin/raspberry_ninja/main/install.sh | bash
cd ~/raspberry_ninja

For configuration prompts and optional auto-start, download and run the installer interactively instead:

wget https://raw.githubusercontent.com/steveseguin/raspberry_ninja/main/install.sh
chmod +x install.sh
./install.sh

On a Pi Zero 2 W, use the low-memory installation guide.

2. Publish a test stream

Start with a small synthetic stream so camera and audio drivers cannot hide a signaling problem:

python3 -u publish.py \
  --test --h264 --noaudio \
  --width 640 --height 360 --framerate 15 --bitrate 500 \
  --streamid rn-test \
  --password false

3. View it

Open:

https://vdo.ninja/?view=rn-test&password=false

The terminal should report ICE connected and a non-zero bitrate. Stop with Ctrl+C.

--password false is only for a controlled first test. It disables VDO.Ninja's additional application-level encryption. For deployment, use the same strong password in the publisher, receiver, and browser URL.

4. Add real hardware

List cameras and audio devices before choosing them:

v4l2-ctl --list-devices
v4l2-ctl -d /dev/video0 --list-formats-ext
arecord -l

Then replace --test with the verified input, for example --v4l2 /dev/video0. Keep the low settings until remote playback is stable.

Next: documentation index, operations, troubleshooting, or python3 publish.py --help.