Picture of Raspberry Pi remote webcam
This will allow you to create a remote webcam for your Raspberry Pi so that you can view it from any computer on the local network. For this instructable you will need:

• Raspberry Pi with an Whezzy Raspbian installed and internet connection established
• Webcam (I use PS3 Eye Camera, but it will work with most USB webcams)
• IP address on your local network (this can be found with the command $ ifconfig and should be something like:
Remove these adsRemove these ads by Signing Up

Step 1: Getting started

Picture of Getting started
Run up your Raspberry Pi to the command prompt

Install the webcam server software using the following command:
$ sudo apt-get install motion

This will take a few minutes to download and install but once it has finished and takes you back to the command prompt we are ready to continue.

Step 2: Configure the software

Picture of Configure the software
Next we need to edit some of the config files so that the motion service will start on run up and be available on local network.

First we will edit the motion.conf file by typing:
$ sudo nano /etc/motion/motion.conf

This is quite a large conf file but the points you need to edit are:
DAEMON = OFF (change to ON)
Webcam_localhost = ON (Change to OFF)

Step 3: Set the service up

Picture of Set the service up
Next we need to enable the Daemon (service):
$ sudo nano /etc/default/motion

start_motion_daemon = no (change to yes)
1-40 of 82Next »
CédricV226 days ago

You can also use Kerberos.io, it's also open-source and a lot more user friendly to install and configure. You can find more information on the website.

Hey Cedric. Saw your work on Kerberos. You've done some amazing work on developing this platform. My question is, will I be able to access my recordings from a remote computer or I'll have to have set a cloud necessarily to do so? I'm familiar with port forwarding so, is it possible to port forward my RPi -running Kerberos- and access it remotely?

sat481 (author) 1 year ago

Hi Ian,

I have tried resetting the remote webcam up on a fresh install of wheezy and as long as you only change the bits mentioned it should work fine. check you have the correct IP address, the only thing I can think that may cause the problem is if the webcam is not compatible but from what I have read then the majority should be fine. The whole file from step 3 is massive but another quick test you can do is try going into port: 8080 which is the config port. So you need to type your IP:8080 in the address bar (for me this is set to See if you can access this and if so check the configuration from there. Hope this helps.


GeorgeT7 sat4813 months ago

Is there any way to change the default port? 8080 and 8081 seem to be occupied in my LAN connection.

redspl GeorgeT711 days ago

Yes, ther is a way. In motion.conf find "port" (ctrl+w in nano)

GeorgeT7 redspl11 days ago


Yolo_Joe3 months ago

Is there any way to modify the resolution? Right now it's 320x240p..

redspl Yolo_Joe11 days ago

In motion.conf file search for width(in nano Ctrl+W). Just set width you want, and then set the height you want(it is right below widht). I recommend 640x480, most webcams works with that resolution.

tllittle3 months ago

I have followed all of the instructions so far. My webcam light will activate after "motion start."

However, I cannot view anything in browser locally, through another machine, with VLC, or any other service. I have enabled port forwarding (and even switched the port number a couple of times). The page simply is not found.

Any thoughts?

redspl tllittle11 days ago

Are you sure you typed correct IP adress? You do not need IP forwarding for this purpose.

redspl made it!12 days ago

Cool tutorial! I made it with the same camera as yours(i have one laying around).

One question: How i can decrease delay? I want to see the stream right before capture, but i have 1s delay. HELP!

JoeriP26 days ago

i'm getting a 404 while installing motion. any idea?

JanuszP1 JoeriP15 days ago

sudo apt-get update

and then try it ;)

I've downloaded earlier version of libmysqlclient18 and had to "apt-get -f install" and then update.

RoboCoder made it!1 month ago

Great tutorial. Worked perfectly with my Raspberry Pi 2 and Logitech webcam.

MatthewG12 made it!2 months ago
Got this going with ease but for the a bit of frustration finding a Web browser that would display the stream. My setup is similar to this picture with the exception that my pi has the UPiS Advanced Uninterruptible Power Intelligent Supply installed. The idea is that I'll set up the camera on a hill overlooking the town I live in and have a link on my website so that people can see what the weather is up to. Now I just need to increase the frame size and decrease the frame rate, and get it to stream live to my website.

KikeV2 months ago

How can I have less delay?

pipala.yadav2 months ago

Hi it was great tutorial its working fine but we need to type the motion start command always is there any code we can browse videos directly raspberry pi board is booted

kaneb19 months ago

it s ok with mozilla firefox.... but the streaming is 3 - 4 seconds dalay ..... is it normal ??? is there an instruction to cut delay ??

cr4qsh0t kaneb13 months ago

try setting v4l2_palette to 1 (or try with any other number? default is 8, had the same lag, set it to 1, lag reduced to about 0.5s instead of 4s. it then also applied the changes to width and height settings which previously didn't do anything).

Kriatyrr3 months ago

At first I thought it didn't work, even though every step went exactly as described. The light on the webcam would light up when Motion is started and go out when I stopped the service. It just wouldn't display, either in browser or VLC. Then I realized I had to include http:// before the IP:port.

labmice15 months ago

This works for me with a logitech webcam connected. How can I put a password on the stream? Thanks

AltGrW labmice14 months ago

you can set .htaccess into this folder, it's a simple login required but works fine

carter54 AltGrW4 months ago

...'you can set .htaccess into this folder, it's a simple login required but works fine'...

Please elaborate - which folder and where / when do you log in?

AltGrW carter543 months ago

# I've created this example using apache2

# create the htaccess file

pico /var/www/webcam/.htaccess

# htaccess content

AuthType Basic

AuthName "Alert!"

AuthUserFile /var/www/webcam/.htpasswd

require valid-user

# create user (replace the USER)

htpasswd -c /var/www/webcam/.htpasswd USER

# now you must configure the file /etc/apache2/sites-available/default

pico /etc/apache2/sites-available/default

# now you add the content below after the original content

Alias /webcam /var/www/webcam

<Directory "/var/www/webcam">

Options Indexes MultiViews

AllowOverride All

Order allow,deny

Allow from all


# After you finish the configuration above, restart the service

service apache2 restart

# and try to access the folder in the browser


# You must see the authentication alert box, put the user that you created and password

Mine isn't working, everything looks correct, but i ain't getting any image on my IP

Are you using Google Chrome? In that case; don't.

BoHerrmannsen4 months ago

did not work for me

just blank screen like there is nothing at the other end. on local lan even

carter544 months ago

Thanks for making such a clear and concise instruction which worked for me first time round. Other web sites have covered this but seemed to have got lost in bewildering complexity. Worked first time for me...thanks. Will try to find the instruction for making the feed visible over the web - securly.

sysnajar made it!4 months ago

Thanks for the super easy instructions. Really well written.


Screen Shot 2558-03-27 at 4.48.00 PM.png
dsaze5 months ago

When I try: 1.) sudo apt-get install motion

everything works perfectly fine except for a single "get" error (error shown in image below).


2) sudo nano /etc/motion/motion.conf (brings up a file with no text within)

3.) sudo service motion start (yields - "motion: unrecognized service")

raspberry pi error.JPG

you need to update your pi, execute the command sudo apt-get update

mk2001 dsaze4 months ago

The file was empty and the service wasnt recognised because the file did not download properly. Check your internet connection.

DhruvMC4 months ago

i made a gr8 wiimote control with

http://www.raspberrypi-spy.co.uk/2013/02/nintendo-wii-remote-python-and-the-raspberry-pi/ i combined it with this ITS AWESOMEEE....

ramgarden made it!9 months ago

I made one of these with the raspberry pi camera module and attached the pi and camera to our Makerbot Replicator2 3D printer so we could remotely watch our prints to check their progress. Thanks for these simple instructions!


Im doing the same thing but im mounting it over our rotary engraver!

garyi sdthedawson4 months ago

Also doing the exact same thing. I hope...

AnshulM ramgarden4 months ago

Hey ramgarden!

Could you give me some details regarding the conf file when you tried it with the Camera Module instead of an USB Camera.

1) what was the videodevice?
eg in this it was videodevice /dev/video0
Did you change it?
2)What was the value for input? (Default is 8)
3) Did you have to make any other changes in the conf file?

ramgarden AnshulM4 months ago

I tried over and over to make it work with the motion application but it just doesn't like the RPi camera module. The best one I've found with the camera module is the MJPEG application: http://blog.miguelgrinberg.com/post/stream-video-from-the-raspberry-pi-camera-to-web-browsers-even-on-ios-and-android

AnshulM ramgarden4 months ago

Yes, I had followed this tutorial already and made it work with MJPEG Streamer. But I need it to work with Motion. Since I need to interface multiple cameras - One USB and one RPi Module. Running the same service Motion and uplinking their live streams to two different ports. Is there no way that's possible?

mk20014 months ago

why isnt it working on chrome

1-40 of 82Next »