Just got my Echo Show 8, and already had a Swann DVR8-4980. I had some success after many trials, so I thought it may help others to briefly describe.

I couldn’t get a direct connection to work at all, so I have installed Monocle Gateway to a Raspberry Pi (a version 2 model B Rev 1.1). Aside: In doing so I found that it was still on Raspbian Wheezy, which being well out of date was lacking quite a few necessaries, so I had to burn an image of Raspbian Buster to get the Monocle Gateway install to work for me.

I tried the Tunnel tag first, but couldn’t get that to work.

With the Proxy tag, I have the substreams working ok at 704x480. This is as high as the DVR will set the substream.

I haven’t yet managed to get a mainstream working; I’ve set the DVR mainstream to 1920x1080 (lower resolution than my cameras), and can’t get the Echo Show to show it. Mainstream works fine in VLC.

For this Swann device, the RTSP urls are:
rtsp://<IP>:<Port>/ch<N>/<M>
Where N is 1 to 8 for the camera number, and M is 0 for the mainstream or 1 for the substream
e.g.
rtsp://192.168.0.10:554/ch3/0

Updated:
I noted that the Echo Show was disconnecting after the client response for the describe, and the significant difference appeared to be the profile-level-id.
Mainstream: profile-level-id=64001F
Substream: profile-level-id=42001E

Modifying the mainstream compression level and bit rate on the DVR did not change the profile-level-id. So I added the fakefmtp tag for the mainstream. This overrides the profile-level-id with 420029.

This now has the mainstream working at fullHD.