Hi,

The Flex/AIR project I'm working recently need to play full screen high 
quality H.264 videos in second monitor screen (usually a projector, 
maybe a large monitor sometime, such as 1680x1050). I run into trouble 
with video performance we can get.

I know Adobe Media Player make full screen video playback. Our 
application is larger than AMP though. There's a main window in main 
screen, control video playback as well as other contents such as full 
screen Flash files loaded.

The performance when I testing on 1680x1050 screen with Macbook core 2 
duo (with Flex Builder running),  camcorder shot videos can play mostly 
smooth,  while as parts of videos panning with still images slowly, in 
these parts can never feel smooth enough. (The application when I tested 
with released version in slow 2G cpu / 2G memory Vista computer, it run 
80% CPU around when video playing.)

What I'm doing on video:

Use an standalone Window component to contain a FLVPlayback (CS4 
version), run full screen display mode on its stage alone. (Didn't set 
'fullScreenSourceRect', as I tried, it cause worse performance 
significantly)

Video encode settings:
960x540, Field Oder - none (no interlace), profile - high, level - 4.1, 
frame rate - should be 30 or 29.97 fps, target bitrate - 1.5 mbps, max 
bitrate - 2 mbps.

My question is:
 - Does each AIR nativeWindow run its own thread, or the whole AIR 
application running a single thread?
 - What's the best practices for full screen high quality video in AIR? 
Anything I can improve?
 - How to GC after video played? I used videoplayer.clear(), but cannot 
run videoplayer.close(), as I test when try to load a new video quickly, 
it throw an error.
 - What's the best HD video performance we can get in multiple windows 
Flex/AIR application?

Any help is greatly appreciated.

George




Reply via email to