View Full Version : Silverlight 3 and 1080p Smooth Streaming
benwaggoner 04-21-09, 11:14 AM So, this week is the big NAB show in Las Vegas. I've got lots of nerditry-packed details here:
http://on10.net/blogs/benwagg/NAB-Day-1-Smooth-Streaming-released-1080p-in-Silverlight-new-VC-1-and-more/
But from the AVSForum perspective, the key thing is probably that we're now demonstrating Silverlight 3 playing back streaming 1080p24.
In specific:
This is 1920x1080 24 fps
6 Mbps VC-1
On a Core 2 Duo 2.4 GHz
So, all full 1920x1080 will take is good broadband with a good laptop or semi-decent desktop with a big enough display. With our Smooth Streaming technology, which was also released yesterday, we can dynamically adjust the bitrate and frame size to the best the user's machine can hande at the moment, so with real-time playbakc, network fluctionations would just result in a temporary reduction in image quality, but no pauses or buffering.
And if you haven't played around with Smooth Streaming yet, here are some good samples:
Sample gallery: http://www.smoothhd.com (http://www.smoothhd.com/)
Demo player with bitrate throttle: http://www.iis.net/media/experiencesmoothstreaming
CTV's beta player: http://hdbeta.ctv.ca/
Those are all Silverlight 2 based, so won't have the smooth HD full screen experience I'm talking about until Silverlight 3 is released later this year (currently in beta).
We're also showing the output of a new VC-1 implementation tuned for Smooth Streaming, which is further reducing the bitrate required for high quallity HD in streaming.
I've prepared a sample of our old friend Big Buck Bunny at 4 Mbps CBR for streaming, available here:
http://silverlight.services.live.com/31260/Big%20Buck%20Bunny%201080p24%204%20Mbps%20Smooth%20Streaming/video.wmv
I hope we're finally able to cross the bridge into real 1080p playback with the streaming user model. Sort of a "HD PVR in the cloud." I'm sure there'll be tons of debate about buy versus rent versus subscribe, but the technology is getting there very quickly to support any of the above.
And now you guys are all going to bug me about 5.1 audio support :).
Everdog 04-21-09, 04:46 PM So, this week is the big NAB show in Las Vegas. I've got lots of nerditry-packed details here:
http://on10.net/blogs/benwagg/NAB-Day-1-Smooth-Streaming-released-1080p-in-Silverlight-new-VC-1-and-more/
But from the AVSForum perspective, the key thing is probably that we're now demonstrating Silverlight 3 playing back streaming 1080p24.
In specific:
This is 1920x1080 24 fps
6 Mbps VC-1
On a Core 2 Duo 2.4 GHz
So, all full 1920x1080 will take is good broadband with a good laptop or semi-decent desktop with a big enough display. With our Smooth Streaming technology, which was also released yesterday, we can dynamically adjust the bitrate and frame size to the best the user's machine can hande at the moment, so with real-time playbakc, network fluctionations would just result in a temporary reduction in image quality, but no pauses or buffering.
And if you haven't played around with Smooth Streaming yet, here are some good samples:
Sample gallery: http://www.smoothhd.com (http://www.smoothhd.com/)
Demo player with bitrate throttle: http://www.iis.net/media/experiencesmoothstreaming
CTV's beta player: http://hdbeta.ctv.ca/
Those are all Silverlight 2 based, so won't have the smooth HD full screen experience I'm talking about until Silverlight 3 is released later this year (currently in beta).
We're also showing the output of a new VC-1 implementation tuned for Smooth Streaming, which is further reducing the bitrate required for high quallity HD in streaming.
I've prepared a sample of our old friend Big Buck Bunny at 4 Mbps CBR for streaming, available here:
http://silverlight.services.live.com/31260/Big%20Buck%20Bunny%201080p24%204%20Mbps%20Smooth%20Streaming/video.wmv
I hope we're finally able to cross the bridge into real 1080p playback with the streaming user model. Sort of a "HD PVR in the cloud." I'm sure there'll be tons of debate about buy versus rent versus subscribe, but the technology is getting there very quickly to support any of the above.
And now you guys are all going to bug me about 5.1 audio support :).
Is there any kind of buffering (or something similar) going to be supported so that people with slow Internet connections can partake in the wonderful videos?
Or do you think the user base of people with fast broadband is large enough and growing?
I am intrigued by services like VuDu support downloading so that users do not have to worry about a slow connection killing their video watching experience. I do hope that in a couple more years faster Internet connections will be more prevalent so that more people can just stream everything.
Anyway, keep up the good work!
The quality on that Big Buck Bunny demo was amazing.
And I was pleasantly surprised at the lack of lag when starting videos from the SmoothHD site!
It rocks that we are so close to getting 1080p content via streaming so soon! It looks like we should be getting better quality via streaming then we can get OTA in the very near future!
benwaggoner 04-21-09, 06:50 PM The quality on that Big Buck Bunny demo was amazing.
And I was pleasantly surprised at the lack of lag when starting videos from the SmoothHD site!
Fast startup time and random access is a key part of what we're trying to deliver. We want online video to provide as much of of the local content experience as we can.
It rocks that we are so close to getting 1080p content via streaming so soon! It looks like we should be getting better quality via streaming then we can get OTA in the very near future!
That's quite likely. MPEG-2's a barrier in its own right (especially when interlaced), and forcing everything through real-time encoders doesn't help either. But even full bitrate offline authored ATSC will still get visible quantization artifacts with complex content, particularly beyond 1080p24.
Bozster 04-22-09, 04:20 AM Ben, would you be kind enough to explain to me what Silverlight goal is? I'm running a startup right now that develops a platform for music industry and it will use a lot of videos and we hope to do videos in HD eventually as we pick up but I'm unsure what would be the advantage of using Silverlight over Flash HD solution, especially since there is a lot more developers and capabilities through Flash module.
I'm assuming Silverlight's primary objective is to be used as a video streaming solution and less of an interactive platform as well?
I mean we use .NET in the dev dept. and I'm really a CCO (creative) so I'm in discussions with my dev team as to what advantages Silverlight would offer over Flash?
My primary concern is that I simply don't have enough Silverlight/Expression designer/devs like I have with Flash.
In reality, I'm really open to suggestions, I'm just curious to hear from you directly what are my advantages if I decide on Silverlight.
Thanks.
benwaggoner 04-22-09, 09:58 PM Is there any kind of buffering (or something similar) going to be supported so that people with slow Internet connections can partake in the wonderful videos?
Or do you think the user base of people with fast broadband is large enough and growing?
Well, kinda the whole point of Smooth Streaming is that we don't buffer; we want to enable playing back a 2 hour movie without a single buffer. The core of the technology is that we switch to a lower bitrate anytime we would otherwise have to buffer.
Of course, a classic progressive download or even full local file download would both work from Silverlight. We wouldn't call it Smooth Streaming, but the improved compression technology and playback performance would absolutely apply. For downloadble content, we'd want to use more variable bitrates to offer a flatter bitrate.
I am intrigued by services like VuDu support downloading so that users do not have to worry about a slow connection killing their video watching experience. I do hope that in a couple more years faster Internet connections will be more prevalent so that more people can just stream everything.
Sure, that's a perfectly valid model we'll support. Smooth Streaming is much more about emulating the TV experince with Live/PPV/on-demand.
What, if anything, does this advance mean for HD streaming via Netflix? I've held off on buying a Roku because the video quality I get on my Mac via Silverlight tends to be kind of crummy.
benwaggoner 04-22-09, 10:08 PM What, if anything, does this advance mean for HD streaming via Netflix? I've held off on buying a Roku because the video quality I get on my Mac via Silverlight tends to be kind of crummy.
Well, I don't speak for NetFlix of course. We're providing this technology to every partner who wants it, but it'll take a while for it to be broadly incorporated into encoding products and then content libraries. I'll give a heads up when we start seeing results from it.
Please do keep us informed! It seems like news and tech (and content availability) advancements are just flying right now on the long-form video streaming front!
sggoodri 04-23-09, 04:48 PM Will Silverlight 3 use hardware acceleration? My 2.4GHz HTPC plays HD WMV files flawlessy at low CPU, but Silverlight 2 uses up the CPU and stutters, particularly when stretching Netflix to full screen. I've confirmed that this is a CPU issue and not network.
Richard Tywoniak 04-24-09, 11:50 AM And now you guys are all going to bug me about 5.1 audio support :).[/QUOTE]
Ok - I will bite - what about uncompressed audio i.e. DTSHD MA
benwaggoner 04-24-09, 05:22 PM And now you guys are all going to bug me about 5.1 audio support :).
Ok - I will bite - what about uncompressed audio i.e. DTSHD MA[/QUOTE]
Honestly, I don't really see the point of uncompressed/lossless audio. Transparent compression can be done with much, much lower bitrates these days. The post-BD generation of frequency synthesis audio codecs like HE AAC and WMA 10 Pro sound great at 32 Kbps per channel and are pretty much transparent at 48 Kbps per channel.
I bet one could do 5.1 at 256 Kbps VBR that very few if any people could pick out in an A/B compare with uncompressed. I'd much rather do that and have more bits for video in a bandwidth-constrained medium.
Now that we've got 1080p working pretty well, I think I'll do some 2K streaming tests :).
benwaggoner 04-24-09, 05:27 PM Will Silverlight 3 use hardware acceleration? My 2.4GHz HTPC plays HD WMV files flawlessy at low CPU, but Silverlight 2 uses up the CPU and stutters, particularly when stretching Netflix to full screen. I've confirmed that this is a CPU issue and not network.
Yes, Silverlight 2 was software only. Silverlight 3 will use the GPU to scale and composite, which is a huge improvement. System requirements for full-screen video (assuming a large screen) are maybe 1/3rd of what they were in SL3.
I've spent about half the last few months focused on our media performance testing and tuning, and I've insisted that we test all the way up to 2560x1600 displays to make sure we handle even crazy scaling ratios. The good news is that 1080p24 on Core 2 Duo also means 480p on Netbooks.
Beyond the GPU, there's a lot of other under-the-hood tuning in the media pipeline to provide much more robust frame rates; the machine won't start dropping frames until pretty close to 100% CPU load (which will happen a lot less due to all the processing offloaded from CPU to GPU).
jagouar 04-24-09, 05:29 PM Just wondering but for somebody (netflix) will they be able to package 5.1 audio for their players? The holdup would be the roku box I would think but is silverlight 3 capable of providing ac3 audio?
Because from the netflix blog they indicated there was an issue in doing it via wma pro (cant remember what now) and they were "looking into" the issue. I would appreciate it if you had any knowledge on netflix specifically and is it a netflix/hardware problem or silverlight.
On a side note... Shouldn't Netflix be able to provide 5.1 (via WMA) to XBox 360 streamers?
benwaggoner 04-25-09, 08:39 PM Just wondering but for somebody (netflix) will they be able to package 5.1 audio for their players? The holdup would be the roku box I would think but is silverlight 3 capable of providing ac3 audio?
The Xbox 360 is already capable of real-time conversion of WMA 10 Pro to AC-3 output.
The Roku box doesn't run Silverlight; I don't know much about its capabilites.
Because from the netflix blog they indicated there was an issue in doing it via wma pro (cant remember what now) and they were "looking into" the issue. I would appreciate it if you had any knowledge on netflix specifically and is it a netflix/hardware problem or silverlight.
Sorry, don't know much about that box. I've never even touched one in person.
trbarry 05-04-09, 08:02 AM Well, kinda the whole point of Smooth Streaming is that we don't buffer; we want to enable playing back a 2 hour movie without a single buffer. The core of the technology is that we switch to a lower bitrate anytime we would otherwise have to buffer.
...
Does it automatically lower the transmitted resolution as it switches to a lower bit rate? I've always thought that would be a good idea, rather than blocks or filtering.
- Tom
benwaggoner 05-04-09, 10:36 AM Does it automatically lower the transmitted resolution as it switches to a lower bit rate? I've always thought that would be a good idea, rather than blocks or filtering.
Each chunk starts with its own sequence header. So when changing chunks you can change frame size, frame rate, aspect ratio, etcetera.
One neat side effect is that you can actually change those parameters mid-stream. For example, reducing encoded frame size for a very complex chunk. By example:
http://silverlight.services.live.com/invoke/31260/IslandMBRNewOld/iframe.html
The "New" versions use our new Smooth Streaming Encoder SDK as implemented in the NAB release of Inlet's Armada (other products coming), and varies resolution as appropriate to hit a more optimum balance of artifacts and detail. That's used quite a bit in the 1000 and 2000 Kbps clips.
That lets us use 720p for clips where 80% of the content would look fine, but 20% needs a lower resolution.
sggoodri 05-05-09, 10:38 AM Does the Silverlight video server real-time encode to adjust data rate in response to dynamic network conditions, or does it switch among different pre-encoded versions of the stream? I assume the latter, but I want to understand for sure.
benwaggoner 05-05-09, 11:46 AM Does the Silverlight video server real-time encode to adjust data rate in response to dynamic network conditions, or does it switch among different pre-encoded versions of the stream? I assume the latter, but I want to understand for sure.
It switches between preencoded bitrates. There's nothing intrinsically about the architecture that precludes on-demand transcoding, but pre-encoded offers much better scalabilty in terms of streams per box. Our goal is for the server to be able to saturate multiple Gigabit NICs on less-than-horrifyingly-expensive CPUs. So, we'd like to be able to do nearly 1000 simulatneous origin streams @ 2 Mbps off a server with two Gbps NICs.
Of course, our ability to use proxy caching is the biggest win on scalability. A CDN would only need a handful of IIS origin servers containing the whole libraries, with most of the content being delivered to the last mile via their thousands of commodity proxy caches already deployed in their network.
My two big goals for Smooth Streaming are to raise the bar for the quality of the streaming experience, and to reduce the cost to deliver.
If we can allow a content provider to deliver 2 Mbps for what they used to pay 1 Mbps for, that will hopefully lead them to deliver improved qualtiy. And with improved compression technologies, we want to make that 2 Mbps look as good as 3 Mbps did a few years ago.
Lower operating costs will also lead to more content being published, with less advertising or subscription costs needed to break even. We essentially want to make it affordable to go longer down the "long tail."
My personal goal is to see a gorgeous streaming HD version of Casablanca. There's so much great older Hollywood content with great remasters, but streaming to date has mainly been very recent stuff or lower-down-the-library. Once we've got a big enough market and a good enough cost model for all the Hollywood classics, we've done the right things.
My fantasy is to see Criterion using Smooth Streaming :).
sggoodri 05-05-09, 02:59 PM Assuming that piracy fears are why Netflix doesn't stream HD content to Windows PC based clients, does Silverlight 3 add anything to calm such fears? I'd love to watch Netflix in HD on my homebuilt HTPC. Hulu's HD gallery looks good and I expect Silverlight 3 to look as good or better.
benwaggoner 05-07-09, 12:52 PM Assuming that piracy fears are why Netflix doesn't stream HD content to Windows PC based clients, does Silverlight 3 add anything to calm such fears? I'd love to watch Netflix in HD on my homebuilt HTPC. Hulu's HD gallery looks good and I expect Silverlight 3 to look as good or better.
Well, I'm not prepared to accept your assumption :).
But no, Silverlight 3 doesn't add HDCP or anything like that.
trbarry 05-12-09, 07:57 AM Each chunk starts with its own sequence header. So when changing chunks you can change frame size, frame rate, aspect ratio, etcetera.
One neat side effect is that you can actually change those parameters mid-stream. For example, reducing encoded frame size for a very complex chunk. By example:
http://silverlight.services.live.com/invoke/31260/IslandMBRNewOld/iframe.html
The "New" versions use our new Smooth Streaming Encoder SDK as implemented in the NAB release of Inlet's Armada (other products coming), and varies resolution as appropriate to hit a more optimum balance of artifacts and detail. That's used quite a bit in the 1000 and 2000 Kbps clips.
That lets us use 720p for clips where 80% of the content would look fine, but 20% needs a lower resolution.
Yes! That is the way to go. I've been lobbying for this concept for years now (even with real time encoding). My hope is eventually all video will not even have a fixed resolution or frame rate and those will be negotiated at playback, moment by moment.
And then I forgot about this thread and didn't even see your answer after posting my question until today.
- Tom
benwaggoner 05-12-09, 04:35 PM Yes! That is the way to go. I've been lobbying for this concept for years now (even with real time encoding). My hope is eventually all video will not even have a fixed resolution or frame rate and those will be negotiated at playback, moment by moment.
Well, it's mainly negotiated per-bitrate during at encode. But there's no reason our client-side heuristics couldn't pick a lower resolution chunk from a higher bitrate that's been scaled down, in cases where it's mainly bound by frame size for some reason.
Of course, the main effect of having downsampling is that it allows HIGHER resolutions, since you don't need to sweat the lowest common denominator.
If you look at the 2 Mbps samples I gave above, Clearly 2 Mbps isn't enough for fixed 720p, but 2 Mbps is fine for 80% of the clip at 720p.
|
|