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)

Raspberry Pi Contest

Participated in the
Raspberry Pi Contest