HTML5 on consoles

Sortof... but not really. Chrome splits rendering on one core, and script execution on another other. Realistically you get one thread to render your game. For games, this means you hit a rendering bottleneck almost immediately, and won't get any help from additional cores.

Also, Flash 10.2 is not multithreaded at all, but this is coming soon.

The point I was keying on was the ability to call routines out of webkit and use them in other applications. This is how the webkit Javascript port is being used by IPTV applications.

We knew Air did not support <Video> tag and Patsu discovered that Netflix was using <object>tag for video.

The unanswered question left after the GNU license disclosure (webkit javascript engine port) was what was providing the DRM tool, perhaps Air 2.5 for TV which relies on the platform to supply the javascript and player but provides the other tools to support a Flash media server 3.5 stream. Flash 10.1 is multi-threaded which might mean that routines could be called out of it if Sony had also ported a partial Flash 10.1. The player is probably a modified (DRM hooks) cell optimized H.264 codec. (Adobe provides code free to do this.)

Flash 10.1 is multi-threaded as it will not work on an OS that does not support multi-threading. I.E. it will not work on Android 2.1 but will work with 2.2.
 
Flash 10.1 is multi-threaded as it will not work on an OS that does not support multi-threading. I.E. it will not work on Android 2.1 but will work with 2.2.

Quick google search gives you tutorials and examples on how to thread you application. Ie have different threads do different things and they go back to 2008.

Btw check scooby_doo's signature and try the html5 game he points to.
 
We knew Air did not support <Video> tag and Patsu discovered that Netflix was using <object>tag for video.
NetFlix is not going to use HTML5 for video playback, period. Unless they want to give away free copies of their movies...

perhaps Air 2.5 for TV which relies on the platform to supply the javascript and player but provides the other tools to support a Flash media server 3.5 stream.
That's not going to work, and doesn't make any sense. It won't work because the StageWebView control in AIR 2.5 for TV doesn't facilitate communication between Actionscript and the Browser. It doesn't make sense, because if you have to use it anyways for video playback, you'd just build the entire app in AIR.

Flash 10.1 is multi-threaded as it will not work on an OS that does not support multi-threading. I.E. it will not work on Android 2.1 but will work with 2.2.

LMAO. Where do you get this stuff? This is just nonsense...pure nonsense.

1. Flash is NOT multithreaded, period. There is no support for multiple threads, ie having a thread for your UI, and a seperate thread for processing. A tiny caveat, is that you can use PixelBender to run chunks of math in a seperate core, but that's it, and extremely limiting.

Yes, there tutorials on how to fake threading, ie "Green Threading", but it's a hack because we don't have true support. (This is coming soon though likely in the next major release 10.5 or 11)

2. Android is a Java virtual machine, running on C++ OS. I'm pretty sure it was pretty much always multithreaded... I could be wrong though, not a Java expert.

3. Flash supports 2.2 because of additional API hooks that were not available in 2.1, simple as that. And that comes straight from the Director of Engineering for Adobe AIR.
 
To be pedantic, Android is NOT a Java Virtual Machine. It does nto run Java bytecode. The code that it runs on Dalvik must be run through a processing step that translates typical Java Bytecode into Android specific bytecode. [ http://en.wikipedia.org/wiki/Dalvik_(software) ]
 
Sortof... but not really. Chrome splits rendering on one core, and script execution on another other. Realistically you get one thread to render your game. For games, this means you hit a rendering bottleneck almost immediately, and won't get any help from additional cores.

scooby, do you have a link to the tech article explaining Chrome's approach ? Aren't they using WebKit ?

EDIT: In WebKit, the name WebCore (for layout), and JavaScriptCore (for script execution) are for marketing only. Apple has a bunch of these: CoreMedia, CoreVideo, CoreAnimation, etc.
 
NetFlix is not going to use HTML5 for video playback, period. Unless they want to give away free copies of their movies...

That's not going to work, and doesn't make any sense. It won't work because the StageWebView control in AIR 2.5 for TV doesn't facilitate communication between Actionscript and the Browser. It doesn't make sense, because if you have to use it anyways for video playback, you'd just build the entire app in AIR.

LMAO. Where do you get this stuff? This is just nonsense...pure nonsense.

1. Flash is NOT multithreaded, period. There is no support for multiple threads, ie having a thread for your UI, and a seperate thread for processing. A tiny caveat, is that you can use PixelBender to run chunks of math in a seperate core, but that's it, and extremely limiting.

Yes, there tutorials on how to fake threading, ie "Green Threading", but it's a hack because we don't have true support. (This is coming soon though likely in the next major release 10.5 or 11)

2. Android is a Java virtual machine, running on C++ OS. I'm pretty sure it was pretty much always multithreaded... I could be wrong though, not a Java expert.

3. Flash supports 2.2 because of additional API hooks that were not available in 2.1, simple as that. And that comes straight from the Director of Engineering for Adobe AIR.

If you had followed this thread you would have a better understanding of what I am attempting to say.

This thread was an attempt to determine how Sony was going to and then how they supported the New IPTV applications like Netflix, Hulu, Lovefilm as well as EU TV sites like the BBC.

It starts with quotes from Netflix stating that they were going to a HTML5 UI and were supporting ultraviolet DRM. HULU and Mubi stating they were using Flash media server version 3.5 streams.

Given some conditions:

1) The PS3 does not have a desktop home screen or many of the routines to support a windows like desktop. So products that are normally used like Air would need custom wrappers to support them. (This also applies to a Webkit port, many of the PD libraries and screen support libraries were missing from the PS3.)

2) It has no web browser or version of Flash (10.1 or Air 2.5) needed to support Flash Media server 3.5 streams or desktop applications.

3) Sony has access to source code for Webkit and most likely Flash 10.1 and Air 2.5; this because Adobe will not port to Power PC platforms and Sony must port the product themselves. There are several versions of Air for different platforms.

4) Multi-threading requires, as does good practice, Webkit and Flash to have separate easily callable routines that could be used by other applications. For Webkit, there is a process built in to do this. For Flash, since Sony has the source code, they can use, maybe with slight modifications to index useful routines, Flash code to custom support the Media server 3.5 streams.

5) Sony is going to port a Webkit WebGL HTML5 browser to the PS3 to display 3-D and support WebGL games. (This from multiple comments of different Sony employees.) Efforts to insure a very fast generic-universal javascript engine is a given for the above. This may be why webkit's rather than Google's V8 was chosen.

Now comes the speculation, how will Sony do this given they don't want to duplicate effort or code. Duplicating code as in Webkit contains a Javascript engine and Air or Flash also contains the same Javascript engine. Remember the PS3 is limited as to memory so eliminating duplicate routines in memory is a must.


1) Javascript HTML5 engine Since they are already planning on porting a Webkit browser to the PS3 and the HTML5 javascript engine is a separate callable set of routines they can port it first to provide the UI for these new IPTV applications.

This was my first choice but there was much criticism for this theory on this and other forums. There still is as the JIT javascript engine is considered difficult to implement. Note: there are 217 changes to the Webkit cairo/posix port of the javascript engine. This however has been confirmed.

2) For the player which needs code and hooks built into it to support DRM and adaptive streaming they can use the same cell optimized H.264 codec and modify it with the Free Adobe supplied code to enable the player to support ultraviolet DRM and Flash media server 3.53 streams which also now support trick playing (REW-FF-Chapter) and instant start -Adaptive streaming without hiccup. They are already doing this for Sony blu-ray players so I expect the same Adobe provided code is used for all Sony products.

3) They still need a DRM tool like Access or Marlin. They can use Air 2.5 for TV since it is designed for blu-ray players and TVs and the PS3 is a blu ray player. Air for TV requires the platform to supply the player and javascript engine. This would eliminate duplicate code. Or since they are eventually porting Flash 10.1 or higher to the PS3 with the coming webkit they can also port a partial Flash 10.1 for the tools in it.

Arguments about Flash StageWebView and the level of hardware support built into current Flash versions are irrelevant as Air for TV requires Sony to provide what is usually SOC hardware with Sony provided javascript and H.264 codec/player. Also a custom wrapper to define the screen and provide an interface is needed because the routines to do this are missing from the OS. StageWebView would not work without custom support in any case.

Your first criticism about the level of support in the current version of Air 2.5 had me do research and I discovered Air 2.5 for TV which would answer your points and more closely match the conditionals above (duplicate code)

IF we can determine how Sony did the above we might be able to determine if Sony will be supporting cross platform javascript applications and widgets. I.E. if they used Air for TV they might be supporting more powerful cross platform widgets if they used Flash 10.1 then they could still implement widgets but the choice would tend to indicate that they are not.

Side notes: Google is more tightly integrating Flash into Chrome. Perhaps to reduce duplicate code like the javascript engine. The same design goals for the PS3 because of limited memory apply to cellphones/handhelds.

RE HTML5 and the PS3: to continue this thread would be about further uses for HTML5, like for example; widgets on the XMB screen and HTML5 used for UIs in parts of the XMB. Cloud computing and using HTML5 for email and editing with server-cloud supplied UIs.

The original OP post has been confirmed:
Quote of AzBat:

Looks like the Xbox 360 will be getting HTML5 support with their upcoming dashboard update. Evidently that's how ESPN is bringing it's streaming content to the box.

The concession by Microsoft is very intriguing because it signals to content providers that they're really serious about providing their content on the 360. I wouldn't have expected them to go beyond their own streaming tech and Silverlight to support HTML5 (confirmed, Silverlight 5 to be released in 2011 and in the Xbox) . Like the article mentioned it looks like Microsoft have now opened the door to more custom HTML5 apps like Major League Baseball. Who knows maybe the NFL will be next? (The current HTML5 support in the Xbox is most likely a HTML5 javascript engine.)

What about the PS3? It seems the new Netflix app on the PS3 might require HTML5 too (Confirmed). So Microsoft definitely won't be the only one. The PS3 could even get there first if the Netflix app comes out in October like it's been rumored.

The continuing evolution of these 4+ year old systems is amazing. At this rate we might never need new consoles.
 
Last edited by a moderator:
3) Sony has access to source code for Webkit and most likely Flash 10.1 and Air 2.5; this because Adobe will not port to Power PC platforms and Sony must port the product themselves. There are several versions of Air for different platforms.
Doubtful. EXTREMELY doubtful.

4) Multi-threading requires, as does good practice, Webkit and Flash to have separate easily callable routines that could be used by other applications. For Webkit, there is a process built in to do this. For Flash, since Sony has the source code, they can use, maybe with slight modifications to index useful routines, Flash code to custom support the Media server 3.5 streams.
Multi-threading is orthogonal to exposing an API.

5) Sony is going to port a Webkit WebGL HTML5 browser to the PS3 to display 3-D and support WebGL games. (This from multiple comments of different Sony employees.) Efforts to insure a very fast generic-universal javascript engine is a given for the above. This may be why webkit's rather than Google's V8 was chosen.
V8 is much faster than generic js engine.
Duplicating code as in Webkit contains a Javascript engine and Air or Flash also contains the same Javascript engine.
AFAIK, they aren't.

Side notes: Google is more tightly integrating Flash into Chrome. Perhaps to reduce duplicate code like the javascript engine.
NO.

a) I can run chrome with flash plugin disabled.
b) Chrome uses V8. Flash uses some different JIT code.
 
Doubtful. EXTREMELY doubtful.
Re: Sony having Flash Source code, remember Sony is also a developer of TVs and blu-ray. They get source code to port to their platforms.

Multi-threading is orthogonal to exposing an API. Then where did Sony get the code, How can they use the Webkit Javascript engine?

V8 is much faster than generic js engine. Than latest Webkit? Last few tests I read have V8 faster on some tests and the Webkit javascript engine faster on others.

AFAIK, they aren't. Yes they are, it's in Adobe documentation. Flash products use a Webkit javascript engine with several routines removed. More than that, the latest Flash products uses the latest Webkit code.


http://www.adobe.com/newsletters/edge/june2010/articles/article2/index.html?trackingid=GXWFX

The version of WebKit in AIR also includes the Nitro JavaScript engine, also known as SquirrelFish Extreme, which can be up to twice as fast as before.

NO.

a) I can run chrome with flash plugin disabled. But can you use Flash with the Chrome Javascript engine disabled. This on later versions of Chrome with Flash designed for Handsets not desktops.
b) Chrome uses V8. Flash uses some different JIT code. Yeah Flash used Webkit.

If you know Flash does not use V8, it uses some different JIT code then you know it uses Webkit which makes this whole post a sham. Either that or you have holes in your knowledge base.
 
Last edited by a moderator:
scooby, do you have a link to the tech article explaining Chrome's approach ? Aren't they using WebKit ?

EDIT: In WebKit, the name WebCore (for layout), and JavaScriptCore (for script execution) are for marketing only. Apple has a bunch of these: CoreMedia, CoreVideo, CoreAnimation, etc.

This is literally just from watching my task manager, each chrome window spawns two processes, one which always gets pegged at 25% in our game, and the other at some lesser number.

On OSX, one of these process is explicitly labelled renderer, which is what I'm basing my assumption on.
 
If you had followed this thread you would have a better understanding of what I am attempting to say.

So this entire fixation on AIR /Flash basically comes from a couple companies mentioning they would use FMS? Seems pretty iffy...

I don't think you need to use Flash/AIR to connect to streams from FMS, it's essentially just a web server. It would just be a matter of creating a client which understands the RTMP protocol (which is totally public).

I know that there are existing Java libraries which do this for Red5, which is similar to FMS, and XBMC also has limited support for using RTMP streams.
 
If you know Flash does not use V8, it uses some different JIT code then you know it uses Webkit which makes this whole post a sham. Either that or you have holes in your knowledge base.

Well he's right, neither Flash Player or AIR for TV contain any Javascript engine whatsoever.

Only AIR1.5+ for desktop has the HTML control.
 
So this entire fixation on AIR /Flash basically comes from a couple companies mentioning they would use FMS? Seems pretty iffy...

I don't think you need to use Flash/AIR to connect to streams from FMS, it's essentially just a web server. It would just be a matter of creating a client which understands the RTMP protocol (which is totally public).

I know that there are existing Java libraries which do this for Red5, which is similar to FMS, and XBMC also has limited support for using RTMP streams.

That was Shifty's opinion too. Flash Media server 3.5 supports HTML5, ultraviolet DRM, detection for commercial blocking, commercial support, adaptive streaming and social networking.

It comes down to an opinion (guess) based on Sony's plans for the PS3 and the easiest way for Sony programmers to implement. You have to also put yourself in the shoes of all those IPTV sites with Media they have to protect. Who would they trust; Sony or Adobe to write a DRM tool.
 
Who would they trust; Sony or Adobe to write a DRM tool.

Lol, in light of last weeks development that is a funny question!

I don't think there's much debate to be had, since your option required Sony to basically port the AIR Runtime or Flash Player, which seems like a sh!tload of work for Sony to do on the behalf of 3rd party companies (for free?).

I mean, what's Sony more likely to do:
1. Tell Netflix to choose another Server option, or write they're own client which supports RTMP.
2. Rewrite, and MAINTAIN, the flash runtime specifically to support Netflix and a handful of other clients? Are they also going to keep feature parity as new API's are added to FMS/AS3? There's no way...
 
Lol, in light of last weeks development that is a funny question!

I don't think there's much debate to be had, since your option required Sony to basically port the AIR Runtime or Flash Player, which seems like a sh!tload of work for Sony to do on the behalf of 3rd party companies (for free?).

I mean, what's Sony more likely to do:
1. Tell Netflix to choose another Server option, or write they're own client which supports RTMP.
2. Rewrite, and MAINTAIN, the flash runtime specifically to support Netflix and a handful of other clients? Are they also going to keep feature parity as new API's are added to FMS/AS3? There's no way...

1) I believe Sony is getting a percentage of the streaming revenue on the PS3.
2) They were doing the work anyway for a Webkit browser
3) They have plans to use the tools in a webkit.
4) They are doing this for their TVs and blu-ray players also

And it's only the DRM tool ACCESS that they would have to port out of the Flash 10.1.

HTML Javascript for the UI was the Webkit Javascript engine port,

For the player:

In order to take advantage of the various technologies, as well as take advantage of extensive testing already accomplished, Adobe strongly recommends using the Open Source Media Framework (OSMF) for the basis of any video player going towards an embedded device. Adobe provides OSMF free of charge, enabling video players to be quickly enabled to take advantage of all the various Flash Platform capabilities, including adaptive bitrate and our content protection solutions.

It would seem that Sony could use the Free OSMF to modify the H.264 codec player in the PS3 to support Adaptive streaming.
 
OSMF is nothing more than a high level framework built on top of existing API's that have been there for years. Basically it creates a standardized(ish) API for accessing all the different types of media connections/classes flash supports, but it doesn't do anything new.
 
This is literally just from watching my task manager, each chrome window spawns two processes, one which always gets pegged at 25% in our game, and the other at some lesser number.

On OSX, one of these process is explicitly labelled renderer, which is what I'm basing my assumption on.

I see. Processes and cores are different.

The browser processes are most likely for sandboxing the plugins and scripts. The rendering can be hardware accelerated, and driven by multiple threads or async blocks (if they use GCD). The OS assigns these threads/blocks to run on multiple cores automatically.

http://www.chromium.org/developers/how-tos/getting-around-the-chrome-source-code

Chromium is separated into three main parts (excluding other libraries): the browser, the renderer, and Webkit. The browser is the main process and represents all the UI and I/O. The renderer is the (often) per-tab sub-process that is driven by the browser. It embeds Webkit to do layout and rendering

EDIT:
The Chrome renderer supports multiple drawing mode, including the CoreAnimation tech I mentioned above for Mac OSX 10.6:
http://code.google.com/p/chromium/issues/detail?id=32012

I doubt Sony is so advanced though.
 
OSMF is nothing more than a high level framework built on top of existing API's that have been there for years. Basically it creates a standardized(ish) API for accessing all the different types of media connections/classes flash supports, but it doesn't do anything new.

Actually it does as new features were documented as of Nov 5, 2010. It's written in Actionscript which would require Flash runtime support.

IT is possible, even likely that Sony would produce their own Player with API hooks for DRM with support for Flash MS 3.53 streams. They would then probably use their own DRM tool.

I could find no listing or information on anyone or anything that could provide the same features required. I did however notice that when credits are listed for Vudu it's mentioned that it uses a Sony Broadcast Engine. There is no information for that on-line. Edit: no information since 2007.

So I was left with Adobe provides the code free to do this or Sony could spend the time to reverse engineer Flash products and support their own parallel development of Player and DRM.

They certainly could do this and may have already done this for blu-ray and TV products. One other point, The VUDU credit for the Sony Broadcast engine was Sony BE Korea. Korea is where Sony blu-ray and TVs are produced, mostly by LG.

Samsung went the Adobe route and uses Air 2.5 for TV in their 2010 blu-ray and over 40 inch TVs. LG did not and probably uses the Sony BE engine or something similar or there are cross licences or who knows.

Samsung is going to have Air Apps and Sony products.....? Air requires a faster processor and more memory but not as much as Google TV. 2010 LG products cheaper but less powerful, (Speculation) 2011 LG products with the Sony label have a Cell processor and are more powerful allowing a custom OS that supports the Cell and Google TV. No need for Air as it would have Android apps.

Sony just bought back control of the Cell fabrication plant in Japan. Sony just published a Patent for the cell and multiple uses. Does this all tie together? 2011 Google code goes public.
 
Last edited by a moderator:
Back
Top