Webcams

In this tab you can connect mainsail with different webcam streamers. Some of the webcam clients are provided by Crowsnest (Webcam streamer wrapper from the Mainsail-Crew).

Go to the settings and select the Webcam category. In this view, you can add new webcams, or edit and remove existing ones.

Webcam Settings

While adding or editing a webcam, you will see the following screen.

Add Webcam form

Preview

On the right side, you can check the settings in a preview.

Name and Icon

At first, you have to give the camera a name, and you can assign an icon to it.

Stream & Snapshot URLs

You also need to specify stream and snapshot URL. For network cameras, please consult the manufacturer's manual or search the Internet.

Note: In MainsailOS, by default, four webcam ports are mapped to URLs. Notice that the first URL doesn't contain a number. Check which port you have configured in your streamer and add the URLs.

Port
Stream URL
Snapshot URL

8080

/webcam/?action=stream

/webcam/?action=snapshot

8081

/webcam2/?action=stream

/webcam2/?action=snapshot

8082

/webcam3/?action=stream

/webcam3/?action=snapshot

8083

/webcam4/?action=stream

/webcam4/?action=snapshot

Service

You also need to select a streaming mode. Below are descriptions of the different modes, so you can decide. Try out what works best for you.

Mode
Description

MJPEG-Streamer

The streamer mode extracts individual frames from the stream URL and streams them.

This is to prevent the buildup of delay in case of insufficient bandwidth. IMPORTANT: This mode does currently not work on iOS devices for technical reasons.

Adaptive MJPEG-Streamer

The adaptive mode takes the snapshot URL and pulls individual images.

Also, this is intended to prevent a delay.

UV4L-MJPEG

The classic mode is the plain MJPEG stream embedded in an image tag.

In this case, it can happen that after some runtime a delay steadily builds up, because frames cannot be skipped. Only a browser reload will help.

IP-Camera

The stream URL is embedded in an HTML5 video element. We can't really provide support for this. Browser plugins may be required.

WebRTC (camera-streamer)

This stream is very bandwidth efficient. IMPORTANT: This mode is currently only available on Raspberry devices.

WebRTC (MediaMTX)

This stream is very bandwidth efficient. This mode can also be used for WYZE-Cams with the docker-WYZE-Bridge. Here you can find a tutorial: LINK IMPORTANT: min. v0.23 of MediaMTX

HLS Streamer

This mode is for IP webcams with RTSP support.

Target FPS

Only in adaptive MJPEG mode, you also have to set the target frame rate. This is how often per second an image is requested.

Rotate

In some services, you can also rotate the webcam stream.

Hide FPS counter

Hide the FPS counter in the webcam image.

Flip Webcam Image

Flip the webcam vertically and/or horizontally. Both at the same time corresponds to a 180° rotation.

Last updated