Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
commit
f83d33b20d
115
docs/quicktips/multi-cam.md
Normal file
115
docs/quicktips/multi-cam.md
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
---
|
||||||
|
layout: default
|
||||||
|
title: Multicam
|
||||||
|
parent: Quicktips
|
||||||
|
has_children: false
|
||||||
|
permalink: /quicktips/multicam
|
||||||
|
description: >-
|
||||||
|
How to setup multi Webcams with mainsailOS.
|
||||||
|
---
|
||||||
|
|
||||||
|
# {{ page.title }}
|
||||||
|
{{ page.description }}
|
||||||
|
|
||||||
|
__Disclaimer__
|
||||||
|
Thank you [Charlie_Powell](https://community.octoprint.org/u/Charlie_Powell) for letting us adapt your guide for mainsailOS!
|
||||||
|
The original guide can be found [here](https://community.octoprint.org/t/setting-up-multiple-webcams-in-octopi-the-right-way/32669).
|
||||||
|
{: .info}
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
You need:
|
||||||
|
|
||||||
|
- mainsailOS v0.5.0 or higher
|
||||||
|
- ssh access
|
||||||
|
- at least two cameras
|
||||||
|
|
||||||
|
__WARNING__
|
||||||
|
**If you are working on a existing installation, make a backup!**
|
||||||
|
{: .warning}
|
||||||
|
|
||||||
|
## Creating the configuration files
|
||||||
|
mainsailOS supports an infinite number of webcam*.txt-style configuration files. They can be placed in
|
||||||
|
`/home/pi/klipper_config`.
|
||||||
|
|
||||||
|
In the UI, got to 'Settings > Interface' click on (1) and save as `webcam2.txt`.
|
||||||
|
|
||||||
|
:image:
|
||||||
|
|
||||||
|
Now you should have two identical files:
|
||||||
|
1. `/home/pi/klipper_config/webcam.txt`
|
||||||
|
2. `/home/pi/klipper_config/webcam2.txt`
|
||||||
|
|
||||||
|
## Editing the original configuration file for a specific camera
|
||||||
|
Find out the path to the camera by ID. This makes it much easier to stop /dev/video0 and /dev/video1 from switching on you.
|
||||||
|
|
||||||
|
Run `ls /dev/v4l/by-id`, copy your camera id and paste it into the editor in mainsail. For example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ ls /dev/v4l/by-id/
|
||||||
|
usb-046d_0825_88C56B60-video-index0 usb-046d_0825_88C56B60-video-index1
|
||||||
|
```
|
||||||
|
I'll use the first one `usb-046d_0825_88C56B60-video-index0`
|
||||||
|
|
||||||
|
|
||||||
|
__Note__
|
||||||
|
Not sure which device is which? You can run lsusb to match a name to an ID.
|
||||||
|
{: .info}
|
||||||
|
|
||||||
|
Then edit `/home/pi/klipper_config/webcam.txt` in by clicking on it in mainsail.
|
||||||
|
|
||||||
|
Set `camera="usb"` at the top, and the `camera_usb_options` line to indicate the device:
|
||||||
|
|
||||||
|
`camera_usb_options="-r 640x480 -f 10 -d /dev/v4l/by-id/<device long id>"`
|
||||||
|
|
||||||
|
__Note__
|
||||||
|
Using a Raspberry Pi camera? Set camera="raspi" at the top of the file, and you can ignore referencing the cameras by device ID.
|
||||||
|
{: .info}
|
||||||
|
|
||||||
|
## 3. Editing the second configuration file
|
||||||
|
There's two things that need adjusting here: the port mjpg_streamer will be running under, and the device again.
|
||||||
|
|
||||||
|
__Note__
|
||||||
|
Using 1 RPi camera and 1 USB camera? You don't need to reference them by ID, since camera="raspi" vs. camera="usb" is enough.
|
||||||
|
{: .info}
|
||||||
|
|
||||||
|
Find the long ID of the second camera, as you did for the first one.
|
||||||
|
|
||||||
|
Editing `/home/pi/klipper_config/webcam2.txt` like described above.
|
||||||
|
|
||||||
|
As above again, set camera="usb" and set camera_usb_options but this time using the ID for the second camera:
|
||||||
|
|
||||||
|
`camera_usb_options="-r 640x480 -f 10 -d /dev/v4l/by-id/<device long id>"`
|
||||||
|
|
||||||
|
Adjust the port, by editing camera_http_options:
|
||||||
|
|
||||||
|
`camera_http_options="-n -p 8081"`
|
||||||
|
|
||||||
|
The port should reflect the number in `webcam*.txt`:
|
||||||
|
```
|
||||||
|
webcam.txt => -p 8080
|
||||||
|
webcam1.txt => -p 8081
|
||||||
|
webcam2.txt => -p 8082
|
||||||
|
webcam3.txt => -p 8083
|
||||||
|
```
|
||||||
|
|
||||||
|
__INFO__
|
||||||
|
mainsailOS comes already setup with four nginx reverse proxies for port 8080 to 8083, so you can configure 4 webcams easy with this guide,
|
||||||
|
for more webcams you need to configure the nginx config, which we dont recommend!
|
||||||
|
It includes editing nginx configuration, which is easy to mess up and having mainsail stop working as well.
|
||||||
|
If you need more than four webcams, hop onto our [Discord](https://discord.gg/skWTwTD){:target="_blank"} and we will help you.
|
||||||
|
{: .warning}
|
||||||
|
|
||||||
|
## 4. Test it works
|
||||||
|
Restart webcamd click the button,
|
||||||
|
and try and find your second camera under `http://<your-ip>/webcam2/`.
|
||||||
|
If it doesn't work, check in the webcam log under the filemanager log section for details.
|
||||||
|
|
||||||
|
If it works, you can use the URLs in mainsail:
|
||||||
|
|
||||||
|
Stream: `http://<your-ip>/webcam2/`
|
||||||
|
|
||||||
|
__DONE__
|
||||||
|
Congratulations, you set up multi webcam with mainsailOS!
|
||||||
|
If you want to add more, just follow the guide again and increment the webcam*.txt number i.e. webcam**3**.txt and so on.
|
||||||
|
The webcams are easy accessible through your `http://<your-ip>/webcam`, `http://<your-ip>/webcam2` and so on.
|
||||||
|
{: .success}
|
Loading…
x
Reference in New Issue
Block a user