What’s new with the Runtimes?
Flash Player 12 / AIR 4
Improved Packaging Engine - iOS - BETA
Graphics: Buffer Usage flag for Stage3D
Mobile Workers (concurrency) - Android
Support for native resources access by R* mechanism in ANE - Android
Stage3D Creation of Context3D with Profile Array
Flash Player 13 / AIR 13 – RELEASED TODAY!!!
Enhanced Supplementary Character Support for TextField
Relocated Full Screen Video Warning to Top of Screen
New Stage3D Texture Wrapping Modes
Debugging and Telemetry Support for Improved Packaging Engine - iOS - BETA
2014 Runtimes Positioning
The Adobe® Flash® Platform runtimes, Flash Player and AIR®, together enable
businesses to efficiently deliver rich customer experiences across multiple
digital touch points. With Flash Player and AIR, content can easily and
consistently move between the browser, standalone applications and native
operating systems to reach users on the devices of their choice. Since the
Adobe runtimes share a common codebase, developers can reuse code to
deploy game console quality 2D and 3D games, rich media applications with
premium high definition video and scalable date driven applications though
both AIR and Flash Player.
2014 Flash Runtimes Statistics
“Flash is Dead” - false
More than 175,000 applications using AIR
3.8 or greater.
Installed over 500 million times in the
second half of 2013.
Reach 11 times more people than the
best-selling hardware game console!
400 million+ desktops update to the new
version of Flash Player within six weeks of
500 million+ devices are addressable
today with Flash technology
1 billion projected addressable devices
by the end of 2015.
FFmpeg is a complete, cross-platform
solution to record, convert and stream audio
and video. It includes libavcodec - the
leading audio/video codec library.
Adobe AIR can tap into and control
Stream files, desktops, webcams…
Released in 2010
Theme was “disruption”
Only the extendedDesktop AIR profile
supports the NativeProcess class.
What is NativeProcess?
“The NativeProcess class provides command line integration and general launching
capabilities. The NativeProcess class lets an AIR application execute native processes
on the host operating system. The AIR application can monitor the standard input
(stdin) and standard output (stdout) stream of the process as well as the process's
standard error (stderr) stream.”
Basically, this new API allows your application to communicate with just about any
process running on the host machine. This can be an operating system core process
or software like FFMPEG.
Originally an experiment…
Uses HandBrake CLI
Fairly popular… for a demo.
DropFolders - Source
I get emails… every week.
Now open source…
Want a change? Contribute!
What to Import
Create a new File object to run
Create the NativeProcess and add listeners
Create NativeProcessStartupInfo instance
Build up your arguments as Vector
Bind everything together and start
Simple Example – DEMO!!!
FFMPEG is command-line driven
Batch files are useful for CLI
1. Invoke Windows Command Prompt
2. Call a batch file
3. Instruct FFMPEG
4. Read the output
System for the University of Denver
Faculty, staff, and student uploads
Video is gathered from upload server [AIR]
Video is converted on server [AIR/FFMPEG]
Converted video is moved to AMS
Adobe Media Server streams [HDS/HLS]
Public face of DU VideoManager
Curated video collections
Rich in metadata
Headless AIR app
AIR Captive Runtime
Installed as a Windows service
3 transcode servers host this service:
CRUNCHER, CRUNCHER2, CRUNCHER3
Processes up to 50 videos a day
CrunchBuddy - Process
Listens for files added to a temp directory on
the VideoManager web server.
Pulls those files over the network into a
Uses MediaInfo libraries to read bitrate,
resolution, rotation, and so forth.
Makes decisions on how to encode the file.
Performs transcode and moves the file(s) to
Adobe Media Server for streaming.
Alerts the user that their file is ready through
Problems? Log file is written.
CrunchBuddy – DEMO!!!
Adobe Media Server
Apache, PHP, Laravel, MySQL
ANEs: AIR Native Extensions
An ANE file is an archive file that contains
the necessary libraries and resources for the
Native code plus ActionScript code.
AIR profiles extendedDesktop,
mobileDevice, and extendedMobileDevice
Declaring the extension in your application
200+ multiplatform ANEs:
Desktop… Mobile… whatever.
Android devices, starting with Android 2.2
iOS devices, starting with iOS 4.0
iOS Simulator, starting with AIR 3.3
Windows desktop devices that support AIR
Mac OS X desktop devices that support AIR
Why all the chains and ropes, Adobe…
…when even you stray from the “rules”?
Adobe Photoshop Touch. Built with AIR. Not a game.
Building a Mobile App with
Feathers and Starling
Downloading the frameworks and
the AIR SDK
Configuring the project
Implementing a theme
Creating the screen classes
Adding a navbar component
Building the classes
Returning saved files
Publishing a project
Installing and running the app