Skip to main content
Home Forums Silverlight Design Video and Media Increase buffer size for a 256k internet connection
12 replies. Latest Post by slc0817 on November 15, 2009.
(0)
ntoupal
Member
0 points
1 Posts
04-21-2009 10:56 AM |
I'm using Silverlight to watch movies on Netflix because I live in a very rural area I have limited bandwidth. I was wondering if there was any to increase the amount of movie that gets buffered before playback. Currently the player downloads about 5-10 minutes of playtime before playing (what means I have to watch movies in 10min chunks). With the old player that Netflixs used I could just let the whole movie play through and then restart the movie from the beginning and watch it straight through but Silverlight wants to resart buffering the movie all over again.
Thanks
Nate
brightstar
406 points
184 Posts
05-03-2009 7:42 PM |
maybe he solution for Silverlight is "Smooth Streaming", which was developed to change its quality, if you have slow speed ( so it will be seen on your speed too)
the problem is , did developers (the site you are wathcing) use Smooth Streaming tech with their Silverlight player
gillesk
302 points
66 Posts
05-04-2009 11:55 AM |
Netflix is using something similar to smooth streaming. It would be up to them to provide a way to download the whole file and cache it for playback. If your connection is slower than the lowest bitrate availble, then you cannot sustain the download and you will keep buffering every so often. Smooth streaming will have a similar issue.
bandwidt...
2 points
06-12-2009 9:04 AM |
We have the same problem - 256K bandwidth (although sometimes it bursts faster) and have to watch in chunks. It does buffer, but it would make sense if it could buffer more at a time. Maybe there is a registry setting somewhere that controls buffering in Silverlight?
kellyk
08-07-2009 1:07 AM |
I am wanting to increase the amount of movie time that Netflix/Silverlight buffers as well due to an intermittent internet connection. I was reading about a MediaElement.BufferTime adjustment in other places on the forum, but I don't know how to access that or if it will help. Please advise. Tks, Kelly
08-07-2009 1:21 AM |
Unfortunately, this will not work, not only is the property only available to the application (unless netflix exposes a way to change it, then the user cannot get access to the property). The way the Netflix application works, it controls the bitrate of the file that it downloads and tries to adapt to the changing network condition. Unfortunately, it has a minimum bandwidth that it needs to give a consitent experience. While the application can handle fluctiations in the bandwidth, if the minimum bandwidth required to download the file cannot be sustained, then you will hit buffering issues.
You would need to communicate your issues with Netflix, they are the ones writing the apllication.
haydenmarx
8 points
4 Posts
08-17-2009 12:47 AM |
@gillesk No, It's definitely not an issue with Netflix or connection speed. Before they switched to silverlight people could let pause the movie and let it load a 10 minute buffer or even let it download the entire movie if they wanted. And that didn't change until 1 or 2 silverlight updates ago. Now I it stops buffering at about 3 minutes. Even with the fastest connection on the computer with the most memory your app won't buffer for more than 3 mins. Oh and I talked to Netflix and they say that the change is on your end. Please explain why your team crippled the app.
08-17-2009 11:51 AM |
We work closely with Netflix, they're a great partner and we would not cripple their app the way you make it sound. What you have to understand is that the Silverlight player is much different in the way that it plays a movie, compared to the other players. You might want to read this blog post from Netflix about their encoding process, especially the Delivered Quality section (note that this is old but a lot of it still applies).
Usually a player will download a specific file and play it, for the Silverlight Netflix player that is not the case. As the movie is being downloaded the player decides which bitarte to use to download the next portion based on the current network condition to provide a seamless experience if you bandwidth fluctuates. In order to provide this experience the logic to decide what part of the stream and at which bitrate, is controlled by the application (in this case Netflix), with this logic, the application also decides when it has enough data in its buffer and stops filling it. The other traditional players don't have this dynamic logic and start downloading one file and keep going until the whole movie is downloaded, Silverlight offers this too as a platform, but for the majority of people having a better experience where the movie plays un-interrupted adapting to network and playback conditions is probably a better choice and that's what Netflix decided to implement with the Silverlight player.
08-17-2009 2:48 PM |
Thanks for the link, and if you would read the comments you would see that a lot of people are having the same problem. But the problem is not with Netflix. The problem is with the logic of your program. (Which resides in the base code they can't touch.) It thinks I need less buffer room than I do. And that cripples the app because it prevents me from loading more which forces me to watch movies in 5 minute segments. You guys could easily fix the problem by adding an option to allow for continuos buffering. Just like in the old Windows Media Player that the app used to be run on.
08-17-2009 4:03 PM |
I don't think that I'll be able to convince you that this issue is completely controlled by the application code. As I said in my previous post, Silverlight allows for continuous buffering the same way that Windows Media Player does, but also has the ability to let the application control much of this. If you look at the network traffic while using the silverlight player you will see that the player makes many requests for parts of the movie, each of these requests is made from the application code to Silverlight. The netflix player decides when and how many requests it needs to send out, if it decides that it has enough data, then it will stop. Silverlight itself cannot get more data because it doesn't know where to get the data from.
With Media Player only 1 request is made for the entire movie and that allows to buffer as much as needed. Again, Silverlight allows for this type of playback too, but the application needs to request this download mode from Silverlight.
There is a very intersting white paper about SmoothStreaming which details a lot of the behavior of adaptive streaming with Silverlight. While Netflix doesn't use SmoothStreaming for their Silverlight delivery, they do use a very similar approach and a lot of the concepts of SmoothStreaming would also apply to Netflix.
Your assement of the problem would be correct if Netflix was not using an adaptive streaming solution.
08-17-2009 5:13 PM |
This is what I got out of the article: x "The server only sends ahead enough data packets to fill the client buffer. The client buffer is typically between 1 and 10 seconds (Windows Media Player and Silverlight default buffer length is 5 seconds). This means that if you pause a streamed video and wait 10 minutes, still only approximately 5 seconds of video will have downloaded to the client in that time." x x I've contacted Netflix's PR to ask how the decision to limit the buffer to its current state came about.
08-21-2009 1:09 PM |
Well it turns out I was wrong. The answers I had got from some of the Netflix customer service support team that I took as gospel truth turned out to be heresy. I just talked to someone from corporate who said that it is Netflix who restricts the buffer size.
So my question, if you will take it, is how hard would it be for Netflix to add a feature to allow user to increase their buffer size while keeping the current system?
slc0817
11-15-2009 7:38 PM |
I have been trying to get netflix to work with my computer for the past 6 hours, I'm so frustrated. I have noticed that it doesn't buffer any of the video while I am watching it. When I pause the video I see my transmitted rate and recieve rate jump way up, say it is sitting at zero and jumps to 500kb/sec. It may be my out of date computer, but I never really had a problem before I tried netflix.