Introduction: Raspberry Pi Video Streaming
This instructable will show how to stream a Raspicam to a web using a Raspberry Pi and the UV4L driver.
Step 1: Material
- Raspberry Pi or Odroid-W Running Raspbian
- Raspicam
- Router
- Ethernet Cable
Step 2: 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"
Step 3: 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...
Step 4: 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.
Step 5: Find Raspberry Pi Local IP Address
Open the terminal and run:
$ifconfig
Check and write down the inet addr at eth0
Step 6: 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/...
Step 7: 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)