I used motioneyeos for a number of years on Raspberry Pi’s (as both a Fast Network Camera and a NVR on separate devices) and while it was helpful for live viewing, the RPI really struggled on the recording frame rate.
I have since invested in a professional NVR but since I had the RPI’s lying around I decided to set them up to stream on my network and let them be captured by my new NVR or any other device that I want.
Start with a fresh install on the RPI and run the below commands:
raspi-config #enable the camera if not done so already sudo apt-get install ntpdate sudo apt-get install vlc
Create a file on the Desktop called stream-rtsp.sh as per the below:
nano stream-rtsp.sh
!/bin/bash raspivid -o - -t 0 -w 1296 -h 972 -fps 8 -b 2500000 -rot 180 -a 12 | cvlc -vvv stream:///dev/stdin --sout '#rtp{access=udp,sdp=rtsp://:8554/stream}' :demux=h264
Make the file execturable:
chmod +x stream-rtsp.sh
Test the script by running it manually:
./stream-rtsp.sh
Making the script run on startup by creating the file:
sudo nano /etc/systemd/system/stream-rtsp.service
[Unit] Description=auto start stream After=multi-user.target [Service] Type=simple ExecStart=/home/pi/stream-rtsp.sh User=pi WorkingDirectory=/home/pi Restart=on-failure [Install] WantedBy=multi-user.target
Set the service to auto start:
sudo systemctl enable stream-rtsp.service
Reboot the system and confirm the system started the service by:
sudo systemctl start stream-rtsp.service
Now lets check if the device is successfully streaming by on a different device launching VLC and navigating to Media –> Open Network Stream, enter the below (modify for your IP address) and click play:
rtsp://192.168.1.xxx:8554/stream
You should now see your camera screen. I will show you how to add this to Hikvision NVR in a later post.