How to view the Netflix Silverlight diagnostic stats
March 29, 2009
I was watching Scott Guthrie’s (aka ScottGu) MIX09 keynote last night. Scott’s presentation was broken up every few minutes to have a presenter come on stage and perform a brief presentation on some bit of technology that he was introducing. There was even an appearance by StackOverflow’s Joel Spolsky and Jeff Atwood, although they seemed surprisingly nervous in front of that audience. I wonder if it had something to do with the fact that their segment was basically a shill for Microsoft’s Biz Spark program?
One of the presenters was Kevin McEntee, Vice President of Web Engineering at Netflix. He talked about how switching to Silverlight has helped them with their Watch Instantly capabilities. Specifically he focused on:
- How Silverlight helped them go cross-platform and support the Mac and Firefox (hopefully someday we will get Chrome support too!).
- How building their viewer within Silverlight helps them to not have to trouble the consumer with installation programs. I forget the exact percentages he quotes, but it was something along the lines of 20% of Watch Instantly customers were bailing out of the installation process. And, in addition to not having an install, they were able to go from releasing updates yearly to now as often as every two weeks.
- Finally, he talked about how Adaptive Streaming helps the Netflix viewer determine the best rate for the customer.
For the Adaptive Streaming part of the talk (about the 68 minute mark), he had someone (Jeremy) come out to demonstrate the Adaptive Streaming through one of their debugging screens. In the video, which shows a side by side view of the presenter and their screen, you can see that a context menu is brought up over the player.
Jeremy then selects the first option, A/V Stats and then an overlay is placed on the screen. The overlay shows information about the audio and video bitrates, buffer size, etc. Kind of interesting, but as you can tell from the screen shots, it is kind of hard to get a good feel for exactly what is there. So immediately the question was, “Hmm, I wonder if I can get to that information?”
I noticed that when Jeremy was getting set to go into the debug/diagnostics screen, he did two things: First, there was a definite turn of the head to the left side of the keyboard. It was obvious he was getting ready to do something that didn’t involve touch-typing. Then, when the presenter camera switched views and pulled out on a long shot of Jeremy, you can see that his left hand is in an unnatural position on the keyboard. Once the context menu came up and he selected the A/V Stats option, he moved his hand back to a natural position. So, that led me to believe that there was some key combination to pull up the window.
It didn’t take long to find something, but it wasn’t quite what I was looking for. If you are in full-screen mode while watching a Netflix movie, press the Shift key and then right-click on the Silverlight container. You will get the following context menu:
Selecting the Status Window option brings up the following window. It gives some nice information about how much has been downloaded, the download rate, where you are in the movie, how much time is built up in the buffer, etc.
Selecting Media info MessageBox shows the following window. While the Status Info focuses on what is currently happening, this view focuses on high-level information about the file and format.
The third option, Show Log File, opens up a text file in your chosen text editor. It has a lot of debug/trace output from your interactions with the player.
While that information is probably the same information in the overlay from the demo, it isn’t in a cool overlay format. I did a little Googling and came up with a tidbit from this Boxee forum post:
Also, for the curious (to see how many frames are dropped), you can view a diagnostic screen overlay in a Silverlight movie by hitting (i think this is right): control, shift, option, D
And you can change the quality settings by hitting: control, shift, option S
I’m pretty sure that Jeremy was doing something like that in the video however I wasn’t getting any results when I tried that combination. I do know that Scott later mentioned that there are several different skins for Silverlight and there are some that will show you data like what is in the overlay. He even showed one that graph the bitrate that was being downloaded and showed how it dipped to a much lower bitrate when you jumped to a new point in the video. Once the video started streaming at that lower rate, it would then try to bump up the bitrate to improve the viewing experience.
So, while I haven’t showed exactly the same overlay that was in the video, I did show a way to get to some behind-the-scenes data. If you know how to get the same transparent overlay, drop a note in the comments.
Popularity: 22% [?]
Comments
2 Responses to “How to view the Netflix Silverlight diagnostic stats”
Got something to say?





in windowed mode, hold the left Shift+Alt key and left-click the video to bring up the menu. For the a/v status, Ctrl+Alt+Shift+S (left ctrl/alt/shift set, not right) For stream manager, Crtl+Alt+Shift+D for menu Ctrl+Alt+Shift+M, player info Ctrl+Alt+Shift+P, download history Ctrl+Alt+Shift+H, frame rate histogram, Ctrl+Alt+Shift+F, bandwidth history Ctrl+Alt+Shift+B, buffer level history/prediction, Ctrl+Alt+Shift+V
Actually, either-side Ctrl/Alt/Shift works, hehe