My home network is divided in two vlans. One is for IP camera (pointing at my cat!) and the other is for computers. I watch the video on my iMac with the app "GuardingVision". The app exists for Android too, so I can watch on my smartphone.
Now, the iMac runs an openvpn client (Tunnelblick) and browses the web via this vpn. By doing this, it cannot see anything from the IP camera. GuardingVision app says that the cam is offline, but this is false as the smartphone is still receiving video.
This is not an openwrt issue. This is a general vpn / openvpn / tunnelblick issue. Basically, traffic from your iMac is encrypted all the way to the vpn server, and so the local routing using your openwrt router is not possible. You will need to look at the documentation for OpenVPN and tunnelblick to figure out if it is possible to exclude certain ips/networks from the tunnel.
Guessing here: likely because the phone is using a cloud based service (either to stream or as a broker to setup a direct connection with your camera).
The iMac application is cloud based too. It doesn't see the camera if the modem is off.
I am going to re-install the GuardingVision app on the iMac while it's using the openvpn client. Maybe it will manage to find its way to the cam.
EDIT:
Problem solved. I had to forward port 80 and 8000 in the modem and in the openwrt router. I still don't understand why the iMac needs this and the smartphone doesn't.