igmp-proxy only seems to work where the internal interface is bridge-local

I’ve got igmp-proxy working with the following config and I can watch the iptv (which is nice):

/routing igmp-proxy
set quick-leave=yes
/routing igmp-proxy interface
add alternative-subnets=0.0.0.0/0 interface=ether1-gateway upstream=yes
add interface=bridge-local

The issue here is that the multicast traffic gets sent to all the active ethernet interfaces (at a rate of about 8Mbps) which is undesirable. If I add a specific downstream interface rather than bridge-local, the telly stops working because the igmp-proxy seems to just stop working.

Any hints?

This is normal. Bridge-local is the layer 3 (IP) interface. The individual Ethernet interfaces are just layer2 switch ports.

Your problem requires IGMP snooping to prune multicast traffic from unwanted switch ports. Unfortunately for you, years of begging for this feature by dozens of people haven’t convinced Mikrotik to add this feature. You’ve got it as good as you’re going to get for now unless you install a separate switch that supports IGMP snooping.