How to set up livestream Raspberry Pi security camera
After you record an individual image using your webcam / camera (USB), you probably want to see the live image as well. This can take place on smartphones or on PCs from outside the home network. The article will show you how to configure livestream Raspberry Pi security camera.
The great thing is that almost any USB camera (as well as a webcam) can be used. Depending on the location, for example, a camera without an infrared filter may be more useful for night recording.
Equipment required
If you want to connect a USB camera, the Raspberry Pi obviously has a blank USB port. However, you can also use the official camera, available in two versions:
- The green standard version has 8MP : Can record videos at 1080p. Because it is equipped with an infrared filter, it is particularly suitable for recording daylight or where there is enough light radiation.
- Black NoIR version : The specifications (resolution, etc.) are the same, but no IR filter is installed, which makes it better to record bad lighting conditions. This option is especially recommended for dark scenes.
Both cameras can be directly connected via CSI connectors and do not use USB ports. Newer Zero models (from 2nd generation) now also have a CSI port.
Also, any USB webcam can be used as long as the corresponding drivers for Linux are available. If the Raspberry Pi doesn't have a built-in WiFi adapter, it needs to be retrofitted as network connection or the Internet cannot be avoided.
Prepare for the livestream
Before activating the Raspberry Pi camera stream or USB webcam, you need to update the packages:
sudo apt-get update sudo apt-get upgrade
You can then install the Motion tool, which makes livestreaming possible.
sudo apt-get install motion -y
The installation will take a while.
If everything still works so far, the camera can be connected. If you are using a USB webcam, you can check if it has been detected:
lsusb
If no special driver is required, all connected cameras / video devices will be displayed with the following command:
ls /dev/video*
If you are using one of the official camera modules, it is important to do the following for the camera to be displayed immediately.
sudo modprobe bcm2835-v4l2
If only a single Raspberry Pi / webcam camera is connected, using / dev / video0 , the device will be assigned. If several devices are connected, you must select the device to stream.
Configure livestream Raspberry Pi
For the steps to set up some subsequent settings, we need to see the camera details:
v4l2-ctl -V
For the USB webcam for example, the article author received the following output. We will immediately specify the information for resolution, etc. in the configuration file.
pi@raspberrypi:~ $ v4l2-ctl -V Format Video Capture: Width/Height : 640/480 Pixel Format : 'YUYV' Field : None Bytes per Line: 1280 Size Image : 614400 Colorspace : SRGB Flags :
Feel free to edit Motion's configuration file:
sudo nano /etc/motion/motion.conf
The following lines must be adjusted (variables can be searched for by CTRL
+ W
):
# Start in daemon (background) mode and release terminal (default: off) daemon on . # Restrict stream connections to localhost only (default: on) stream_localhost off . # Target base directory for pictures and films # Recommended to use absolute path. (Default: current working directory) target_dir /home/pi/Monitor
The following lines should also be changed:
v4l2_palette 15 # Nummer aus der Tabelle davor entnehmen, 15 enstpricht YUYV . # Image width (pixels). Valid range: Camera dependent, default: 352 width 640 # Image height (pixels). Valid range: Camera dependent, default: 288 height 480 # Maximum number of frames to be captured per second. # Valid range: 2-100. Default: 100 (almost no limit). framerate 10
Save changes with the shortcut CTRL
+ O
and close with CTRL
+ X
. Other options (ports, etc.) can also be adjusted later (requires restart).
Now, you must enable the daemon to run the service later:
sudo nano /etc/default/motion
Replace No with Yes in the following command:
start_motion_daemon=yes
You must now create the directory that was previously designated as the storage location for the captured frames and give it the necessary recording permissions:
mkdir /home/pi/Monitor sudo chgrp motion /home/pi/Monitor chmod g+rwx /home/pi/Monitor
Then you can start the service:
sudo service motion start
Testing the Raspberry Pi livestream surveillance camera
To check if the camera actually sends images directly, there are basically two options: A simple way is to use the browser (Mozilla Firefox, Chrome, etc.) and the name of the Raspberry Pi followed. is the port (default: 8081). If you have not changed the hostname and port, you will be able to see stream: http:/// raspberrypi: 8081 / (Alternatively, the local IP address can be used, such as 192.168.1.51:8081 ).
Some older browsers (like Internet Explorer) do not support this stream. Those users can choose to livestream on VLC Player, for example. To do this, simply open VLC Player and specify in Media menu > Open Network Stream ( CTRL
+ N
) the above address. This can also be done in VLC Player for smartphones and tablets (Android, Apple): Select Open Media Address in the menu and the IP address includes the port.
Depending on the framerate specified (in the configuration file), the image may be better or not. Of course, the camera must also support that frame rate.
Make livestream available outside home network
Because viewing the camera in a private network doesn't make much sense, people often want to access it from the outside. To do this, you need a fixed IP or DNS service.
Note: You can theoretically not use a static IP address, but the downside is that after each reconnection, you will get a new IP address. Because the provider (approximately once per day, usually at night) is forced to reconnect the router, the DNS service is highly recommended, because the DNS address does not change.
In addition, you must open the selected port (eg 8081) in the router to perform port forwarding. This means you can assign this port from outside the network and connect to it.
In the Port forwarding header or similar, you can specify that the port is opened for a specific local IP address. The example router looks like this:
Specifies that the port is opened for a specific local IP addressThe menu of most routers can be accessed via 192.168.1.1 or 192.168.0.1 with the browser.
If you use VLC Player, of course, now, you must replace the local IP address you previously specified with DNS or static IP address (the port is still the same). Some routers may fail to do this in the home network.
For home testing, you can, for example, use mobile data on your phone. Turn off WiFi and check if you can watch the livestream of the Raspberry Pi surveillance camera. Depending on your Internet connection (upload speed), the image may be a bit slow.
You should read it
- Review the Raspberry Pi V2 camera
- Raspberry Pi computer with 5 megapixel camera
- How to set up security cameras that can be accessed remotely
- 5 security tips for the Raspberry Pi
- Raspberry Pi platform first introduces 12 MP camera module with interchangeable lens
- How to stream live to YouTube with Raspberry Pi
- Instructions for installing a wired security camera system
- How to add an ADC to Raspberry Pi: What you need to know
- Raspberry Pi Zero vs Model A and B, how are they different?
- How to use the Raspberry Pi as a webcam
- Top 5 best outdoor security cameras 2020
- What is the Raspberry Pi and how is the Raspberry Pi used?
Maybe you are interested
8 iPhone Camera Features Android Phones Need to Learn
What does the new Camera Control button on iPhone 16 do?
Don't Make These Mistakes When Using a Smart Camera
No camera in Device Manager [Quick Fix]
Why is street photography with a smartphone better than a DSLR camera?
Things to look for in a smartphone camera