A number of users of Monocle have reported that certain cameras (namely Foscam and ReoLink cameras) fail to work with their Alexa devices (Echo/FireTV) via Monocle even when the RTSP URL to the camera works perfectly via VLC, FFPLAY, IPCamViewer or other software player.
We have not yet pinpointed the exact cause for the incompatibility, but we do have a temporary workaround that in most cases will allow your Alexa devices to access your camera feeds. This workaround involves running a small RTSP proxy service/application locally on a computer in your network. This RTSP proxy service acts as a bridge between your IP cameras and the Alexa devices.
Please note that this is a temporary workaround and we are working on a more permanent and integrated solution to make it easier to install, deploy and manage this proxy service.
If you would like to install this temporary workaround please use the instructions listed below.
You can download the pre-compiled RTSP Proxy server for your operating system here. We currently have it compiled for the following:
Once downloaded, expand/extract the contents of the ZIP file into a dedicated folder such as 'rtsp-proxy-server' on your local hard drive.
Note: this is a modified version of the Live555 RTPS Proxy Server
Attention: when starting this service/application, if you get any errors that say the file MSVCR100.DLL is missing, then you will also need to download and install the Microsoft Visual C++ 2010 Runtime Libraries available from Microsoft here:
Download Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
Open a terminal/command window and navigate to the directory where you expanded the contents of the ZIP file.
Now we are going to start the RTSP proxy server and point it a single camera’s RTSP URL feed. Here is an example of that command but of course, you will need to substitute the address, port and username/password for your camera as well as the appropriate RTSP URL string:
live555ProxyServer -u admin password "rtsp://10.1.2.227:88/videoMain"
In this example, we used a Foscam R2 camera where the RTSP URL is: "rtsp://10.1.2.227:88/videoMain" Some Foscam cameras expose the RTPS on port 88 which is the same as the HTTP port, and other allow for a dedicated port like 554.
If its starts successfully, you should see something like this:
LIVE555 Proxy Server (LIVE555 Streaming Media library version 2018.02.28; licensed under the GNU LGPL) Created new TCP socket 4 for connection RTSP stream, proxying the stream "rtsp://10.1.2.227:88/videoMain" Play this stream using the URL: rtsp://10.1.1.20:8554/proxyStream (We use port 8000 for optional RTSP-over-HTTP tunneling.)
It's basically telling us that it is creating a proxy stream from the camera's RTSP URL that we gave it and exposing the new stream from the local computer's address at: rtsp://10.1.1.20:8554/proxyStream (of course your IP address will be different)
Once the RTSP proxy server is running on your local network, you will need to re-configure your camera's RTSP URL in the Monocle web portal to use the proxy address instead of the direct camera address.
Once Monocle has been updated to use this new camera proxy address, you can try to open the camera stream on your Alexa device and see what happens. ("Alexa, show me the XXXXX camera.”) Finger's crossed -- we hope to see the Echo/FireTV device connect to the RTSM proxy stream and start streaming video and audio from your IP camera. It might take several seconds to connect and stream, possibly upwards of 20-30 seconds.
Note: If you need to verify, there is a Camera Feed History button in the Monocle web portal for each defined camera feed where you can select to see exactly what Monocle sends to Alexa to just verify that we are sending the correct proxy URL.
You can stop the proxy server at anytime by pressing CONTROL-C in the terminal/command window where the proxy server is running.
If your camera feed is still not working on the Alexa device (Echo/FireTV) then we might ask that you run the proxy server with verbose logging enabled so we can capture extra diagnostics information on the communication between the Alexa device and the IP camera that might suggest if there is some other problem going on. To enable verbose logging, you can re-start the proxy server with the "-V" option to emit verbose logging details:
live555ProxyServer -V -u admin password "rtsp://10.1.2.227:88/videoMain"
In this example, we used a Foscam R2 camera where the RTSP URL is : "rtsp://10.1.2.227:88/videoMain"
If the RTSP proxy service is working for your specific IP camera, then its possible you may wish/need to run the proxy server for multiple cameras of the same type. Adding multiple camera feeds is as simple as appending multiple RTSP URLs to the end of the command string. However, please note that a single username and password (access credentials) must work across all the camera feeds. Below is an example of the command with two camera feeds.
live555ProxyServer -u admin password "rtsp://10.1.2.227:88/videoMain" "rtsp://camera-aux-white-wifi:554/cam/realmonitor?channel=1&subtype=0"
Created new TCP socket 4 for connection RTSP stream, proxying the stream "rtsp://10.1.2.227:88/videoMain" Play this stream using the URL: rtsp://10.1.1.20:8554/proxyStream-1 Created new TCP socket 7 for connection RTSP stream, proxying the stream "rtsp://camera-aux-white-wifi:554/cam/realmonitor?channel=1&subtype=0" Play this stream using the URL: rtsp://10.1.1.20:8554/proxyStream-2
Note: Please note that when multiple RTSP cameras are proxied, the RTSP proxy URL appends a numeric digit to the end of "/proxyStream” in the RTSP URL string. You will also have to update each camera feed in the Monocle web portal to use these proxy RTSP URLs.
Please contact us and just let us know if you are using this workaround proxy solution and which camera makes and models it working for. This will allow us to notify you when a replacement to this temporary proxy service is available.