Raspberry Pi Video Streaming
by JoseBarreiros in Circuits > Raspberry Pi
179788 Views, 152 Favorites, 0 Comments
Raspberry Pi Video Streaming
This instructable will show how to stream a Raspicam to a web using a Raspberry Pi and the UV4L driver.
Material
- Raspberry Pi or Odroid-W Running Raspbian
- Raspicam
- Router
- Ethernet Cable
Enable Raspicam
Before starting to configure the Raspberry, you'll need to enable the Raspicam CSI port and expand the root filesystem.
First, connect the Raspicam and the Raspberry to a router using an Ethernet cable.
Then, power the Raspberry
Open the terminal and run:
$sudo raspi-config
Select "Enable Camera" and then "Enable"
Select "Expand Filesystem"
Installing Raspicam Driver
To install the uv4l driver, open the terminal and run the following commands:
$ wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc
Add the following line to the file /etc/apt/sources.list :
$sudo nano /etc/apt/sources.list
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install uv4l uv4l-raspicam
$ sudo apt-get install uv4l-raspicam-extras
$ sudo apt-get install uv4l-server
$ sudo apt-get install uv4l-uvc
$ sudo apt-get install uv4l-xscreen
$ sudo apt-get install uv4l-mjpegstream
$ sudo reboot
Source: http://www.linux-projects.org/modules/sections/ind...
Start the Streaming Server
Open the terminal and run the following commands:
$sudo pkill uv4l (Optional)
$sudo uv4l -nopreview --auto-video_nr --driver raspicam --encoding mjpeg --width 640 --height 480 --framerate 20 --server-option '--port=9090' --server-option '--max-queued-connections=30' --server-option '--max-streams=25' --server-option '--max-threads=29'
Notes:
The --port=9090 is the local IP port. You can use any port you like.
The --max-streams=25 is the maximum simultaneous streams.
Find Raspberry Pi Local IP Address
Open the terminal and run:
$ifconfig
Check and write down the inet addr at eth0
Configure Your Router
- Open a Web browser
- Type your router ip address ( http://192.168.1.1/ ).
- Router login. If you're using Linksys router, the user and pass could be "admin"
- Port forward your Raspberry Pi IP address.
If your using Linksys router:
- Click "Application&Gamming" Tab
- Click "Simple Port Forwarding" Tab
- Configure the following parameters:
External Port: 9090 (Public IP port to reach your Raspberry stream)
*Make sure your choosen port is Open with http://mxtoolbox.com/PortScan.aspx . If it's not, call your internet provider to open the port.
Internal Port: 9090 (Raspberry Pi streaming port)
Protocol: Both
To IP Address: 192.168.1.104 (Your local Raspberry Pi IP Address)
Enabled: checked
Resources
How to find your router IP address: http://portforward.com/networking/routers_ip_addre...
Port Forwarding: http://setuprouter.com/router/cisco/linksys-e1200/...
Final Test
To see the streaming follow the next steps:
- Open a browser
- Type your public IP follow by the external/public port (http://Your public IP:9090/stream)