Upcoming Maintenance Alert:

The UBNT Community will be upgraded at 5pm MDT on April 25th. During this time the community forums will be set to read-only status.

Learn more

×
Reply
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56
Accepted Solution

[Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

[ Edited ]

Video Tutorial

 

 

UPDATED (12/4/2016)

 

RTSP Screen Calculator Attached Below

I had to enclose it into a zip file in order to upload it.

 

Why?

This Tutorial will hopefully help anyone looking to create a cheap RTSP viewer for themselves or clients.  I had to create this for a resturant client that wanted to see certain points of his resturant while he was rolling out pizza dough. 

 

Main Items

 

IMG_20160914_041533.jpgIMG_20160916_015748.jpgBruno-RaspberryPiLR.jpg

----------------------------------------------------------------------------------------------------------------------------

 

1. Download the latest Raspbian img

https://www.raspberrypi.org/downloads/raspbian/

 

2. Download win32diskimager

https://sourceforge.net/projects/win32diskimager/

 

3. After writing the img file to the sd card and booting up the pi, go to terminal window.

 

4. Once in a terminal window type

 

sudo raspi-config

 

 

5. Select these options:

(8) (Advanced Options)

- Then select (A3) “split memory” and type 256 (Then go back to main menu)

 

(4) (Internationalism Options)

- Then change / check date and time to be accurate (Then go back to main menu)

 

(3) (Enable Boot……)

- Then select “Console Text Console”  pick auto login (Then go back…)

 

(1) (Expand Filesystem)

-  Confirm to expand file system, then reboot your pi

 

6. Now that you have booted into console, update your pi (This will take awhile)

 

sudo apt-get update && sudo apt-get upgrade -y && sudo reboot

 

 

7. After your pi reboots, omxplayer and screen need to be installed.  Omxplayer is the program that will display the feeds.  However, omxplayer can only display one stream per console session.  To overcome this we use screen to run omxplayer in “windowed mode”

 

sudo apt-get install omxplayer -y && sudo apt-get install screen && sudo reboot

 

 

8. After your pi reboots, we want to change its ip address.  Open the network configuration file with this command

sudo nano /etc/network/interfaces

 

9. By default the pi is configured to operate in DHCP mode.  In order for this script to work correctly, I have found setting up the pi in Static mode works better.

 

The pi is configured by default as:

 

auto lo

iface lo inet loopback

iface etho inet manual

 

Delete “ iface etho inet manual “

 

Now set we are going to set the address to 192.168.1.77 (You may need to change this depending on your network)

 

Blue text stays the same.  Red is modified text.*

 

auto lo

iface lo inet loopback

 

auto eth0

iface eth0 inet static

address 192.168.1.77

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 192.168.1.1

network 192.168.1.0

broadcast 192.168.1.255

 

10. Now if you reboot your pi, you will have a problem.  You will have not only a static address but also a DHCP address.  We need to disable DHCP all together.  To accomplish this we need to edit a file.  The command below will open that file.

 

sudo nano /etc/dhcpcd.conf 

 

11. Add the line of code below to the bottom of the file we just opened.  This will now disable DHCP for good and you will have one Static IP address.

 

denyinterfaces eth0

 

 

12. To exit the file press [ctrl + x] then press [y] followed by [enter] to confirm.  Now reboot

Your pi.

 

sudo reboot

 

 

13. Next go to your desktop and download putty.  This program will allow us to remotely

manage our pi and allow us to copy and paste, saving lots of time.

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

 

 

14. Now open putty.  Type the ip address you gave your pi in the ip address bar.  Now

click “open”.  If everything went correctly a shell window should open asking for your

Username.

 

Raspberry Pi Default Login;

 

Username = pi

Password = raspberry

 

15. Now we need to create the file that the script will sit in (UPDATED).

sudo nano /etc/init.d/displaycameras

 

 

16. The script below is for a 2x2 camera matrix. At the bottom of the document there are

More scripts for more cameras and different configurations.  I recommend experimenting

with this script first, then moving into more complex screen mapping. Before copying this

Make sure your pi is on a wired connection, NOT WIFI. Next go to unifi video an enable

“Medium RTSP Stream” for your camera.  Set the FPS slider to 30 and the Bitrate under

700 kbps to start.  Now that those are set you are ready to continue.

 

(To copy this script Into putty, highlight the text the press [ctrl + c] on your keyboard to copy to your clipboard. Then right click in putty and it will paste)


(Replace Red text with your RTSP url)

#!/bin/bash 
### BEGIN INIT INFO 
# Provides: omxplayer 
# Required-Start: 
# Required-Stop: 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 
# Short-Description: Displays camera feeds for monitoring 
# Description: 
### END INIT INFO

# Camera Feeds & Positions 
top_left="screen -dmS top_left sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"0 0 960 540\" rtsp:// <...cam1_url...> --live -n -1'"; 
top_right="screen -dmS top_right sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"960 0 1920 540\" rtsp:// <...cam2_url...> --live -n -1'"; 
bottom_left="screen -dmS bottom_left sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"0 540 960 1080\" rtsp:// <...cam3_url...> --live -n -1'"; 
bottom_right="screen -dmS bottom_right sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"960 540 1920 1080\" rtsp:// <...cam4_url...> --live -n -1'";

# Camera Feed Names 
# (variable names from above, separated by a space) 
camera_feeds=(top_left top_right bottom_left bottom_right)

#---- There should be no need to edit anything below this line ----

# Start displaying camera feeds 
case "$1" in 
start) 
for i in "${camera_feeds[@]}" 
do 
eval eval '$'$i 
done 
echo "Camera Display Started" 
;;

# Stop displaying camera feeds 
stop) 
sudo killall omxplayer.bin 
echo "Camera Display Ended" 
;;

# Restart any camera feeds that have died 
repair) 
for i in "${camera_feeds[@]}" 
do 
if !(sudo screen -list | grep -q $i) 
then 
eval eval '$'$i 
echo "$i is now running" 
fi 
done 
;;

*) 
echo "Usage: /etc/init.d/displaycameras {start|stop|repair}" 
exit 1

;; 
esac 

 

 

17. Before this script can be run at startup, the pi needs permissions to access the file and

Run it.

 

sudo chmod 755 /etc/init.d/displaycameras

 

18. Now the script can be added to startup

 

sudo update-rc.d displaycameras defaults

 

19.  Now we have a script setup to pull all of our RTSP streams up on boot.  There is a slight

problem, omxplayer will quite sometimes and or unifi video will drop the streams. To solve this issue we add a cron job to run the repair portion of the script to restart camera feeds that has dropped.  

 

sudo crontab -e

 

 

20. If it asked to choose from 3 different ways to open crontab, select option 2.  Then insert

this at the bottom of the crontab. This will run the script “/etc/init.d/displaycameras repair” every 5 min.  To have it check every 1 min, simply change the 5 to a 1.

 

*/5 * * * * /etc/init.d/displaycameras repair

 

21. Now you should be able to reboot you pi and have four camer feeds working! The great thing is this setup without a monitor should cast $50 - $85.  And the system is professional not bunched together with a ton of parts that were never ment to work together in that way like a chromecast or something of that nature.  It is also cheaper and more reliable than having a windows machine mounting on the back of a monitor. 

 

The next steps are for creating a 6 Cam matrix viewer and setting up a series of cron jobs to turn the monitor off to prevent burn in. 

 

---------------------------------------------6 Cam Matrix--------------------------------------------------

 

22. Start off by opening the camera display file.

 

sudo nano /etc/init.d/displaycameras

 

23. Now delete everything in the file and replace with this 6 Cam Matrix Code.  Replace the red text with your address.

 

#!/bin/bash
### BEGIN INIT INFO
# Provides: omxplayer
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Displays camera feeds for monitoring
# Description:
### END INIT INFO

# Camera Feeds & Positions

#First Colmn
large_left="screen -dmS large_left sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"0 0 1280 720\" rtsp://192.168.1.168:7447/56fc759be4b01f1769f35f7f_1 --live -n -1'";
mid_lcenter="screen -dmS mid_lcenter sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"640 720 1280 1080\" rtsp://192.168.1.168:7447/56fc791fe4b01f1769f35fad_1 --live -n -1'";
bottom_left="screen -dmS bottom_left sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"0 720 640 1080\" rtsp://192.168.1.168:7447/56fc791fe4b01f1769f35fae_1 --live -n -1'";

#Second Colmn
top_right="screen -dmS top_right sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"1280 0 1920 360\" rtsp://192.168.1.168:7447/56fc795be4b01f1769f35faf_1 --live -n -1'";
mid_rcenter="screen -dmS mid_rcenter sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"1280 360 1920 720\" rtsp://192.168.1.168:7447/56de2e1888117cf574015d71_1 --live -n -1'";
bottom_right="screen -dmS bottom_right sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"1280 720 1920 1080\" rtsp://192.168.1.168:7447/56de2e1888117cf574015d71_1 --live -n -1'";


# Camera Feed Names
# (variable names from above, separated by a space)
camera_feeds=(large_left mid_lcenter bottom_left top_right mid_rcenter bottom_right)

#---- There should be no need to edit anything below this line ----

# Start displaying camera feeds
case "$1" in
start)
for i in "${camera_feeds[@]}"
do
eval eval '$'$i
done
echo "Camera Display Started"
;;

# Stop displaying camera feeds
stop)
sudo killall omxplayer.bin
echo "Camera Display Ended"
;;

# Restart any camera feeds that have died
repair)
for i in "${camera_feeds[@]}"
do
if !(sudo screen -list | grep -q $i)
then
eval eval '$'$i
echo "$i is now running"
fi
done
;;

*)
echo "Usage: /etc/init.d/displaycameras {start|stop|repair}"
exit 1

;;
esac

 

24. Save and exit the display camera file and now lets go back into the cron tab file.

 

sudo crontab -e

 

 

25. Delete the one line of code at the end and replace with this. 

    Line One : stops the camera streams (12:00 am)

    Line Two : Turns off the video output to the monitor (12:02 am)

    Line Three : Turns the output to the monitor back on (6:00 am)

    Line four : Starts the camera script again (6:02 am)

    Line five : Reboots the Pi once a week at 6:00 am

    Line six : Runs the repair script ever minute between 6 am and 11 pm

	0 0 * * * /etc/init.d/displaycameras stop
	2 0 * * * /opt/vc/bin/tvservice -o
	0 6 * * * /opt/vc/bin/tvservice -p
	2 6 * * * /etc/init.d/displaycameras start
	0 6 * * 1 sudo reboot
	*/1 6-23 * * * /etc/init.d/displaycameras repair

 

----------------------------------------------------------------------------------------------------------------------------

 

 

Resources:

https://community.spiceworks.com/how_to/123787-raspberry-pi-powered-surveillance-camera-monitoring-d...

 

https://www.bitpi.co/2015/03/18/raspberry-pi-surveillance-monitor/

Attachment

Accepted Solutions
Emerging Member
Posts: 43
Registered: ‎11-17-2014
Kudos: 15
Solutions: 2

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

I've spent quite a bit of time with this today and seem to have it working well (only time will tell!)

 

I'm running a 6 camera grid.

 

I found a typo in the code for the first large camera.  The line for the first camera has a variable of 'top_left'  this should say 'large_left'.  When the repair cron job would run it would start a new large left camera every time as it didn't show in the list.  Here is the incorrect code:

 

 

#First Colmn
large_left="screen -dmS top_left sh -c 'omxplayer...........

 

 

After rebooting I still had issues with cron job. I disabled the cron job and rebooted and let the streams start.  I then ran.

 

 

pi@raspberrypi:~ $ screen -list
No Sockets found in /var/run/screen/S-pi.

So no cameras showed and it started a second overlay

 

 

running as sudo showed the cams

 

 

pi@raspberrypi:~ $ sudo screen -list
There are screens on:
        2215.bottom_right       (04/06/16 09:13:02)     (Detached)
        2186.mid_rcenter        (04/06/16 09:13:01)     (Detached)
        2157.top_right  (04/06/16 09:13:01)     (Detached)
        2128.bottom_left        (04/06/16 09:13:01)     (Detached)
        2106.mid_lcenter        (04/06/16 09:13:01)     (Detached)
        2084.large_left (04/06/16 09:13:01)     (Detached)
6 Sockets in /var/run/screen/S-root.

 

So i've changed the repair part of the script to include sudo and its running well.

 

 

# Restart any camera feeds that have died
repair)
for i in "${camera_feeds[@]}"
do
if !(sudo screen -list | grep -q $i)
then
eval eval '$'$i
echo "$i is now running"
fi
done

Another change I made was to select a non existant audio stream so there was no audio. This is done with '-n -1'

 

 

I was testing this from home over a 30Mbps/10Mbps VPN connection to work where the NVR (Virtual Ubuntu on Hyper-V) is.  I was getting a lot vertical lines on the video like others have said.  When initally testing at work I never had these lines.  I thought is was a bandwidth issue but could see the Pi was only pulling 5Mbps.  I have no issue with chrome on a pc pulling about 11Mbps when using live view.

 

I could see there was UDP requests from the Pi but most of the traffic was TCP. After looking at a post on here which referred back to the omxplayer github page I've used another flag on omx player to only use TCP.  As soon as I did this I had clean video.  Yes!!

 

Here is my code, my changes are in red.

 

 

#!/bin/bash
### BEGIN INIT INFO
# Provides: omxplayer
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Displays camera feeds for monitoring
# Description:
### END INIT INFO

# Camera Feeds & Positions

#First Colmn
large_left="screen -dmS large_left sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"0 0 1280 720\" rtsp://192.168.70.8:7447/a08ae983-457f-30fa-912a-9af1ce83326b_1 --live  -n -1'";
mid_lcenter="screen -dmS mid_lcenter sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"640 720 1280 1080\" rtsp://192.168.70.8:7447/178c4047-8681-3218-995c-f0bbcbb5dab6_2 --live -n -1'";
bottom_left="screen -dmS bottom_left sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"0 720 640 1080\" rtsp://192.168.70.8:7447/78f9c6fc-ec5c-3c66-903e-2ccf7b50cb62_2 --live -n -1'";

#Second Colmn
top_right="screen -dmS top_right sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"1280 0 1920 360\" rtsp://192.168.70.8:7447/94488d32-bfc0-35e1-945a-0cdc4ef107c3_2 --live -n -1'";
mid_rcenter="screen -dmS mid_rcenter sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"1280 360 1920 720\" rtsp://192.168.70.8:7447/2682a07f-7b32-3fab-83d9-ad872b81acd5_2 --live -n -1 '";
bottom_right="screen -dmS bottom_right sh -c 'omxplayer --avdict rtsp_transport:tcp --win \"1280 720 1920 1080\" rtsp://192.168.70.8:7447/6585d289-f62f-3543-b123-97eda3d5c6be_2 --live -n -1'";


# Camera Feed Names
# (variable names from above, separated by a space)
camera_feeds=(large_left mid_lcenter bottom_left top_right mid_rcenter bottom_right)

#---- There should be no need to edit anything below this line ----

# Start displaying camera feeds
case "$1" in
start)
for i in "${camera_feeds[@]}"
do
eval eval '$'$i
done
echo "Camera Display Started"
;;

# Stop displaying camera feeds
stop)
sudo killall omxplayer.bin
echo "Camera Display Ended"
;;

# Restart any camera feeds that have died
repair)
for i in "${camera_feeds[@]}"
do
if !(sudo screen -list | grep -q $i)
then
eval eval '$'$i
echo "$i is now running"
fi
done
;;

*)
echo "Usage: /etc/init.d/displaycameras {start|stop|repair}"
exit 1

;;
esac

 

 I've taken the Pi back to work and connected it to a screen. Will see if its still functioning ok on Tuesday when I'm back at work.

View solution in original post


All Replies
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

I have one rPI B+ laying around ... I will try this when I find some time. 

 

Thanks boss Heart Thumbsup Driving

CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Let me know how it goes.

Cheers
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

[ Edited ]

it works

 

- Jessie Lite

- 2 medium streams at full quality

- ethernet

- DHCP enabled

 

HTOP

- ~40% CPU

- utilized 50MB RAM

 

step 18. doesn't work for me , after sudo reboot  the script does not start automatically ... I must manually start the script. Dunno what's wrong, triple checked everything. :/

 

"IMG_20160422_013832.jpg

 

EDIT: ok I probably found the problem

https://community.spiceworks.com/how_to/123787-raspberry-pi-powered-surveillance-camera-monitoring-d...

"I found that if I did not set a static IP address, Omxplayer did not load on startup. I had enabled "Wait for Network at Boot" in raspi-config, but it did not help."

CCNA1, CCNA2 (ICND1)
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

1. sudo raspi-config
2. Wait for network to boot

Strangely after like 3-4 minutes the feed appears by itself. I don't know whether it's the cron repair or something is happening in the background. But yeah it works. Man Happy
CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Yeah if you don't set it to static it doesn't work. I will edit that. Thanks for the info.
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Well , it does work with DHCP enabled. You just need to "wait for network to boot" and then wait like 3-4 minutes after the console appears. Could you try ? Works for me. Man Happy

CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

I did have that problem when I first set it up. I'll give it a shot. But if static IP fixes/speeds it up then why set DHCP?
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Network policy.
CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Gotcha
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

[ Edited ]

I have issues. I am running 2x RTSP streams twice. in a 2x2 matrix. The bandwith starts at 1.9Mbit/s

After a while the picture starts to blink and go completely mad. But I notice increase in bandwith to 3.4Mbit/s and as the other stream starts to go mad too the bandwith climbs. It completely corrupts the rtsp streams from the NVR. I had to soft reboot the cameras in order it to work properly again. I suspect the cron repair command duplicates TCP sessions until it kills the streams.

 

I am running vnstat via putty and htop too

 

vnstat -i eth0 --live
Monitoring eth0... (press CTRL-C to stop)

rx: 3.47 Mbit/s 486 p/s              tx: 5 kbit/s 4 p/s

 

 

 

This is how it looks like when all 4 go mad. I am using a small 15" EIZO IPS from 2002 beside my desktop to monitor the PI. The 46" TV is downstairs. Got tired running around the house ,lol.

IMG_20160423_165551.jpg

Video

https://www.dropbox.com/s/69an7rgiv1vjsl8/VID_20160423_182846.mp4?dl=0

 

If I step in time and I issue "/etc/init.d/displaycameras stop" then "/etc/init.d/displaycameras start" manually the picture is ok for another 5minutes or so then it starts again.

 

 

UPDATE: Now I disabled the cron job and it seems to be working. Steady RX at 1.90Mbit/s no blinking ,streams are ok, going to leave it sit for an hour or so. 

 

UPDATE2: after disabling/removing the cron job (repair) the streams does not load after reboot at all. No omxplayer process running at all. You just might have been right with the static ip address. As I enabled the cron job and left the config the streams started a minute later as I set it. So...

 

 

 

 

CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Did you change the names of the cameras at all?
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Also, what is your RTSP at? Medium at 500 kbps?
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

[ Edited ]

10FPS 1500kbps 720x400 MEDIUM

15FPS 744Kbps  640x360  LOW

CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Well that should be fine. Have you modified the script besides the RTSP addresses.
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

[ Edited ]

haven't touched the /etc/init.d/displaycameras  only the rtsp addresses and added one more flag (--vol -6000) to omxplayer nothing more

CCNA1, CCNA2 (ICND1)
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

[ Edited ]

can you make a script to run the displaycameras in /etc/network/if-up.d/ ?

 

my friend suggested also  sudo /etc/init.d/displaycameras defaults 99 but that did not work for me either

CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

I am new to Linux. Please explain.
Member
Posts: 313
Registered: ‎08-31-2014
Kudos: 73
Solutions: 5

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

I will try to figure it out. I don't know either. Man Wink

CCNA1, CCNA2 (ICND1)
Emerging Member
Posts: 73
Registered: ‎07-16-2014
Kudos: 56

Re: [Tutorial] RTSP Raspberry Pi B+ Viewer [6-Cam] [4-Cam]

Best of luck
Reply