View Full Version : Smooth video with flash?
ar-jar
11th July 2011, 19:14
Hi, has anybody succeeded in playing smooth video with flash? And I mean really smooth, no pan judder, no jerkiness. I play content from the Swedish national TV, I've tried the movies on demand service Voddler, I've played videos from some other services and there is always this spasticity. It happens on various computers with both XP and W7, particularly in fullscreen. I have a 100 mb/s connection and I never get interrupts so it can't be because of starving. I would expect the playback to be as smooth as a regular media player, i.e. with only the occasional skip or duplicated frame when the rates match well. Thanks and cheers! -Arto
CruNcher
11th July 2011, 20:01
The Flash Video Player is nothing different (though its overall more complex as their is the Browser layer also) then a Media Player with a Specific API running inside the Browser context so their are many possibilities under Windows for problems or frame drops :)
It's not possible to fix those from outside it can be anything on your PC running impacting it it can be for example your Browser good example would be having many tabs open with different javascripts running in a non process separated way or even a bug inside its rendering Engine :)
1st thing i would advice to test though is GPU playback :) so disable it and see how the Mainconcept Decoder Core copes with it, Gpu Playback can be problematic it's its own resort of possible failures and problems (here especially the GFX driver and it's API comes into play, but also Hardware things it needs a very optimized System and the higher the resolution the more Powerfull it needs to be, because of the whole Copy Back from the GPU Memory) :) And then their is the Browsers Rendering Engine that creates another Potential problem (how are the frames getting inside the Browser window, as i said previously their maybe was a bug somewhere introduced by a new Version ect "happens a lot for example in the firefox developments it's a continuously progress to improve)
I give you a nice example even activating on Youtube the Video Information FPS display (actionscript) is a bad thing and can cause frame drops itself depending on the system ;)
And then all the different Flash Players and their Interactivity layers can have bugs as well or be bad or inefficient coded :D
It doesn't need to be interrupts it can just be a CPU cycle @ the wrong time :D
It can be Power Saving features, the list goes on and on :P
1 Thing for sure if your life depends on all Frames being displayed @ all times no matter what happens on your system Windows is not the right solution for you ;)
And as i said this is already a kind of art to handle in a Standalone Player it's much more complex in a Browser also because you have much more 3rd parties involved (in the case of Flash Video) :D
Here are some basic tips:
-Disable Power saving (anything that has todo with dynamic frequency switching)
-Try to run as less 3rd party code as possible in the Background (sometimes Micrsofts code is already enough remember Vista pre SP1 ;) especially try to avoid Hardware pooling applications like AIDA,Afterburner, Process Explorer, Process Hacker,GPU-Z,CPU-Z and all the Hwmonitor oh yes especialy try to avoid running ASUS PC Suite or any Vendor Hardware tools ;)) much easier if possible try to run the same scenario that gives you problems on a complete clean installation ;)
-Try to avoid running applications with to harsh timers (bellow 500 ms is never good try to stay 1sec)
-Give the Browser the Highest Priority (though if you switch to Fullscreen Flash Player handles that itself)
-Try different Browser with just 1 tab and try to compare without any Debug views ;)
ar-jar
13th July 2011, 07:36
Thanks for the tips. Basically I think a Flash player should do no worse than a standalone player which exhibits the occasional glitch. I've got CPU-cycles and Internet bandwidth to spare so I don't think it can be that. I basically fail to see what could not be solved with some extra buffering and a directx-renderer that is at least as "vsync-savvy" as the basic MPC renderers. I now see that there are open source versions of the Flash plugin. I'll try them out and see what happens. -A
Hera
13th July 2011, 07:49
Wfm...
leeperry
13th July 2011, 15:18
FLV is dead smooth in PotPlayer when using Reclock in a compatible refresh rate + madVR...but the official web player is junk.
Superb
13th July 2011, 17:59
The official Flash Player (the latest version, obviously) even shows tearing here.
roozhou
13th July 2011, 18:25
The official Flash Player (the latest version, obviously) even shows tearing here.
I have tearing too. Flash Player 8 (without D3D) has no tearing.
JanWillem32
14th July 2011, 00:04
I've just tested Flash 10.3, glad to see that it features a stats screen. It doesn't show that many statistics, but at least it correctly shows when the DXVA and hardware video acceleration modes are activated.
I've tested the software decoding, DXVA decoding, software rendering and hardware rendering modes.
As an educated guess, they've implemented a video renderer with the bare minimum required to do a D3D presentation with. I think they just wanted some video acceleration and DXVA done quickly. The only internal feature of the renderer seems to be a bilinear filter (by a StretchRect command probably, that also stretches out all rendered fonts).
It surprises me that companies that make commercial products that use DirectX or OpenGL rendering won't even hire one experienced programmer. There are plenty of DirectX and OpenGL specialists available that have more skill and experience than me. Those programmers would never write a renderer that would give that typical type of tearing in the middle of a presentation window. (It's usually caused by a lack of double or triple buffering in windowed mode, when passing output frames to the Windows GUI: http://en.wikipedia.org/wiki/Multiple_buffering . Combine that with a VSync method, and it's usually a lot better.)
I don't want to sound too negative. The programming team for this program is probably just very new at this, as the previous versions didn't include DXVA and hardware video acceleration modes.
The idea of an open source plugin for flash content also sounds good to me, does anyone know of any?
CruNcher
16th July 2011, 21:09
I've just tested Flash 10.3, glad to see that it features a stats screen. It doesn't show that many statistics, but at least it correctly shows when the DXVA and hardware video acceleration modes are activated.
I've tested the software decoding, DXVA decoding, software rendering and hardware rendering modes.
As an educated guess, they've implemented a video renderer with the bare minimum required to do a D3D presentation with. I think they just wanted some video acceleration and DXVA done quickly. The only internal feature of the renderer seems to be a bilinear filter (by a StretchRect command probably, that also stretches out all rendered fonts).
It surprises me that companies that make commercial products that use DirectX or OpenGL rendering won't even hire one experienced programmer. There are plenty of DirectX and OpenGL specialists available that have more skill and experience than me. Those programmers would never write a renderer that would give that typical type of tearing in the middle of a presentation window. (It's usually caused by a lack of double or triple buffering in windowed mode, when passing output frames to the Windows GUI: http://en.wikipedia.org/wiki/Multiple_buffering . Combine that with a VSync method, and it's usually a lot better.)
I don't want to sound too negative. The programming team for this program is probably just very new at this, as the previous versions didn't include DXVA and hardware video acceleration modes.
The idea of an open source plugin for flash content also sounds good to me, does anyone know of any?
Though Accelerated Video Rendering should prevent tearing compared to Software Video Rendering @ least it did here though since some time i have a strange problem in 1080p Fullscreen and i dunno where it comes from or what introduced it yet (Nvidia Driver or Flash Player, it happens only in Accelerated Video Rendering Mode i get a Ghosting effect for Progressive Streams (scaled from 1080p to 1920x1080->1280x1024) (720p Fullscreen is ok 1280x720->1280x1024) it looks visually like bad Deinterlacing (scaling goes wrong) :D
Also it seems switching into both Accellerated Modes on Youtube doesn't work anymore over here i only get currently AVR+SVD but AVR+AVD isn't really working anymore for 720p as well as 1080p it works immediately for 480p and bellow ;).
It could be also that Adobe implemented some Metric analyzing the CPU usability Win for Fullscreen over the GPU(DSP)+Memory Copy (scaling) drawback (depending on the used GFX hardware Memory Copy Performance and DSP) and tries to avoid Performance issues that way (to many droped frames or slower playback speed in GPU Mode), maybe they really became smart over @ Adobe, though they also have a lot of Feedback on these issues from their Adobe Premiere Mercury Playback Engine which is basically in some form the same in Flash Player ;)
AVR = Accelerated Video Rendering (D3D ?)
SVR = Software Video Rendering (Custom ?)
SVD = Software Video Decoding (Mainconcept)
AVD = Accelerated Video Decoding (NVCUVID,OVD,IMsdk)
So in my situation i can decide now between 1080p with Tearing (SVR+SVD) or Ghosting (AVR+SVD) ;) (though obviously i prefer 720p Fullscreen (SVR+SVD) over both ;) )
Example of 1080p Ghosting (AVR+SVD)
http://img17.imageshack.us/img17/1628/ghosting.th.png (http://img17.imageshack.us/img17/1628/ghosting.png)
My first thought was Google changed to 1080i now to save bandwith :P and the Deinterlacing goes wrong ;)
ar-jar
17th July 2011, 09:06
Good to hear that it is not only me who's dissatisfied by this plugin that seems to become the de facto standard on the Internet. I think the problem is more than a technical one: it's quantity and availability over quality. There are just too few YouTube watchers who care about either tearing or pan judder. The only thing that might somewhat matter is resolution.
Ideally I'd like to be able to direct the video streams from say YouTube to MPC and use the Sync Renderer to render them. Any idea if that is possible and how to do it?
I've successfully used a prototype of the Sync Renderer to render streams from a TV tuner. No tearing, no glitches (when in the "control display" mode). I'd very much like to do the same with digital video streams. It can't be any different in principle (given enough bandwidth and buffering). -A
leeperry
17th July 2011, 10:01
Good to hear that it is not only me who's dissatisfied by this plugin
Don't count on Adobe to reinvent the wheel in order to make a handful of videophiles happy...when you see the amount of work that went through Reclock and madVR, you can easily understand that this is not going to happen.
Adobe have shareholders and they're well aware that if they let Flash die, HTML5 will kill it. So they need to polish it and always bring new features in order to keep it up to date. Most ppl don't give a damn about smoothness, as they play their videos in 60Hz anyway. The best option for us OCD'ed videophiles is to download the FLV files and play them in our favorite media player environment IMHO.
Adobe paid an obscene lot of cash to Macromedia for Flash, and they most likely won't let it become open source anytime soon...so it'll take some serious reverse engineering if you wanna redirect the streams to a more serious environment.
CruNcher
17th July 2011, 12:18
ehh you could allready do that on Firefox rendering it in VLC for example with full Local Hardware acceleration ;) though the Flash Player has special Progressive buffer improvements and is communicating with the server and so VLCs performance @ a network gap wasn't so good back then when i tested this :(
DivX HIQ seems better suited (you get full Native DXVA1/2 with it) but if you constantly changing Firefox builds it fast becomes outdated also and they don't updated it to every Alpha or even Beta ;) (also a major drawback it needs to be adjusted for every website and you cant do it yourself but need to tell DivX Inc. to make it work with your favorite Porn Streaming site ;) )
Though both of these have a major drawback and their wont be ever a 3rd party solution for this i guess and that's the missing Interactivity Layer (no adds no interactivity of any kind, just pure video playback) of Flash which is also hardly doable for XP for example in a full DXVA environment then it would be for Vista/7 :P
Though in reality VideoPhiles don't need this pseudo interactivity @ all :D which is lets be true mostly used for Advertising anyways ok Youtubes Interactive Video link hotspots clicking is nice and losing it hurts a little for some stuff (but in case of Youtube and many others it isn't even Flash implemented directly but Javascript driven anyways being rendered on the StageVideo called Player Interface layer, to not slowdown the background Video Playback) ;)
But as Leeperry said nothing which couldn't be done with HTML5 & Javascript and is even worked on already including a Standardized Subtitle system :P
I wonder how long it will take before some clever guys will use the combination of HTML5 and Vista/7 to plaster the desktop full with Advertising hehe ;)
ar-jar
20th July 2011, 08:56
Thanks JanWillem for pointing out the stats display. It says I have always more than 20 s of video buffered which should leave plenty of time to do a decent rendering job to minimize judder and tearing. My conclusion is therefore that no attempt is made to do so in the Flash player. I guess the Firefox extension DownloadHelper is a workaround. Unfortunately it does not work for all sites, in particular not the Swedish state television site. -A
petran79
20th July 2011, 11:26
there is also FlashVideoReplacer. Play Youtube videos with any player you like
https://addons.mozilla.org/en-US/firefox/addon/flashvideoreplacer/
On Ubuntu, Flash 11 had issues with tearing and frame drops.
Flash 10.3 had the same issues but after I enable hardware acceleration in the adobe.cfg file (not the Override GPU command), Youtube videos play smooth, showing both hardware decoding and hardware rendering. Flash 11 does not enable that option even with a modified adobe.cfg
On Windows is there a way to enable that option?
leeperry
20th July 2011, 11:56
there is also FlashVideoReplacer. Play Youtube videos with any player you like
https://addons.mozilla.org/en-US/firefox/addon/flashvideoreplacer/
On Ubuntu, Flash 11 had issues with tearing and frame drops.
Flash 10.3 had the same issues but after I enable hardware acceleration in the adobe.cfg file (not the Override GPU command), Youtube videos play smooth, showing both hardware decoding and hardware rendering. Flash 11 does not enable that option even with a modified adobe.cfg
On Windows is there a way to enable that option?
interesting! coz since I updated to the latest nvidia drivers on XPSP3, Flash 10 randomly freezes my system or gives BSOD's: http://www.google.com/search?hl=en&source=hp&q=watchdog.sys+flash&aq=0b&aqi=g-b3&aql=&oq=flash+watchd
Flash is just a major annoyance, and the known fix to my problem is to disable hardware acceleration..but then it becomes a tearing feast :rolleyes:
ar-jar
20th July 2011, 12:00
Thanks for the tips. I already tried the replacer. Works fine with YouTube. The thing is that none of the above plug-ins work for the site that I watch most often which is the Swedish public service TV. I don't believe I have performance issues, I've got CPU cycles and Internet bandwidth to spare. I think I'm talking about a design issue in Flash. But I'll see if the .cfg options make any difference. -A
smok3
20th July 2011, 12:46
ar-jar: there is very slim chance that any replacer would actually replace all the functionality that flash has, including/especially all types of streaming, so this is kick in the dark at the best.
CruNcher
24th July 2011, 09:05
Could this maybe be the reason for my Flash Player Plugin Ghosting and Acceleration Problems see http://forum.doom9.org/showthread.php?t=162021 ?
PS: Its almost perfect now i changed /USERVA=2990 no issues anymore and 0 frame drops with AVR+AVD :)
http://img843.imageshack.us/img843/2448/avravdworksdxva0drops.th.png (http://img843.imageshack.us/img843/2448/avravdworksdxva0drops.png)
Though sometimes (seems to be bitstream dependent need to look deeper into it) i have to seek for AVD to become active :(
But it's much better already then how it was before (Ghosting) though the padding somehow goes wrong with AVD though same issue without /3GB :)
these are the 2 streams i test tearing and quality currently with (Flash Player 11)
http://www.youtube.com/watch?v=MPhaeMHWTTU <- 30 fps has some nice smooth ken burns tearing and or motion juder becomes fast noticeable it is visible especially in the horizontal pans (biel in bikini leaning against stone for example)
http://www.youtube.com/watch?v=31TNARtut0s <- 24 fps Big Buck Bunny
CruNcher
13th August 2011, 16:52
Good news for everyone like me who hated that AVD mode change problem for 1080p they finaly fixed it in Flash Player 11 Beta 2 http://labs.adobe.com/downloads/flashplayer11.html :)
it switches now without the need of seeking into Hardware acceleration independent of the current resolution being played back :)
You can go Fullscreen/Window and Fullscreen again(1080p) it changes accordingly to AVD, geez it took them long to fix this, but at least they fixed it no useless seeking anymore just to enable Hardware playback :)
CruNcher
3rd September 2011, 17:51
I moved now to Win7 64 and i must say wow Aero is just amazing (Intel HD2000) :)
though i wonder where this difference in Flash Player 64 framerate comes from :)
http://img546.imageshack.us/img546/9955/dwm2011090318443928.png
hmm or is fraps maybe incorrect in the actuall DWM rendering framerate ?
Or is the DWM always trying to render 60 fps wouldn't it be better then if Adobe would lock the DWM to the actual Video framerate ?
Firefox Direct2D Rendering (Azure) mixed with Adobe Flash Player (Performance test)
http://img263.imageshack.us/img263/7670/dwm2011090319075622.png
Not all Ken Burns are ok but not bad :)
http://img820.imageshack.us/img820/9708/dwm2011090319393153.png
Hmm i wonder how the quality and Performance would be under Linux Kernel 3 :)
PS: Here are some other notes of Fraps DWM Hooking from DWM Devs :)
FRAPS may cause instability of some 3D benchmarks, DO NOT run benchmarks with FRAPS
3DMark Vantage may crash with FRAPS
HAWX benchmark may suffer from micro-stuttering when FRAPS is on
CruNcher
27th October 2011, 12:25
Multithreading is in the new Beta for the Hardware/Software Pipeline should reduce jitter and occasional frame drops when rendering overlay content finally :) also more async now to improve responsiveness Actionscript,Seeking,Decoding. We can just hope that Firefox gonna enter Electrolysis state rather fast (real Multithreading) or its going to become the major troublemaker in Windowed Playback mode :(
* Note about*Multithreaded Video Decoding
Multi-threaded pipeline was written grounds up to support lower end devices and full hardware stacks where all the decoding and rendering is
offloaded to hardware. The benefits of the modernization of the pipeline would be visible from mobile devices, tvs, netbooks to high end desktops.
In Flash Player 11.2, the new video pipeline is available for desktop platforms (including netbooks ) and brings enhancements with respect to:
Eliminating jitter seen occasionally in some encoding and typically in live streams and real time interactive scenarios.
Gains in frame rate by reducing dropped frames as much as 50% on certain platforms with high bit rate content.
Seek frame accuracy.
High resolution/bit rate content decoding would still keep the player UI responsive and any background*ActionScript*processing going,
which earlier could have experienced brief halts because all the decoding and player UI/ActionScript*resided on the main thread.*
For HTTP streaming,*ActionScript*is the control point of fetching the stream data and delivering to the video stack. On seek, earlier the
streaming would halt, while the frames up to the point of seek would be getting decoded. With multithreaded video decoding, not only
would the seek be more responsive, but it would also start playback faster after seek.
50+ fixes as part of the modernization of the video pipeline architecture.
smok3
28th October 2011, 08:53
seems to be *nixed as well
http://labs.adobe.com/
edit: quickly tested on win64 and playback is a bit worse than with previous official release, they added a nasty stop-motion defect at the start of the video (i suspect that the talk to the graphic card did not work out),
the rest is still good old "rolling shutter" (probably a fallback mode, so makes sense).
CruNcher
29th October 2011, 13:19
Yep it drops frames like crazy updating the youtube slider time in Firefox 64 with this incubator build also in windowed playback updating the Web Page (hovering over button or some other interactive content) causes frame drops in the Windowed playback as well same for chromium :(
The official build is much more performant and has no such heavy issues but it seems all lab builds have these drop issues and once they reach stable they gone i wonder if the 64 incubator is a debug build, those always seem to fail with this :(
NPSWF64_11_0_1.dll = Shockwave Flash 11.0r1 11.0.1.152 no issues (in context of Firefox 64 Nightly plugincontainer)
NPSWF64_11_2_202_18.dll = Shokwave Flash 11.2 d202 11.2.202.18 heavy frame drops (in context of Firefox 64 Nightly plugincontainer)
yep its a d build these often caused problems with frame drops in time critical low latency situations (already figured that out,youtubes player) so not easy to say if it's a problem based on code or might be as always only compilation related :(
So i guess in those terms we have to wait for the final to not mix things up, but for me this issue is a dead end using these builds other then really for beta testing hard bugs (nothing performance related) :P
markanini
1st November 2011, 18:29
Thanks for the heads up, CruNcher.
Hera
2nd November 2011, 00:01
I haven't noticed any changes, except for the annoying text in the bottom right.
markanini
5th November 2011, 19:20
A few things that might be causing unsmooth motion with Flash:
Windows scheduled tasks such as defrag and system restore which are enabled by default.
CPU power saving features - may cause stuttering when cache is moved betwen the CPU and RAM and back in C3/C6 states. Might depend on how it's implemented by the motherboard and bios. I myself only leave bare-bones SpeedStep enabled which gives enough power savings for a desktop(my i5 is 10W on idle). If you're paranoid and don't care about electrical bills you could turn off SpeedStep and spread spectrum to keep system clocks constant. Someone else will have to do the objective analysis.
This tool came in handy for me:http://www.techinferno.com/downloads/?did=9
HTH
EDIT: BTW, Ar-jar, SVTPlay for some reason use 30p while sources are mostly 25/50 so motion will never be perfect.
EDIT2: I see I was mostly repeating what has already been said. One advice I could offer that hasnt been mention is DPC Latency Checker (http://www.thesycon.de/deu/latency_check.shtml) a tool that helps track down processes and system drivers causing delays and thus unsmooth motion.
CruNcher
5th November 2011, 21:01
markanini im aware of these realtime restrictions and general problems of Windows scheduling (and im also try to make others aware of that when they encounter such beahaviour to look deeper then just into configuration options itself) and i can tell you those are not the case for my problems with frame drops in the current test builds it's either Browser related, Youtube Player related (not adapted to the new multithread) or Build related :)
Believe me this realtime butter smooth H.264 DXVA Aero Desktop (DWM) Custom EVR recording result http://www.mediafire.com/?ifkvvtet0ylg409 wouldn't be possible with a system that is in a unstable playback configuration condition (in which most systems are where people shout out loud about frame droop issues most of the times) :)
markanini
5th November 2011, 21:13
Didn't doubt your reports, Cruncher, just wanted to add my 2 cents. It wouldn't be the first time Adobe fails to impress. ;)
smok3
5th November 2011, 22:44
markanini, not really about windows (it can be even worse on linux or osx). Although the rolling shutter seems to be windows domain mostly.
CruNcher
15th November 2011, 01:54
Issue in Firefox :(
D2D enabled:
http://www.mediafire.com/?3adlcmt0ymncjdv
D2D disabled:
http://www.mediafire.com/?c4f79tb0yinxnvd
Chromeium 17 GPU Composition enabled:
http://www.mediafire.com/?vn0pv8np0i0uejd
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.