All of us have seen the familiar picture of â€œLoading Circleâ€ while watching videos streaming over the internet. Video Streaming is probably the largest consumerÂ of the bandwidth today. Every user would want to avoid the loading circle as much as possible; or the ISP would rather measure and plan the network to make it work smoothly !
Video Streaming, especially real-time Video Streaming is done via RTP over UDP traditionally. This is soon giving way to HTTP streaming (over TCP) .
Performance of Video StreamingÂ over RTP/UDP is measured with Mean Opinion Score (MOS). MOS is done by making a bunch of guys watch the video, ask them to rate their experience on a scale of 1-5 and take the average. Since doing this frequently would be too costly, experts (Ex:Video Quality Experts Group -VQEG) have created models that recreate the video as may have seen by a user to predict the MOS. This would normally be aÂ Â function of
- packet loss (different types of frames )
The models are many and sometimes complex and beyond the scope of this blog. These are measured at the receiver using specialised applications and some parameters are derived from packet captures (Ex: tcpdump).
With large amounts ofÂ bandwidth available per user, Video Streaming via HTTP/TCPÂ has become the most popular form of Video Streaming. Since there is no loss involved due to TCP retransmissions, the quality metrics are also greatly simplified. The sample of metrics that are measured now are very intuitive Ex:
- Initial Buffering Duration (How much time did the user wait after the click)
- No of interruptions (How many times the user has seen the Loading Circle)
- Total Buffering time v/s Video Duration (How much time did the user waste waiting due to poor network!)
The above metrics are derived from real/simulated applications with lesser computation than the metrics for RTP/UDP.
Popular sites like Youtube, Netflix use more advanced adaptive streaming technique calledÂ Dynamic Adaptive Streaming over HTTP (DASH). DASH brings in changes between bit rates to allow for video to play based on network performance. Performance measurement with DASH is a topic for another blog.
Above chart shows the performance of the network when a number of users simultaneously access a youtube link as measured by Alethea WiCheck. In this test, the clients configured NOT to use DASH (adaptive streaming). The network backbone supported an internet throughput of 80Mbps. This network seems to work well for up to about 50 Clients (5 interrupts). The AP usedÂ in the above set upÂ is TP-LINK WDR4300 (802.11n). The test is done using Aletheaâ€™s WiFi load test solution SWAT WiCheck (more about the tool atÂ http://wicheck.alethea.in)