We are using an ISP that is fast but that has a data cap of about 50 GB/month. I would like to limit the video quality for devices on my network by capping the throughput delivered to individual devices in the ingress for streaming video traffic only. I am using netify (https://www.netify.ai/developer/netify-agent/openwrt-integration) to mark streaming video. Can I use SQM to shape that streaming video traffic per device to enforce say standard definition video and thereby watch more minutes of video with my 50 GB per month?
If you do this, you'll never be able to go to higher rates, like if you want the better quality. Is it not possible to just set the streaming rate in the streaming app?
I have a bunch of kids who have a bunch of devices and a bunch of streaming services so its hard to do this way. Now and then I can imagine disabling the feature but for the most part I'm pretty sure we'll want it on all the time. Does that make sense?
What you're asking for is possible... probably the easiest way is just put an iptables rule in place to drop tagged packets going over N Mbps using a limit rule.
or use a hashlimit rule if you want to limit each device.
Thinking about it... you might do well to do a hashlimit rule to limit per device to say 2Mbps (enough for your 480p rate), and then an overall limit rule to limit the total of all devices (after hashlimiting) to some other limit. Like say 6Mbps, enough for 3x 480p simultaneous streams.
That'd basically be two iptables rules. You'd need to install the hashlimit related packages.