I have a 50 Mbps WAN link and I use Asus RT-N16 with tomato firmware for NAT. My users view multiple streaming videos. At any given time there would be about 20 streaming videos which are being watched. But always if the number of videos that are being watched goes above 7 or 8, then there will a lag or delay in the videos even if bandwidth usage has not gone higher that 15 Mbps. After testing almost every possible setup, I have come to the conclusion that the lag or delay is caused because Asus RT-N16 is a home router, and its hardware is not suitable for a heavy bandwidth connection. Now my plan is to use a powerful desktop pc (sandybridge processor and 4+ GB RAM) with multiple NIC's as a router. I will be running Ubuntu server on it and will be using packet forwarding and NAT maquarading options. So is this a good choice? Does Linux provide any good functionality to maximize video streaming routing throughput?
Yes. Any modern computing hardware should be able to move 50 Mbps across a network card in short order.
I wouldn't be particularly worried about your load as it stands now. That said, Linux does come with real-time operations and can easily perform QOS operations.
To forward traffic of 50Mbps you doesn't need such hardware.Linux can push over 60Mbps with an Hiper Threading cpu @ 1.8GHz and 2GB ram.Maybe your problem came from multicast packets who pass thru your router.First pass try to deactivate firewall from your router (SPI); second pass look at IGMP snooping feature (igmp proxy), third pass read some wiki about iptv, streaming , live streaming, routing
Here is your problem.
You assume a 50mbit link is capable under all circumstances to maintain a high number of parallel streams with a 15mbit combined rate.
Ever checked the CPU there?
Are you sure that is in both directions? Because you are mentioning home equipment, is this running on your home 50Mbps line? Here in the UK Virgin internet do 50Mbps lines but the outbound speed is only 10Mbps.
Do a Speed Test and see what outbound speed you get.