Packet Loss Sensitivity - UDP Streaming
So with these test files in hand, I then both streamed and played them while trying different packet loss settings in the Linktropy 4500. I started out with a 1% packet loss rate with a streamed file and found blockiness right of the bat. I then ran a series of tests summarized in Tables 1 through 3 below. You'll have to forgive the use of subjective descriptions in the results, but it was the best way that I could characterize what I found.
I've also included some screen captures of error rates, so that you can get a feel for what I was seeing.
Packet Loss | Result |
---|---|
5% | unwatchable |
1% | unwatchable |
0.5% | borderline watchable with blockiness |
0.25% | watchable, with frequent small blocky glitches |
0.1% | watchable, with less frequent small blocky glitches |
0.05% | watchable, with occasional small blocky glitches |
Table 1: VOB file stream results
Figure 10: Streamed VOB file with 5% packet loss (image © Disney)
Packet Loss | Result |
---|---|
5% | unwatchable, video and audio breakups |
1% | unwatchable. Constant large blockiness |
0.5% | borderline watchable with blockiness |
0.25% | watchable, with frequent small blocky glitches |
0.1% | watchable, with less frequent small blocky glitches |
0.05% | watchable, with occasional small blocky glitches |
Table 2: DivX file stream results
Figure 11: Streamed DivX file with 1% packet loss (image © Sony Pictures)
Packet Loss | Result |
---|---|
5% | unwatchable and player locks up |
1% | unwatchable, but player doesn't lock up |
0.5% | borderline watchable |
0.25% | watchable, with occasional glitches |
0.1% | watchable, with occasional glitches |
0.05% | watchable, with a few glitches |
Table 3: PSP / MPEG4 file stream results
Figure 12 shows a particularly nasty glitch encountered with a 0.05% packet loss. So even when the glitches were infrequent, they could still be pretty nasty!
Figure 12: Streamed PSP/MPEG4 file with 0.05% packet loss (image © Disney)
My general conclusions from the streaming tests are:
- it doesn't take much packet loss to introduce problems into streamed video
- bit rate and encoding format don't make much difference in a stream's ability to compensate for packet loss errors
Packet Loss Sensitivity - TCP/IP File Play
After the streaming tests, I repeated my experiments using the file play method and found quite different results. As might be expected due to TCP/IP's tenacity at fixing transmission errors, I found it much harder to get the video to break up. And when it did falter, the problem was more likely to be pauses and skips than compression artifacts such as blockiness.
I had to resort to introducing uniformly distributed delay as well as packet loss to reliably get the video to fail. With 1% packet loss and delay between 10 and 500 ms, the VOB file suffered frequent stutters and pauses and eventually locked up after a few minutes. When I tried the same settings with the same file encoded with DivX using its Home Theater Quality setting, I encountered less frequent stutters and pauses and the file didn't lock up.
My general conclusions from the file play tests are:
- Files played across a network using TCP/IP are much more resistant to packet loss errors
- bit rate and encoding format can make a difference in a played file's susceptibility to transmission errors
Conclusions
I was surprised at how little packet loss it took to affect video streaming, and just as surprised at how hard it was to disturb files played using TCP/IP based protocols. In Part 2, I'll put this knowledge to work with wireless LANs to see what works and what doesn't for successful video streaming.