Log in

View Full Version : Silverlight 3 beta with H.264 support available


Pages : [1] 2 3

benwaggoner
18th March 2009, 23:02
I mentioned this a while ago, but we've actually got a beta out today.

http://on10.net/blogs/benwagg/Silverlight-3-Beta-Whatrsquos-New-for-Media/

Specifically, Silverlight's MPEG-4/H.264/AAC-LC support includes:

Self-contained .mp4 (including .f4v and .m4a) and .mov file formats (no reference movies or anything fancy like that).
H.264 video in Simple, Main, and High 4:2:0 profiles (progressive scan only)
AAC-LC audio mono or stereo (HE AAC will play back with lower fidelity, as in QuickTime)
Local files or http progressive download.

So, Silverlight 3 will be able to play pretty much all MPEG-4 files that would play back well in both QuickTime and Flash.

The H.264 and AAC-LC decoders are exposed via the MediaStreamSource used by Smooth Streaming, which means extending support to other file formats and protocols will work there as well. And of course, Smooth Streaming will support H.264 and AAC-LC as well.


This is still beta, so we're welcoming any feedback on issues, problematic content, etcetera. Anything in Simple/Main/High 4:2:0 should work, so if you find anything that doesn't, let us know (ideally with some sample content).

And, sorry Dark Shikari, we didn't get lossless in there :). Your request led to some real discussion about it, but in the end we just couldn't reallocate enough media test resources away from other features to sufficiently validate it. We can definitely revisit that if we see lossless H.264 catching on, or otherwise see some enabling scenarios around it.

Anyway, give it a spin and tell us what you think.

Dark Shikari
18th March 2009, 23:06
So, Silverlight 3 will be able to play pretty much all MPEG-4 files that would play back well in both QuickTime and Flash.I thought Flash could play interlaced (MBAFF/PAFF)? Despite my dislike for non-progressive content, I would think those would be considerably more important than lossless...

benwaggoner
18th March 2009, 23:12
I thought Flash could play interlaced (MBAFF/PAFF)?
It can, although it doesn't have any deinterlacing support in its pipeline so I'm not sure how useful it is :).

What I was trying to say that a file that plays well in Flash AND QuickTime would also play well in Silverlight 3, and QuickTime doesn't do interlaced H.264. There's plenty of stuff that one of them can do that neither the other nor Silverlight can.

That said, we certainly welcome feature requests for how to expand this support in future versions to enable additional scenarios.

Interlacing was something we thought would be more expensive than useful, since it's slower to decode intrinsically, would require a deinterlacing pipeline be built as well, and would increase the size of the installer.

Dark Shikari
18th March 2009, 23:16
It can, although it doesn't have any deinterlacing support in its pipeline so I'm not sure how useful it is :).That makes me wonder as well what the hell was the point of having it in there to begin with...

LoRd_MuldeR
18th March 2009, 23:29
Why should anybody embed an interlaced video into a web-site, just to deinterlace it on the client side?

Doesn't it make much more sense to deinterlace before encoding (using a high-quality deinterlacer) and only embed progressive videos into web-sites?

Embedding interlaced video into web-sites just doesn't make any sense to me. Not like interlaced video does make much sense at all...

Sagekilla
18th March 2009, 23:32
I should hope most media sites (or at least the smart ones) deinterlace any interlaced video that gets thrown at them. IIRC, interlaced tends to suck up more bitrate than progressive does.

benwaggoner
18th March 2009, 23:57
That makes me wonder as well what the hell was the point of having it in there to begin with...
In Flash? No idea. I've certainly never seen it being used, and can't really think of why it would be useful for a browser plugin.

A good motion-adaptive bob deinterlacer can make interlaced encoding with interlaced source more efficient; we saw about a 30% bitrate advantage in encoding 30i as 30i compared to encoding 30i as 60p with VC-1. But the decode complexity is high enough it wouldn't really make that much sense to do in a software-only player. And most player architectures aren't really set up to do this very efficiently. Deinterlacing in the decoder when you have the motion vector and block type data available would be a lot easier than later in the pipeline when you've got just YUY2 frames. But most architectures really force the latter approach.

I fantasized about doing that for Silveright, but the dev/test cost was way too high relative to the benefit; there's a lot lower hanging fruit out there.

turbojet
19th March 2009, 00:42
Will this finally allow people to view flash in 64 bit windows browsers?

Adobe has been 'working' on this for over a year now, still only 32 bit windows releases.

LoRd_MuldeR
19th March 2009, 00:53
Will this finally allow people to view flash in 64 bit windows browsers?

Nope. Sliverlight is not related to Flash at all. It's an adversarial technology!

The Silverlight plugin does only work with Silverlight animations (not with Flash animations). The Flash plugin does only work with Flash animations (not with Silverlight animations).

Hence Silverlight cannot substitute Flash (or vice versa). It's two different products by two different companies that exist in parallel.

Anyway, why not use a 32-Bit browser on 64-Bit Windows ???

benwaggoner
19th March 2009, 01:19
Will this finally allow people to view flash in 64 bit windows browsers?

Adobe has been 'working' on this for over a year now, still only 32 bit windows releases.
Silverlight 3 remains 32-bit only, although the Moonlight implementation from Novell is available for 32-bit and 64-bit Linux.

I suppose it's a bit of a chicken-and-egg thing; since almost no one is using native 64-bit browsers, it didn't seem worth the test cost to add another ISA. 64-bit is pretty trival from a code perspective, but it's a big expansion in the number of platforms we'd need to test on.

So, for my own context, can you tell me why and how you'd use a 64-bit browser instead of a 32-bit browser?

turbojet
19th March 2009, 02:03
Oh ok, I know I've ran across some streams that say install: adobe flash player or silverlight to play this content. Which I'm guessing is the same stream but I could be wrong and I thought what ben said 'So, Silverlight 3 will be able to play pretty much all MPEG-4 files that would play back well in both QuickTime and Flash.' would mean it could be a replacement for flash.

64 bit browsers render much quicker then 32 bit ones and I notice it quite a bit.

In terms of speed of what I use (slowest to fastest): IE7 32 - Firefox - IE7 64 - Minefield (64 bit firefox)

Minefield is my default but I use Firefox when I want to use flash. The same plugins work for both.

LoRd_MuldeR
19th March 2009, 02:10
Oh ok, I know I've ran across some streams that say install: adobe flash player or silverlight to play this content. Which I'm guessing is the same stream but I could be wrong and I thought what ben said 'So, Silverlight 3 will be able to play pretty much all MPEG-4 files that would play back well in both QuickTime and Flash.' would mean it could be a replacement for flash.

It's quite possible that some web-sites provide the same contents for both, Flash and Silverlight.

But this isn't automatic...

Gabriel_Bouvigne
19th March 2009, 11:46
AAC-LC audio mono or stereo (HE AAC will play back with lower fidelity, as in QuickTime)
No HE-AACv2? Is it something settled on, or is it just because it is still in beta stage and not feature complete?
(btw, we now have strong hints that quicktime will support HE-AAC very soon)

deets
19th March 2009, 12:07
So, for my own context, can you tell me why and how you'd use a 64-bit browser instead of a 32-bit browser?

i only have 64 minefield on one computer, well as well as ie 32/64. i personally get peeved at having to switch browsers just to use a function like flash.

for those of us who specifically went 64 bit os, why on earth wouldnt we want to use the 64 bit versions of all software, its why we got the darn thing :D

burfadel
19th March 2009, 13:25
Because despite what people say - and I'm sure I'm just about to open the can of worms - 32 bit applications peform better on x64 64-bit Windows. Much of this can probably be put down to 64 bit drivers :)...

turbojet
19th March 2009, 16:08
Because despite what people say - and I'm sure I'm just about to open the can of worms - 32 bit applications peform better on x64 64-bit Windows. Much of this can probably be put down to 64 bit drivers ...

I think this only applies to applications that have more optimized 32 bit code (it's more mature after all) then 64 bit code. However for most apps you probably wouldn't notice a difference between 32 and 64 bit cause it can't really make use of the 64 bit registries anyhow, a web browser just happens to be something that can benefit. Apps that are optimized just as well or better for 64 bit usually run a little faster on 64 bit, x264 and ffdshow64 are 2 popular tools discussed here that show this.

As for software developers compiling 64 bit apps I think it's mostly because they don't have the time or don't want to maintain 2 branches. Eventually 64 bit will be the norm but it's probably still at least 5 years out. I read many places (rumor?) that Microsoft announced Windows 7 was going to be 64 bit only but 32 bit exists and now I see reported that Windows 7 is the last 32 bit windows OS.

Just my thoughts on it but this is a bit off topic for this thread so this is all I'll discuss about 32 vs 64 bit.

benwaggoner
19th March 2009, 16:49
No HE-AACv2? Is it something settled on, or is it just because it is still in beta stage and not feature complete?
AAC-LC is the plan. Licensing of it for something like Silverlight that's a platform to build other apps on can be complex, and we hadn't had requests for it from many customers yet. Feel free to pitch me on what kind of content you'd got that uses it.

That said, we have tested we can play back the base stream of HE AAC, so you'll get audio, just at half sample rate. Not idea for anything other than voice, of course.

This is something that we'd love to see addressed via our Raw AV support for managed decoders, as we're discussing over on this thread:
http://forum.doom9.org/showthread.php?t=145758

(btw, we now have strong hints that quicktime will support HE-AAC very soon)
Do you have a link? I hadn't heard that.

Gabriel_Bouvigne
19th March 2009, 18:09
AAC-LC is the plan. Licensing of it for something like Silverlight that's a platform to build other apps on can be complex, and we hadn't had requests for it from many customers yet. Feel free to pitch me on what kind of content you'd got that uses it.
I was suspecting a licensing issue.
Regarding content, any 3gp content would likely use either HE-AAC or HE-AACv2. Sure, they are low-res contents, but it would sometimes be convenient to be able to serve the same assets for different platforms (and having an audio decoder handling the full frequency range).
As Flash supports HE-AACv2, there are some websites pushing HE-AAC and HE-AACv2 content. Examples: BBC IPlayer, Joost


Do you have a link? I hadn't heard that.
I don't have a direct link, as developers docs at Apple are requiring prior registration/login. However, within the "iPhone Streaming Media Guide for Web Developers" released on March 15th, it is clearly mentioned that iPhone 3.0 will support HE-AAC. To me it is then quite likely that Apple will push a QuickTime update on the same day as iPhone 3.0 will be released, bringing HE-AAC support.

Shinigami-Sama
20th March 2009, 05:09
So, for my own context, can you tell me why and how you'd use a 64-bit browser instead of a 32-bit browser?

64bit OS 64bit apps... makes sense to me

LoRd_MuldeR
20th March 2009, 14:39
64bit OS 64bit apps... makes sense to me

Makes sense only if the particular applications benefits from 64-Bit, as 32-Bit apps run just fine on 64-Bit OS and usually have better support...

turbojet
20th March 2009, 16:06
Which web browsing does benefit quite a bit from. What I don't understand from Microsoft is that Vista 64 bit dominates 32 bit in sales (and reports say they expect Windows 7 64 to dominate 32 even more) and they have IE7 64 and 32 installed by default but they are only supporting IE 32 with silverlight which is a very common web browser support tool.

While Microsoft still has to rely on adobe (real and quicktime have had IE 64 plugins for some time) for 64 bit IE support. if they had adobe support and chose to set IE64 as default on windows 7 64 they could stop some of the firefox bleeding, at least the user's that use firefox mainly because its faster then IE 32 which it clearly is but it's not as fast as IE 64. Minefield is hardly noticeably faster then IE 64 but I prefer the gui and the well supported plugin system from mozilla.

It's like on one hand Microsoft is trying to push forward with 64 bit (rightfully so) while on the other hand they are trying to work against it.

I was really expecting Silverlight 3 to have 32 and 64 bit support, I'm really bummed it doesn't appear to and I'm sure I'm not alone.

LoRd_MuldeR
20th March 2009, 16:18
Well, having a 64-Bit OS has a number of advantages. You can utilize 4+ GB of RAM and you are prepared for upcoming 64-Bit applications.

Still this doesn't mean that you must use only 64-Bit applications on a 64-Bit OS. Few applications are available for 64-Bit Windows yet (although the number is increasing), 32-Bit applications work fine.

So I can understand that M$ and Adobe decided that it's not worth supporting a 64-Bit browser at this time. Chrome and Firefox show us that 32-Bit browsers can be really fast!

Anyway, I wonder why M$ pushed out 64-Bit InternetExplorer at all. If they are not going to fully support 64-Bit InternetExplorer, they consequently should never have released it - at this time.

(Note: Even 64-Bit InternetExplorer feels so MUCH slower then 32-Bit Firefox/Chrome that the room for improvements definitely is somewhere else...)

turbojet
20th March 2009, 16:24
Adobe has 64 bit linux support for quite some time and 'working' on 64 bit windows support, which is supposed to come in flash 10.

True 64 bit OS's doesn't mean you have to use 64 bit apps, but in this case it's saying I have to use 32 bit even though it's inferior.

Firefox and Chrome are very fast, but slow in comparison to IE7 64, Minefield.

The only company that we are discussing that shows lack of interest in 64 bit in this discussion is Microsoft, specifically with Silverlight.

LoRd_MuldeR
20th March 2009, 16:49
Adobe has 64 bit linux support for quite some time and 'working' on 64 bit windows support, which is supposed to come in flash 10.

At least 64-Bit Windows support obviously isn't a priority for them. 64-Bit Flash Player is in the 'we are working on it' state for quite some time now...

Firefox and Chrome are very fast, but slow in comparison to IE7 64, Minefield.

I can't agree. InternetExplorer 7.0/8.0 (even the 64-Bit versions) feels horribly slow, no matter how many benchmarks pretending the opposite they publish.
Not only that it takes absurdly long to open a new tab, it also takes far to much time to load a web-site. Often the entire browser seems to freeze for a few seconds!
Hence the 32-Bit versions of Firefox/SeaMonkey as well as Chrome just feel a whole lot faster to me.
I also tested 64-Bit Minefield against 32-Bit Firefox, but I can't notice any significant difference, as the latter already feels perfectly smooth.

But that's getting a bit off-topic now, I think ;)

Shinigami-Sama
20th March 2009, 18:57
Makes sense only if the particular applications benefits from 64-Bit, as 32-Bit apps run just fine on 64-Bit OS and usually have better support...

thats the same half assery as 16bit programs in 32bit OSes...

benwaggoner
20th March 2009, 19:14
thats the same half assery as 16bit programs in 32bit OSes...
Not really. 32-bit was a HUGE improvement in security, stability, and development from 16-bit. 32-bit was really a whole new and much better beast for writing and running software. 64-bit is a relatively minor improvement on top of 32-bit, the value of which is dependent on the application.

For software that needs huge memory like a database, it's an obvious win. Ther's a reason that the current Exchange is 64-bit only. Windows Media Services is also quite a bit faster in 64-bit mode.

But other stuff, it simply does't address any actual bottlenecks in the code. There's no end-user difference in browsing experience due to being in 64-bit; you're never going to need 4+ GB browsing today's web, and the extra registers simply aren't that material.

From my own field, we never found a way to do anything all that compelling with 64-bit for video compression; SSEx and memory architecture are massively more important. While we dabbled with a 64-bit version of WME, we discoverd that most of the performance improvements there were applicable to 32-bit as well. In the end, we could provide better net performance by focusing on 32-bit instead of having to split dev/test across two different ISA's. The focus on making 32-bit faster made encoding on 64-bit faster than if we'd spent half as much effort focused on just 64-bit.

turbojet
20th March 2009, 22:53
I guess it all depends on the code. x264 gets a nice 5-15% speed boost in most cases just from a 64 bit exe. Using 64 bit avisynth/splitter/decoder is expected to give more of a boost.

I did some benchmarks with peacekeeper (http://service.futuremark.com/peacekeeper/index.action) on an X2 3800+ 1GB RAM vista 64 box and this was the results:
Firefox 3.0.7: 300
Minefield 3.0.7: 307
IE7 32: 164
IE7 64: 199

There's definitely some differences but I'm not sure how accurate the benchmark is.

My only gripe with Microsoft is that they aren't supporting their own 64 bit web browser by keeping Silverlight 32 bit only yet they expect 64 bit windows to keep dominating 32 bit in sales.

LoRd_MuldeR
20th March 2009, 23:03
I guess it all depends on the code. x264 gets a nice 5-15% speed boost in most cases just from a 64 bit exe.

Because x264 is highly CPU limited, is optimized for x64 and doesn't have any GUI. That's not exactly comparable to a web-browser ;)

There's definitely some differences but I'm not sure how accurate the benchmark is.

Not very accurate. If the benchmark would represent how "fast" and "responsive" a browser feels in real-life usage, the numbers would look more like this:

Firefox: 100
Minefield: 105
IE7 32: 10
IE7 64: 11

Snowknight26
20th March 2009, 23:24
Someone's biased. ;)

Dark Shikari
20th March 2009, 23:29
Someone's biased. ;)Yeah, giving IE scores that high is absurd.

turbojet
20th March 2009, 23:46
Because x264 is highly CPU limited, is optimized for x64 and doesn't have any GUI. That's not exactly comparable to a web-browser ;)


Uh that was in response to ben's claim that focusing on 32 bit encoding is more beneficial then spending half the time focusing on 64 bit. Which I can't disagree with when it comes to WME but depending on the code it's not always true.

Web browsing mainly involves many reads/writes of small files, like decoding or antivirus. Both of which have proven benefits from optimized 64 bit code as opposed to optimized 32 bit code on a 64 bit OS.

Anyhow it's pretty clear that silverlight 3 won't be released in 64 bit from what I understand, guess I will have to wait even longer to get rid of firefox. Maybe when Flash 64 bit drops they'll consider it.

benwaggoner
21st March 2009, 04:09
I guess it all depends on the code. x264 gets a nice 5-15% speed boost in most cases just from a 64 bit exe. Using 64 bit avisynth/splitter/decoder is expected to give more of a boost.
It'd be interesting to see that end to end test, and to do some profiling to see where the speed gains really come from.

Like I said, when we did WME x64 edition, it was a whole lot faster than the 32-bit version. But once we looked at the optimizations that were done, there was very little that was 64-bit specific in that.

Often doing a 64-bit port is a great excuse to do some performance improving refactoring, so just because a 64-bit verisons is faster doesn't mean that it's faster due solely to 64-bit features.

[QUOTE]My only gripe with Microsoft is that they aren't supporting their own 64 bit web browser by keeping Silverlight 32 bit only yet they expect 64 bit windows to keep dominating 32 bit in sales.
It's always down to delivering the best customer value per release given dev/test costs. Having to test on a whole additional set of browsers and develop for another ISA would have meant fewer other new features. I'm sure we'll do a 64-bit verison down the road, but there were other higher priority features to deliver in SL3.

Since .NET bytcode itself is bitness-agnostic, Silverlight apps for 64-bit wouldn't be any different, so if we reach a point where 64-bit browsing has a significant advantage over 32-bit, a Silverlight 64-bit version would take the existing base of applicaitons along with it for free.

But really, the places where we sweat performance in Silverlight aren't things that that 64-bitness would help. Conversely, SSE2 is a HUGE win all kinds of places in Silverlight.

Those with a more recent CompSci background than mine would have more useful thoughts on this, but it seems that SIMD-heavy code isn't going to get as much value out of 64-bit native as branchy scalar code, where those extra registers are a big help. And even with 2K encoding with 16 reference frames, it's hard to see an instance of an encoder getting anywhere near 4GB of memory utilization. The encoders I see using even 2 GB of RAM running are generally running multiple encoder instances for parallelization, but no one process is using even 1 GB of RAM.

CruNcher
21st March 2009, 09:41
How does the GPU acceleration is working now (what is done to make it secure) ? is DXVA 1.0 still supported XP or only 2.0 (Vista/Seven) is it browser dependent ?
Is Smooth Stream already implemented for H.264 in the Windows Media Server ? is it supported in MediaRoom ?
Performance compared to Adobes Mainconcept Decoder in FlashPlayer (Software Decoding) Multithreaded ?
when is the SL OpenVideoPlayer code gonna be updated with the 3.0 tree ?

http://showcase.premiere.de/PremiereShowcase.htm <- hope we gonna see some similar Showcase based on H.264 and SL3 :)

nm
21st March 2009, 10:37
How does the GPU acceleration is working now (what is done to make it secure) ? is DXVA 1.0 still supported XP or only 2.0 (Vista/Seven) is it browser dependent ?
Silverlight 3 does not use DXVA. It only supports GPU scaling and compositing, like Flash 10.
Read "GPU scaling and compositing" at http://blogs.iis.net/benwagg/archive/2009/03/18/silverlight-3-beta-what-s-new-for-media.aspx

Manao
21st March 2009, 16:07
Like I said, when we did WME x64 edition, it was a whole lot faster than the 32-bit version. But once we looked at the optimizations that were done, there was very little that was 64-bit specific in that.It's also the case for x264. Only a handful of SIMD functions make use of more than 8 SIMD registers. So most of the roughly 10% boost is brought simply by compiling for 64 bits (more registers, faster calling convention). Imho, the only scenario in which x64 wouldn't help that much is when a piece of code is memory bound.

Finally, since x264 is both open source and already insanely optimized for 32bits, it's a good project to test what speed ups x64 can manage. As you said, if a closed source application gains 50% speed up in x64, we can't conclude anything since the whole application may have been rewritten while being converted to x64.

CruNcher
21st March 2009, 16:12
Thx for the link i just read this "GPU acceleration and H.264 video support;" and thought it means DXVA, but i guess it's a to heavy security problem implementing it in a Webbrowser Plugin :(

squid_80
21st March 2009, 16:57
From my own field, we never found a way to do anything all that compelling with 64-bit for video compression; SSEx and memory architecture are massively more important.
Maybe if the win64 ABI was more sensible (XMM6+XMM7 are now non-volatile, WTF?) you would have had different findings. </rant>

benwaggoner
21st March 2009, 17:38
Silverlight 3 does not use DXVA. It only supports GPU scaling and compositing, like Flash 10.
Read "GPU scaling and compositing" at http://blogs.iis.net/benwagg/archive/2009/03/18/silverlight-3-beta-what-s-new-for-media.aspx
Exactly. Getting DXVA working well cross-platform for VC-1 and H.264 would be...challenging to say the least. And it's generally the older machines that don't have GPU decode where you'd most want it anyway.

A much broader swath of the installed base can handle GPU scaling and compositing, which winds up helping media playback anyway as it saves CPU and memory bandwidth the decoders can now have.

We're trying to be really crisp in communicating it as "GPU compositing and scaling" - Adobe's Flash 10 marketing left a lot of people thinking that they were doing actual decoder acceleration on the GPU, and we don't want to confuse the market in the same way.

We're also trying to hold the line on HD as being at least 1280 pixels wide; zambelli and I are fighting hard against this "480p is HD for the web!" nonsense . Hence the March Madness player is being labled as "HQ" not "HD."

http://on10.net/blogs/benwagg/March-Madness-Silverlight-on-YouTube-and-encoding-settings/

popper
21st March 2009, 18:12
Ben you might be better to shift the HQ +Wide Screen to better fit peoples expectations today.

if your really looking for a must have option for the future SilverLight3 , write and include as a generic option,making sure to turn it on from first install (with an easy GUI/shell option to turn it off OC), what?
a "Multicast tunnel client/server" make it as simple or complex a model as you like, that any (AVC)video content can then use as its generic WWW streaming path.

but this generic Multicast tunnel MUST be included and documented for easy interfacing from any 3rd party code, and a browser plugin that knows about and uses this tunnel and any "SAP ANNOUNCE" data found as default.

http://www.dailywireless.org/2009/03/19/live-ncaa-basketball-everywhere/
"....CBS has embedded its Silverlight March Madness and live game coverage directly onto a YouTube channel...."

"...Microsoft’s Silverlight powers the channel. It is the first time YouTube has ever been able to offer live TV. In addition to the Flash-based ~550Kbps standard def streaming, the optional Silverlight player will deliver “high-definition quality video” running at ~1.5Mbps to millions, at home or on the go. At MIX09, this week in Las Vegas, Microsoft was showcasing Silverlight technologies. ...."

give people the choice and make it easy for them to migrate from the old antiquated Unicast streaming to a real multicast bandwidth saver and you might see the web become far more usable for multicast tunneled user created content with SL3 at the core....

having the ability to live Multicast (through a tunnel) your content to just 3+ people interested in it, gaves you a saving in both bandwidth and processing long term,never mind the likes of massive savings Youtube streaming sites might make, so make multicasting tunnels easy to use and a generic option for everyone....

VLC and the like might then finally include some form of Multicast tunnel in their core code too compliment their existing generic Multicast Transport Stream abilitys, and so make it easy to bypass the worlds major and minor ISPs that refuse to give direct access to the MultiCast protocol to/from their end users ;)


video stream<>SL3-server<>multicast-tunnel<> any client/plugin listening/asking for the content

benwaggoner
21st March 2009, 18:56
Ben you might be better to shift the HQ +Wide Screen to better fit peoples expectations today.
Yeah, I like the "HQ" moniker, since it reminds the not very technical of HD, without being misleading to those who know the proper definition.

Also, with Smooth Streaming, we're working to make HD delivery a lot more feasible, so we'll be able to accurately call a player HD.

if your really looking for a must have option for the future SilverLight3 , write and include as a generic option,making sure to turn it on from first install (with an easy GUI/shell option to turn it off OC), what?
a "Multicast tunnel client/server" make it as simple or complex a model as you like, that any (AVC)video content can then use as its generic WWW streaming path.

but this generic Multicast tunnel MUST be included and documented for easy infacing from any 3rd party code, and a browser plugin that knows about and uses this tunnel as default.
In the end, Silverlight really is an application framework, so we've stayed away from any cases where it would ever be implicitly triggered. Silverlight doesn't get any file type associations, so the only time it ever gets used is when it's explicitly called. The Moonlight guys have done something kind of like this with Moonshine. With the new out-of-the-browser mode, having Silverlight work more like a desktop player is a little more feasible, but for security reasons it'll never have unfettered access to the local file system. Something like Moonshine could certainly incldue a native code multicast proxy and then call Moonlight/Silverlight, serving the media as a localhost web service.

As for multicast, I think the proxy chaching of Smooth Streaming provides a lot of the value without nearly the same infrastructure overhead. Multicast is mostly of interest for enterprise (where there aren't internal proxy caches) and low latency (where a chunk-based approach gives a multi-second broadcast delay).

http://on10.net/blogs/benwagg/Beta-Release-of-Smooth-Streaming/
http://on10.net/blogs/benwagg/Live-Smooth-Streaming-Beta-Inlet-encoderrsquos-and-the-2010-Winter-Olympics/

give people the choice and make it easy for them to migrate from the old antiquated Unicast streaming to a real multicast bandwidth saver and you might see the web become far more usable for multicast tunneled user created content with SL3 at the core...
The problem with multicast is that very few users in the USA actually have end-to-end multicast enabled routers to them from the public internet. We've supported multicast in Windows Media for years, and it's virtually unused for consumer media except in the few countries where they had a goverment mandate for multicast support.

popper
21st March 2009, 20:08
Yeah, I like the "HQ" moniker, since it reminds the not very technical of HD, without being misleading to those who know the proper definition.

sorry, perhaps i wasnt clear enough, i was refering to the requirement for, and expectation of "WS/WideScreen" by everyone today, so make sure you include that most basic 16:9.

remember the basic choices to keep (HD) widescreen ratios when you get the choice to Encode your content are 848x480 (16:9) ,1280x720 (16:9) , 1360x768 (16:9) , and OC 1920x1080 (16:9), were the likes of the UKs Virgin media users on 10/20/50Mbit could use that real HD ;)

Also, with Smooth Streaming, we're working to make HD delivery a lot more feasible, so we'll be able to accurately call a player HD.

thats the worlds ISPs problem though, making sure they supply real unlimited high bitrates that you can stream AVC/H.264 HQ/HD WideScreen to and from the web and turning their Multicast filtering OFF all the way to/from the end users CPE kit sat on the desk OC.


In the end, Silverlight really is an application framework, so we've stayed away from any cases where it would ever be implicitly triggered.

Silverlight doesn't get any file type associations, so the only time it ever gets used is when it's explicitly called.

The Moonlight guys have done something kind of like this with Moonshine.

With the new out-of-the-browser mode, having Silverlight work more like a desktop player is a little more feasible, but for security reasons it'll never have unfettered access to the local file system.

Something like Moonshine could certainly include a native code multicast proxy and then call Moonlight/Silverlight, serving the media as a localhost web service.

but a "multicast proxy" does a totally different job to my proposed "multicast tunnel" , and im clearly talking about allowing for Multicast streaming user to users and server to users over the web, rather than the local LAN/WAN/MAN were your ISP cant interfer with your protocols.

As for multicast, I think the proxy caching of Smooth Streaming provides a lot of the value without nearly the same infrastructure overhead.
perhaps so ,but im not convinced yet,time will tell i guess.

Multicast is mostly of interest for enterprise (where there aren't internal proxy caches) and low latency (where a chunk-based approach gives a multi-second broadcast delay).

http://on10.net/blogs/benwagg/Beta-Release-of-Smooth-Streaming/
http://on10.net/blogs/benwagg/Live-Smooth-Streaming-Beta-Inlet-encoderrsquos-and-the-2010-Winter-Olympics/



NO, thats not true, IF you or some other 3rd party were to give the end users the ability to simply use multicast inside a generic included tunnel if need be, to easly stream and control/announce their content, then they would, like a shot.... it is NOT just of interest for enterprises, end users that know about it,have wanted it forever , and those that dont, would soon see the benefits as it became popular....and saves them long term bandwidth and CPU processing.

The problem with multicast is that very few users in the USA actually have end-to-end multicast enabled routers to them from the public internet. We've supported multicast in Windows Media for years, and it's virtually unused for consumer media except in the few countries where they had a goverment mandate for multicast support.

the world is not just the USA remember Ben ;)

Multicast is "Virtually Unused" not because people dont want to use it, but Because the ISPS go out of their way to filter the Multicast protocol and/or turn it OFF altogether in their routers and related kit.

and i take the implyed point about the home router problem, However i did say and keep saying "Tunnel"

exactly because of this ISP filtering of the protocol, as all the worlds ISP routers and related kit are fully multicast capable, but they choose not to let you the end users use or access it..

because the majority of the world ISPS filter it from you for no good reason, you NEED a tunnel and a multicast end point (this Multicast server/tunnel i advocate inside SL for instance) to bypass that and mTunnel proves the point, try it between two or more web connected PCs and VLC MC some content from one, works fine and the ISPs choices to deprive you of the MC protocol are no more.
http://www.cdt.luth.se/~peppar/progs/mTunnel/

this most basic and old java based multicast tunnel runs on any generic UDP IPV4, and you then place/push any of your multicast content inside that tunnel, SO no problem as you have bypassed their native UDP IPV4/6 multicast filtering etc....

you must be able to make something that can perform at least as good as the old "Mtunnel" from MBONE days surely?, and intigrate it into SL as a generic option for people/devs to use!, the question then is, "will you? include a tunnel that works for easy use of multicast content streaming and it's control over the web"

Ohh ,and stop calling AVC/H.264 "Mpeg-4" in your blog ;) , people might start thinking you can use Divx the original "Mpeg4" in SL

popper
21st March 2009, 22:06
ben said:"Quote: In the end, Silverlight really is an application framework, ..."

just a thought, are we going to see SilverLight being used for serving the 360 for video streaming over multicast ?, and are we ever going to see a firmware update for the 360 that can play AAC-LC with more than 2 channels from that ?

come to that, could you put SL and some way to control/interact with it on the 360 firmware given its PPC/Altivec+ based, does your SL codebase compile and run there ?

benwaggoner
21st March 2009, 22:10
Ohh ,and stop calling AVC/H.264 "Mpeg-4" in your blog ;) , people might start thinking you can use Divx the original "Mpeg4" in SL
I don't think I ever call the codec MPEG-4 in the blog, but I do specify the MPEG-4 file format in a bunch of places.

Our terminology could use some refactoring. I'm particulary tired of typing and explaining "MPEG-4 Part 2" over and over again :).

benwaggoner
21st March 2009, 22:15
just a thought, are we going to see SilverLight being used for serving the 360 for video streaming over multicast?
You mean going from Silverlight to the XBox 360 as an extender?

That's really out of scope for Silverlight, since it'd be just serving a file without any of the interactivity and managed code. WMP works fine for that already.

and are we ever going to see a firmware update for the 360 that can play AAC-LC with more than 2 channels from that ?
That would be a question for the Xbox team. I know they know that some people want it :). I don't recall why it wasn't done the first time around, so I don't know if anything has changed to enable it.

come to that, could you put SL and some way to control/interact with it on the 360 firmware given its PPC/Altivec+ based, does your SL codebase compile and run there ?
Silverlight for an integrated device like the Xbox would really be a reimplementation more than a recompilation to be done well. Try YouTube on the PS3 if you want to see how well a recompilation approach works :). The nice thing about a device like a phone or console is that you can count on hardware and drivers MUCH better than with a PC, so stuff like the GPU can be leveraged more. In a lot of ways, console and CE devices are more like smartphones with huge screens than a desktop computer.

popper
21st March 2009, 22:18
lol, just call it AVC and be done with it, everyone can then follow your lead....

"sliced another way, Silverlight 3 will be able to play pretty much all MPEG-4 files that would play back well in both QuickTime and Flash." kind of implys the codec to the average user dont you think....

"sliced another way, Silverlight 3 will be able to play pretty much all AVC files that would play back well in both QuickTime and Flash." sounds just so much nicer to the average users, at least i think so.

"You mean going from Silverlight to the XBox 360 as an extender?"
yes...

but more than that, id like to see the interactivity potential of SL directly on the 360,the codecs updated to bring it inline with todays content, hell even a simple browser would be a good start in the next firmware update so we could use it for web based Silverlight and other content online/LAN etc...

i dont see it as a fixed CE device , it is a powerful 3 core PPC/Altivec PC that could be doing so much more in the video streaming home, but for the lack of (SL)apps or the ability to install them and use remotely from your LAN....

as an extender 360/WMP doesnt go anywere far enough for me, so i use Tversity as the better option right now, the path for SL doesnt seem very clear to me as you imply these type of apps are "really out of scope for Silverlight", if so it seems the 360 will never be anything other than a dumb extender relying on a powered LAN PC were it could be so much more independant in the streaming video home, or perhaps that might change in the future with a firmware update!

Dark Shikari
21st March 2009, 22:22
H.264 is probably a better term than AVC, as it's more widely used IMO.

benwaggoner
21st March 2009, 22:53
lol, just call it AVC and be done with it, everyone can then follow your lead....

"sliced another way, Silverlight 3 will be able to play pretty much all MPEG-4 files that would play back well in both QuickTime and Flash." kind of implys the codec to the average user dont you think....

"sliced another way, Silverlight 3 will be able to play pretty much all AVC files that would play back well in both QuickTime and Flash." sounds just so much nicer to the average users, at least i think so.
But it's not an AVC file. It's a MPEG-4 file containing H.264 and AAC-LC content. H.264 is a codec, not a container. I think that, when being precise, I'd only call it a "H.264 file" if it's an elementary stream file.

"You mean going from Silverlight to the XBox 360 as an extender?"
yes...
What would you get from that you couldn't get from WMP?

benwaggoner
21st March 2009, 23:04
H.264 is probably a better term than AVC, as it's more widely used IMO.
A few years back I tried to push AVC over H.264, as both easer to type and say, and also to be neutral between MPEG and ITU. And yes, there are still people who care about the politics of the name - kind of like the GNU/Linux thing. So I make sure to call it AVC/H.264 when it might be read by those audiences :). A few years about I had a whole PowerPoint slide explaining the codec's nomenclature.

But in general, H.264 clearly won the naming war, probably thanks to Apple and QuickTime. H.264 is certainly better than typing "MPEG-4 Part 10" every time... I just wish we had a H.26x name for MPEG-4 Part 2, since there's really not satisfying shorthand for it. divx/xvid are product specific, and ASP is obviously specific to a particular profile.

hajj_3
22nd March 2009, 04:01
Its a shame you arent making a 64bit version of silverlight3, vista64 has a 64bit version of IE7 (not default of course) and i'm fairly sure IE8 on windows7 x64 is 64bit, dont think i saw a 32bit version on the start menu of beta 7057 i tried a few days ago. Seems a bit pointless having a 64bit IE and no 64bit flash or silverlight. Can't you just hire some more programmers, you're making alot of profit each year.

Will multi-channel AAC be supported?

DXVA would be nice to add in the next version, just to reduce the cpu usage a little, especially on laptops with say a nvidia 8 series card, many of which only have a pentium dual core, maybe even celeron-m cpu. Wont affect those with core i7 cpu's much but for older cpu's it would help.

Maybe version 3.5 you could add 64bit support, HE-AAC, DXVA and maybe a few other missing things. I havent come across many websites that use silverlight that i use, only ITV.com/catchup (online tv catchup service for a uk tv channel), do you have a list of big sites that use it somewhere?

benwaggoner
22nd March 2009, 04:25
Its a shame you arent making a 64bit version of silverlight3, vista64 has a 64bit version of IE7 (not default of course) and i'm fairly sure IE8 on windows7 x64 is 64bit, dont think i saw a 32bit version on the start menu of beta 7057 i tried a few days ago. Seems a bit pointless have a 64bit IE and no 64bit flash or silverlight. Can't you just hire some more programmers, you're making alot of profit each year.
Win 7 definitely supports 32-bit browsing in 64-bit mode, or else plugins wouldn't work :). They may have cleaned up GUI around that to avoid this very confusion.

64-bit seems compelling as nerd correctness, but really is much more interesting at the OS level than at the consumer app level for most things. It's big for databases, Photoshop, and 3D animation where > 4 GB can actually get used.

Will multi-channel AAC be supported?
Not in Silverlight 3. Our audio pipeline is stereo only, like Flash, so there really hasn't been that much point yet.

DXVA would be nice to add in the next version, just to reduce the cpu usage a little, especially on laptops with say a nvidia 8 series card, many of which only have a pentium dual core, maybe even celeron-m cpu. Wont affect those with core i7 cpu's much but for older cpu's it would help.
The challenge is that Silverlight can do a whole lot of post-decode processing of the video, far beyond what WMP could do, and DXVA isn't really well suited to doing rich post-decode image processing. And DXVA isn't always reliable to use by default on the morass of cards and drivers out there; if DXVA driver bugs failed on even 2% of customer desktops out there as currently configured, we'd have a support nightmare.

Maybe version 3.5 you could add 64bit support, HE-AAC, DXVA and maybe a few other missing things. I havent come across many websites that use silverlight that i use, only ITV.com/catchup (online tv catchup service for a uk tv channel), do you have a list of big sites that use it somewhere?
We really need to get the "where Silverlight is used" site up. Unfortuantely many of the most compelling examples are georestricted, so there's really only visible in one region. The one most people talk about is Netflix, I'd guess. The March Madness tourneyment here in the states is massive, and in Silverlight, as is most of CBS Sports now. Home Shopping Network (also huge in the USA) has been all Silverlight for over a year now. We just announced we're doing the 2010 winter Olympics, including like streaming of whole events in 720p. All the major South Korean broadcasters have standardized on Silverlight. TV2 in Norway. RAI in Italy. CTV in Canada. BSkyB.

If you can tell me what country you live in, I can find out what our cool stuff there is.