PYRO
The first real life exemple of a Pyro integration made available to the community is finally here.
None other than the NFB’s much praised video player is now ready for download.
Its all on here on agit8 and google code.
Pyro –flash video player engine
Pyro is a small video player API for flash I coded in the last year, along with great development inputs from my friends at Turbulent Media.
Not a full fledge player like whats available out there, pyro is, plain and simple, a video player API for flash.
The only graphical aspect of pyro is, well, a video. Thats right NO buttons, NO skins, nothing but the video. All this GUI-UI stuff is left to anyone with actionscript 3 knowledge to deal with.
Pyro is lightweight, has quite a small footprint, and holds very limited external dependencies.
Why no UI ? Mental issues… ?
This is the question that comes up the most when peer developers hear about this project. Let me explain.
With as little experience as I have with building video players in flash, I’ve come to notice that my two main time wasters on doing such projects were:
- Recoding-copy-pasting the same snippets of code for netStream, netConnection, resizing and buffering and applying it to the project.
- While using a third party skinnable player, figuring out how to make it behave and look exactly how I need it.
With Pyro you won’t waste precious production time on tucktaping and gluing together bloated pieces of code. Nor will you spend time trying to understand someone else’s code. Pyro was coded with those two main reasons in mind at all time. The API gives you more control than you could wish for for playing videos and lets you either build your own singular skin everytime or empowers you to create your own skinnable player with whatever feature you would like.
Times of jerking around with netStream and netConnection related stuff, keeping up to date with new file formats, adding new callback methods to match certain types of streams, parsing seemingly good URLs for playback in different streaming servers, resizing and aligning correctly, all pretty much gone. Thanks Pyro ! ![]()
Flatlined learning curve _________________________ !
You can get started using pyro in no time.
Once basic understanding kicks in, I find its the quickest, most flexible way to integrate video in whatever flash related platform/framework you are working with.
Well suited for:
- Standard Flash IDE projects.
- Actionscript projects from either Eclipse, FlexBuilder, FDT, Flash Develop, TextMate and the likes.
- Flex projects.
- Papervision, Away3D, and the likes
Now you can finally do the skinnable video player you told everyone on your team you would code, with half the effort that is required than doing it from scratch. Pyro is the flash video API/engine of choice for such a task. Just focus on how your player looks, how the skin behaves and what the buttons do. Then sit back and let Pyro do its thing.
In ‘résumé’, using Pyro saves time. A lot of time.
So what does it do exactly:
- Progressive, RTMP (and the likes) and middleware induced streaming all united in one API.
- Loading and progress ratios.
- Client side bandwidth detection.
- Resizing and proportion calculations.
- Auto adjusts buffertime or lets you handle it as you see fit.
- Manages dual treshold bufferTime strategies and single treshold bufferTime.
- Dispatches a flock of Pyro events.
- Regular play, pause, toggle pause , mute, volue, toggle mute, stop, close, width, height methods…. and so on.
- and more.
Whats up with the ca.turbulent package ? Shouldn’t it be com.gronour ?
The ca.turbulent package was picked for practical reasons. Since I share office space and work a lot for Turbulent, and that most of the real life testing of Pyro has been executed by Turbulent’s production floor teammates, I felt, at the time, that it was the proper package to use. Pyro is both our property and code. So the package will stay under ca.turbulent and its fine by me. And geez, why would you care, as long as the stuff works right ?
Where the hell do I get Pyro:
You can find Pyro under version control and in downloadable state here: http://code.google.com/p/pyro-player/
I’m also an active member of turbulent.ca development team and blog enhancer, check out the inital blog post on pyro on agit8 :