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'


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:


Check and write down the inet addr at eth0

Step 6: Configure Your Router

- Open a Web browser

- Type your router ip address ( ).

- 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: (Your local Raspberry Pi IP Address)

Enabled: checked


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)

<p>wow really nice and easy to do, love it,</p><p>Thanks</p>
<p>I just came across this Instructable because I am looking at ways to implement web streaming. The procedure looks pretty straight forward.</p><p>But I was struck by the fact that neither the author nor other Pi fanatics had responded to the questions asked. </p><p>As one who has asked help from a number of forums, and usually received much appreciated help, I am sensitive to this subject and can't help but find fault here.</p><p>Wish I could help, but i haven't even sampled the Pi yet :-)</p>
<p>thanks for</p><p>the nice article great work keep it up</p><p>You Can also read:</p><p>http://www.holiimagess.com</p>
<p>can someone help me with next step. Once these are written in terminal, do i: Writeout, read file, justify?? forgive me, i am new to raspberry world. I need some more literal instructions</p>
<p>This is a great solution to the delay using VLC, not so bad getting it going either.</p>
Does it stream live audio?
<p>I was wondering if this is applicable in USB cameras, and the code on how to enable it,</p><p>Any help would gladly be appreciated.</p>
<p>This is excellent stuff. I was wondering what do I have to run in order to use uvc driver instead of raspicam/camera module. </p><p>I have successfully set up the Uv4l server and I can reach it at <a href="http://my_RPI_address:port." rel="nofollow"> http://my_RPI_address:port. </a> </p><p>I have also installed the other modules including UV4L-uvc but I'm stack into what I have to do to run the service right now. </p><p>My usb cameras are capable of delivering H.264 streams so I'd also wanted to take advantage of this.</p><p>Any help would be greatly appreciated.</p>

About This Instructable




More by JoseBarreiros:Trigger a Webcam with a button and Raspberry Pi Raspberry Pi Video Streaming South Made 
Add instructable to: