Integration of most IP cameras for live viewing works with many available cameras.
As myServer 6 displays the user interface using browser technology, the camera feed must support displaying natively in a browser. Many cameras support an mjpeg output. This is the preferred means. Many other cameras support RTSP output. Allonis's IP Camera driver can instruct the camera to take "snapshot images" and send those to the browser. h.264 and h.265 popular camera protocols require an "app" with a media player embedded to display video. This is not natively supported in a browser.
BlueIris is a Windows based camera NVR (network video recorder) that also can transcode many cameras outputs to a mjpeg stream that can be displayed in the browser. The downside is encoding is a very CPU intensive operation so a fast Windows PC is required to transcode multiple streams concurrantly. Running myServer 6 on the same PC is popular, but note that BlueIris will take much of the processor resources that may impact myServer's performance.
You can also use a Raspberry Pi 3/4 with it's varied supported cameras as an IP camera. An ESP8232 Wifi board is also a very inexpensive and low overhead camera that can be used.
Many IP cameras also support Pan / Tilt / Zoom and other controls. the Generic IP Camera driver supports sending those commands. The key is to know which command gets sent for your camera make / model.
Some references for camera control:
https://www.ispyconnect.com/sources.aspx
Look in myServer/Configuration/Media folders. Make sure the folder is pointing to a valid location. The PI via the IPCameras driver will do the recording. It reads the h264 frames from the camera and transcodes to .mp4 video using FFMPeg. The file will be placed in the videos folder of the media folder defined in myServer. The default name is <<CameraName>>-<<timestamp>>.mp4
360 cameras are of two types. Those intended for active sports and systems for vehicles.
For RVs, Trucks and Autos, on the market are camera systems that have typically four cameras. Front, Rear and sides. These camera images are brought into a specialized NVR where their images are combined (stiched) and edited (cropped) so that they appear from a vehicle top side view to show a full 360 degree view around the vehicle. The top of the vehicle is an image that is superimposed to create the illusion of a birds eye view. The output of this NVR can be integrated into myServer browser by treating the NVR as a "camera".
Sports cameras (like those from GoPro, Garmin, Samsung) contain wide angle lenses and software that allows the output to be dynamic in that you can click on the touchscreen (like on your phone) and move the image to view a 360 degree spherical perspective. We haven't yet tested to see how this might integrate with myServer's browser but it looks like fun.
This section will be further expanded as we gain more background with these emerging products.
The IPCamera driver is Legacy. Please see the new MediaMTX driver for the latest.
Example of configuring the IP Camera Driver
Download and install the IP Camera Driver from Software Updater on the primary myServer 6 Controller. You should also download the sample HTML5 Sheer.Tablets and Phones UI templates and install on your myServer 6 Controller.
Restart myServer 6.
How it works: The IPCamera Driver builds image command URL for taking snapshots.
Video|1~SetItem~Snapshot~http://192.168.1.77/cgi-bin/snapshot.cgi?1
Chrome Developer Tools on the display browser can tell you what the frame rate is for the jpeg continual refresh images. This rate is typically how many images per second the camera can take JPEG still pictures. To increase this number, eliminate any non needed services that the camera is processing using the cameras setup method.
The RTSP settings are saved to: /usr/local/Allonis/rtspcamera/config.json
Example settings:
Name: Diner Cam1
Make: Visca (this tells the driver to use the "Visca" protocol - ie: not Onvif)
Model: Camera
Type: Camera
IP Address: 192.168.1.204
Network Port: 52381
Stream #: 0
Stream URL: rtsp://admin:admin@192.168.1.204:554/live/av1
Device Address: http://192.168.1.216:8083/stream/fe7294b3-0ef8-44c0-83fe-4f99d9007424/channel/0/
Serial Number: fe7294b3-0ef8-44c0-83fe-4f99d9007424
Room: Equipment
Planned: MediaMatrix component to replace WebRTC
From V5 documentation:
Using the GenericIPCam driver in Family manager add the cameras so they look like this
Then open the driver. You should see something like this
Finally double click on the camera to edit the details.
If the camera requires authentication enter the username and password. Otherwise you can leave off the ?user=<<username>>&pw=<<password>> bits in the following urls.
The two important fields are the Snapshot Image and Live Image.
The Snapshot image is for the static jpg image capture. Its url looks like
http://<<ipaddress>>:<<ipport>>/image/cam1?user=<<username>>&pw=<<password>>
Note: cam1 is the camera name you gave the camera in your BlueIris settings. Make sure it matches your camera name.
This image is exposed in the {{video_<id>_image}} server variable.
The live image is for the motion jpeg live stream. Its url looks like
http://<<ipaddress>>:<<ipport>>/mjpg/cam1/video.mjpg?user=<<username>>&pw=<<password>>
Again Note: cam1 is the camera name you gave the camera in your BlueIris settings. Make sure it matches your camera name.
This image is exposed in the {{video_<id>_liveimage}} server variable.
You would normally want to use the live image server variable on your scenes. However, if you have more than six cameras on your system you will run into browser limitations trying to view all the cameras on one page. Most browsers (Chrome, Safari) impose a limit of a maximum of 6 concurrent connections to a single web server at a time. If you try to view 8 motion jpegs from the same BlueIris server you'll only get to see 6 of them,
The workaround for this limitation is to switch to viewing the static image variable and then in the designer checking the reload box on the image properties. This tells the javascript to immediately reload a new image as soon the the current image is displayed. You'll still see motion just at a reduced framerate. I've been able to put up to 16 cameras on one page using this technique.
On a side note cameras these days boast incredibly high resolutions. More than is necessary for any casual viewing in a browser. I typically configure Blue Iris's web server encoder options to automatically scale down the image to make things a bit more efficient. Especially on network traffic. Here's an example of what I do. Use the best hardware acceleration option that is available on your Blue Iris PC.
Known bugs:
3/23/2023: Driver Locks up when adding a second controller. RTSP software not loading. RTSP display resolution issue. Difficult to scroll to bottom of Add Controller UI.