HELP! Strange port forwarding behaviour in 951G-2HnD [SOLVED]

There are 2 remote objects with Video surveillance systems.

Object #1. Router Mikrotik RB3011 (Ver 6.42.3), NVR Dahua NVR5232-4KS2 (local IP 192.168.1.60), PPPoE internet (Active fiber), fixed public IP.
Object #2. Router Mikrotik 951G-2HnD (Ver 6.42.3), NVR Dahua NVR2116HS-S2 (Local IP 192.168.1.100), PPPoE internet (GPON), fixed public IP too.

Video surveillance system must be monitored from remote devices (via desktop software Dahua Smart PSS and mobile software gDMSS Plus/Lite)

The object #1 (16 cameras) is working good more than year without any problem with remote access. Cameras are accessible remotely at MAINSTREAM
without any bandwidth issue.

There is Mikrotik Firewall NAT rule for forwarding port 37777 from internet to NVR #1:

chain=dstnat action=netmap to-addresses=192.168.1.60 to-ports=37777 protocol=tcp dst-port=37777 log=no 
log-prefix=""

But I have very strange behaviour with remote access at new object #2.
NVR #2 and cameras are working good in local network. Cameras are showing as via browser and as via Smart PSS Software.

For accessing to NVR #2 from Internet I created the similar rule:

chain=dstnat action=netmap to-addresses=192.168.1.100 to-ports=37777 
protocol=tcp in-interface=pppoe-out1 dst-port=37777 log=no log-prefix=""

Other rules in Firewall Filter/NAT is very similar for both 2 routers. All routers get Internet by PPPoE from the same provider.

What happens at second (problem) object:

The Smart PSS software at Windows PC shows that remote NVR is connected successfully, I can change any NVR’s settings remotely.
BUT: there is NO video from any cameras: just black screen with long circle progress that ends error message “Search Stream Timeout”.

I can’t get no remote video from any Windows PC, from different hosts. Please note, Smart PSS software can connect to remote NVR #2, but there is no video from cams.

BUT: The only 2 devices that can view remote cameras are my Android Huawei phone and Android Samsung Tab.
At Samsung Tab video shows only if I set SUBSTREAM for Live Preview in gDMSS app settings. There is no video too if I set MAINSTREAM.
When substream (called “extra” in gDMSS app) is showing, I see camera’s bitrate about 145 KB/s.
At Huawei phone video shows as for SUBSTREAM as for MAINSTREAM and camera’s bitrate is about 24-170 KB/s

The encode settings for camera are very common and usual:

MAIN STREAM
Compression H.264H
Smart Codec is OFF
Resolution 1920x1080(1080P)
Frame Rate(FPS) 25
Bit Rate Type VBR
Bit Rate 4096

SUB STREAM
Compression H.264H
Resolution 704x576(D1)
Frame Rate(FPS) 25
Bit Rate Type VBR
Bit Rate 1024

In current moment the only 1 camera is connected to NVR #2.
Internet Bandwidth of problem object is 30 Mbit/s download and 30 Mbit/s upload.


I have no idea for the reasons of the problem. The only thought is that video stream from NVR is shaped somehow by the router.
At this problem object there is OLD Analog 24-channels DVR. This old system has remote access too, by port 5100.

When old system is working I can remotely view all 24 cameras with no problem. So why video stream by port 5100 is not shaped, but video stream by
port 37777 is shaped?

Firewall Filter rules at Object #2:

chain=input action=accept protocol=tcp dst-port=8291 log=no log-prefix="" 
chain=forward action=accept connection-state=established,related log=no log-prefix="" 
chain=forward action=drop connection-state=invalid log=no log-prefix="" 
chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=Ether1-WAN log=no log-prefix="" 
chain=input action=accept protocol=icmp log=no log-prefix="" 
chain=input action=accept connection-state=established log=no log-prefix="" 
chain=input action=accept connection-state=related log=no log-prefix="" 
chain=input action=drop in-interface=pppoe-out1 log=no log-prefix=""

NAT rules except mentioned port forwarding rule includes standard masquarade rule:

chain=srcnat action=masquerade out-interface=pppoe-out1 log=no log-prefix=""

I’ve seen several NVR systems where the web interface runs on one port, but the video streams are all separate ports that are connected to directly via RTP / RTSP. You should connect locally and use a utility like TCPView to figure out which ports are being accessed, then forward all of them.

As I wrote above, I have 2 objects with similar conditions - both Mikrotik routers and both Dahua NVR.
I have no problem with remote access to object #1 where only TCP 37777 port is forwarding.

Object #2 has the similar rules at its Mikrotik router. But object #2 has problem with showing video from remote PC.

Yes, Dahua NVR uses different port for different connections.
80 - for viewing via HTTP by IE browser
TCP 37777 - for Dahua special software (Smart PSS and gDMSS)
UDP 37778 - ? (I don’t know for what it used)
554 - RTSP

I tried to forward port 80 for connecting with NVR via browser. Connection to NVR is successful, but video from camera is not showing too. No main stream, no sub stream.

And what is more, today added new Dahua 8-channel NVR instead of existing 16-channel NVR at object #2.
The problem remains the same.
I don’t think that I forget to forward another port because I can view cameras of problem object via my Huawei phone.

The problem was solved today. The reason was 2-port Chinese GPON ONU that was supplied by Internet provider. Before today I even tried to replace router by another one Mikrotik.
But today provider replaces ONU termital and, voila, video stream is going good for remote devices. Who could think…