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 69Next »
Yolo_Joe13 days ago

Works great!

Anyone know how to view it over the internet?

JimL3 Yolo_Joe10 days ago

You will most likely have to go into your router configuration and map the http port on the Pi (probably 80) to an external port. If you map it to a port other than 80, then a user on the 'net would address it as http://123.321.123.3214:8080 for instance, where 123.321.123.3214 (purposely invalid) is your IP address. If you don't know it, use curl to find out. The details are a bit too complex to go into here.


Yolo_Joe JimL38 hours ago
Thanks! It works perfectly! Do you know How to add a password to the stream?

set static ip for you pi and NAT on your router.

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 sat48110 days ago

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

labmice12 months ago

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

AltGrW labmice11 month ago

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

carter54 AltGrW22 days 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 carter5412 days 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.

did not work for me

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

carter5422 days 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!25 days ago

Thanks for the super easy instructions. Really well written.


Screen Shot 2558-03-27 at 4.48.00 PM.png
dsaze2 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 dsaze1 month ago

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

DhruvMC1 month ago

i made a gr8 wiimote control with i combined it with this ITS AWESOMEEE....

ramgarden made it!5 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!

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

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?

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:

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?

mk20011 month ago

why isnt it working on chrome

for michaelv4: sorry for my late response, i didn't visit this pages for a couple of months.....

Now i have 2 webcam connected and i did some work on the conf files so i have a good frame rate on both cam and a delay of less than a second. I don't know how to make a toturial here, if someone help me on this i will share my job with all of you that are interested.

Hello Walter!

I'm very new to RPi. I just finished interfacing a USB webcam as per the above tutorial and other help I found online.
Also, I managed to do the same with the Raspberry Pi Camera Module but for that, I was not running Motion, but was running another service (Mjpeg-streamer)
(I used this tutorial for reference:

Now I had a few of doubts..

1) Could I run the same "motion" service for the other Camera Module (Not USB), just by changing the Device ID in the conf file or something?
2) Basically I need the live video stream of 3 cameras at once. So if (1) mentioned above is possible, I was planning to connect 2 USB Cameras and 1 RPi Camera Module, and run the Motion Service. Could that serve the purpose? If so, what will the changes be in the conf file? Do I need to create three instances of 'videodevice'? How can I set the ports as 8081, 8082 and 8083 for the three devices?

riminsalass1 month ago

I use a camera sony playstation 2 EYE TOY "Bus 001 Device 005 : ID 054c : 0155 Sony Corp." and I did all the configuration request without result.

GANESHA12 months ago

it cool but i wanna do it in my console .

and i have one more doubt how to differentiate if two camera's are connected to one pi how can i differentiate it

GANESHA12 months ago

it cool but i wanna do it in my console .

and i have one more doubt how to differentiate if two camera's are connected to one pi how can i differentiate it

nb.nb.16542 months ago

when i type sudo service motion start i get
etc/init.d/motion: l: /etc/default/motion: X#: not found

MichaelV43 months ago

Hi plinsky, can you share you work with me?

plinsky3 months ago

Hi, great tutorial.

I followed your tutorial and now i have a little webcam installed on my PI and it works great. I made also a NAT to see it on the web and used an android app to see it on the go. I'm still experimenting (...not sure about this word, i'm not english) but soon i will post all steps to share with you all my experiment.

Iancoates1 year ago

Hi, good tutorial.

I tried it and the only thing that appears in the browser is a load of random characters. Could you please post all the other settings you have from step 3.

thanks, Ian

Hi Iancotes, I am also getting these issues of the strings of text when port forwarding. I have other port forwards set up (remote desktop etc) but this one doesn't seem to like it. Two fresh installs, one running over WiFi and the other over LAN. Any assistance would be SUPER!

Inside the network this is cracking software.

JakeB3 bsimpson123 months ago

Hi, this is normally due to some versions needing the webcam image to be contained in an html document and many combinations of browsers e.t.c mean viewing is hard. A fail-safe option is to use VCL media player and selecting, 'play from URL'. Type in eg. http://[yoururl][:portnumber] and you should be good

hope this helped

agasthyahs1210 months ago

Getting an error !!!!

Unable to open video device....

i am using HP usb webcam pro to get video stream


you need to reduce quality in the /etc/motion/motion.conf file as webcam's max is

below 352 x 288

I hate to break it to you, but even though you censored your IP in the address bar, it still shows in the bottom left corner...

1-40 of 69Next »