SlideShare a Scribd company logo
1 of 41
Download to read offline
Adobe AIR.
NativeProcess.
FFMPEG. Awesome.
ROCKY MOUNTAIN ADOBE USER GROUP – APRIL 8 2014
Introduction
 Flash Player and AIR… What’s Up?
 FFMPEG: CLI Transcoder
 AIR NativeProcess API
 VOD Transcode
 Live Streaming
 Closing Remarks
Joseph Labrecque
 Senior Interactive Software Engineer | Adjunct Faculty
University of Denver
 Proprietor | Owner
Fractured Vision Media, LLC
 Adobe Community Professional
Adobe Education Leader
Adobe Certified Expert
Adobe Certified Educator
Adobe Influencer
 Author
Lynda.com | Peachpit Press | Adobe Press | Packt Publishing |
O’Reilly Media | video2brain
 Artist
An Early Morning Letter, Displaced | shivervein
AIR is “King”
THIRTEEN
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.
March, 2014
Flash is Dead
March, 2014
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
release.
 500 million+ devices are addressable
today with Flash technology
 1 billion projected addressable devices
by the end of 2015.
http://www.adobe.com/products/flashruntimes/statistics.html
DU VideoManager Flash Player Stats
April, 2014
FFMPEG
CLI VIDEO TRANSCODE
FFMPEG
 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
FFMPEG.
 Convert video…
 Capture desktops…
 Capture webcam…
 Stream files, desktops, webcams…
Distributions
 Linux
 http://ffmpeg.gusari.org/static/
 http://johnvansickle.com/ffmpeg/
 Windows
 Zeranoe FFmpeg builds:
http://ffmpeg.zeranoe.com/builds/
 OSX
 http://www.evermeet.cx/ffmpeg/
 http://ffmpegmac.net/
FFMPEG Source
 If you want to contribute…
 Git:
git clone git://source.ffmpeg.org/ffmpeg.git
ffmpeg
Documentation
 ffmpeg [global_options] {[input_file_options]
-i ‘input_file’} ... {[output_file_options]
‘output_file’} ...
 Specify inputs…
 An array of options for transcoding…
 How to output?
NativeProcess
THE ENDLESS API
AIR 2.0!
 Released in 2010
 Theme was “disruption”
 Supports NativeProcess
 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.
DropFolders
 Video Converter
 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!
 https://github.com/josephlabrecque/DropF
olders
NativeProcess Example
FFMPEG AND BATCH
What to Import
 flash.desktop.NativeProcess;
 flash.desktop.NativeProcessStartupInfo;
 flash.events.NativeProcessExitEvent;
 flash.events.ProgressEvent;
 flash.events.IOErrorEvent;
 flash.filesystem.File;
NativeProcess Setup
 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
NativeProcess Communication
 Standard Input
 nativeProcess.standardInput.writeUTF();
 Standard Output
 nativeProcess.standardOutput.readUTFBytes();
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
VOD Transcode
FOR FLASH AND HTML5
VideoManager
 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]
VideoCast
 Public face of DU VideoManager
 Curated video collections
 Rich in metadata
CrunchBuddy
 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
queue.
 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
VideoManger communication.
 Problems? Log file is written.
CrunchBuddy – DEMO!!!
 Adobe AIR
 File
 NativeProcess
 Captive Runtime
 POST/GET
 AMS
 MediaInfo
 FFMPEG
 Windows Server
 Adobe Media Server
 Apache, PHP, Laravel, MySQL
Live Streaming
AND MORE…
CameraSnatcher
 Web module… no NativeProcess!
 Until it hits CrunchBuddy :)
 Measure bandwidth with AMS.
 Bandwidth determines quality.
StreamSnatcher
 Work in progress…
 Create 3 streams send to RTMP
 AMS streams as HDS/HLS
Related: ANEs
CLOSE COUSINS.
ANEs: AIR Native Extensions
 An ANE file is an archive file that contains
the necessary libraries and resources for the
native extension.
 Native code plus ActionScript code.
 AIR profiles extendedDesktop,
mobileDevice, and extendedMobileDevice
 Declaring the extension in your application
descriptor file.
 200+ multiplatform ANEs:
http://www.riaxe.com/blog/200-adobe-air-
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
 Blackberry PlayBook
 Windows desktop devices that support AIR
3.0
 Mac OS X desktop devices that support AIR
3.0
Closing Remarks
JUST A COUPLE MORE THINGS…
Why all the chains and ropes, Adobe…
http://www.infin8iphone.co.uk/?p=240
…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
http://www.lynda.com/JosephLabrecque
Thanks. Questions?
CONTACT JOSEPH
 @JosephLabrecque
 JosephLabrecque.com
 Joseph.Labrecque@du.edu

More Related Content

What's hot

Aspnet2.0 Introduction
Aspnet2.0 IntroductionAspnet2.0 Introduction
Aspnet2.0 Introduction
ChanHan Hy
 
Flash Professional CC: The Future of Animation
 Flash Professional CC: The Future of Animation Flash Professional CC: The Future of Animation
Flash Professional CC: The Future of Animation
FITC
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with  PHP, HTML & Javascript  in AIRBuilding Desktop RIAs with  PHP, HTML & Javascript  in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
funkatron
 

What's hot (19)

Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maung
 
Aspnet2.0 Introduction
Aspnet2.0 IntroductionAspnet2.0 Introduction
Aspnet2.0 Introduction
 
Flash Professional CC: The Future of Animation
 Flash Professional CC: The Future of Animation Flash Professional CC: The Future of Animation
Flash Professional CC: The Future of Animation
 
Adobe Max 2009 - Learnings
Adobe Max 2009 -  LearningsAdobe Max 2009 -  Learnings
Adobe Max 2009 - Learnings
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
Building Desktop RIAs with  PHP, HTML & Javascript  in AIRBuilding Desktop RIAs with  PHP, HTML & Javascript  in AIR
Building Desktop RIAs with PHP, HTML & Javascript in AIR
 
Visual Studio Productivity Tools
Visual Studio Productivity ToolsVisual Studio Productivity Tools
Visual Studio Productivity Tools
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Development
 
PLASTIC 2011: "Enterprise JavaScript with Jangaroo"
PLASTIC 2011: "Enterprise JavaScript with Jangaroo"PLASTIC 2011: "Enterprise JavaScript with Jangaroo"
PLASTIC 2011: "Enterprise JavaScript with Jangaroo"
 
Adobe Flex builder by elmagnif
Adobe Flex builder  by elmagnifAdobe Flex builder  by elmagnif
Adobe Flex builder by elmagnif
 
Adobe and Modern Web Development
Adobe and Modern Web DevelopmentAdobe and Modern Web Development
Adobe and Modern Web Development
 
Flex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASFlex vs. HTML5 for RIAS
Flex vs. HTML5 for RIAS
 
How to create your own WordPress plugin using WP App Studio
How to create your own WordPress plugin using WP App StudioHow to create your own WordPress plugin using WP App Studio
How to create your own WordPress plugin using WP App Studio
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
 
Universal Windows Platform
Universal Windows PlatformUniversal Windows Platform
Universal Windows Platform
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 
Cloud Apache OpenOffice based on HTML5
Cloud Apache OpenOffice based on HTML5Cloud Apache OpenOffice based on HTML5
Cloud Apache OpenOffice based on HTML5
 
Mobile Development With Flash Platform
Mobile Development With Flash PlatformMobile Development With Flash Platform
Mobile Development With Flash Platform
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
 
Adobe Creative Cloud and Licensing Programs for Education
Adobe Creative Cloud and Licensing Programs for Education Adobe Creative Cloud and Licensing Programs for Education
Adobe Creative Cloud and Licensing Programs for Education
 

Viewers also liked

Manual de orientação técnico pedagógica
Manual de orientação técnico pedagógicaManual de orientação técnico pedagógica
Manual de orientação técnico pedagógica
semecti
 
Microsoft word diretrizes técnicas para o processo de trabalho nos cras u…
Microsoft word   diretrizes técnicas para o processo de trabalho nos cras u…Microsoft word   diretrizes técnicas para o processo de trabalho nos cras u…
Microsoft word diretrizes técnicas para o processo de trabalho nos cras u…
NandaTome
 
Formulario ingresso scfv
Formulario ingresso scfvFormulario ingresso scfv
Formulario ingresso scfv
NandaTome
 
10 dicas reforço escolar
10 dicas reforço escolar10 dicas reforço escolar
10 dicas reforço escolar
Terc Cre
 
Projeto recuperação semestral reforço escolar
Projeto recuperação semestral reforço escolarProjeto recuperação semestral reforço escolar
Projeto recuperação semestral reforço escolar
alvinarocha
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
Sam Newman
 

Viewers also liked (12)

Modelos relatorios
Modelos relatoriosModelos relatorios
Modelos relatorios
 
Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?
 
Manual de orientação técnico pedagógica
Manual de orientação técnico pedagógicaManual de orientação técnico pedagógica
Manual de orientação técnico pedagógica
 
Microsoft word diretrizes técnicas para o processo de trabalho nos cras u…
Microsoft word   diretrizes técnicas para o processo de trabalho nos cras u…Microsoft word   diretrizes técnicas para o processo de trabalho nos cras u…
Microsoft word diretrizes técnicas para o processo de trabalho nos cras u…
 
Formulario ingresso scfv
Formulario ingresso scfvFormulario ingresso scfv
Formulario ingresso scfv
 
Modelo de encaminhamento
Modelo de encaminhamentoModelo de encaminhamento
Modelo de encaminhamento
 
Ficha de matricula
Ficha de matriculaFicha de matricula
Ficha de matricula
 
Identificação dos níveis silábicos Emília Ferreiro
Identificação dos níveis silábicos Emília Ferreiro Identificação dos níveis silábicos Emília Ferreiro
Identificação dos níveis silábicos Emília Ferreiro
 
10 dicas reforço escolar
10 dicas reforço escolar10 dicas reforço escolar
10 dicas reforço escolar
 
Projeto recuperação semestral reforço escolar
Projeto recuperação semestral reforço escolarProjeto recuperação semestral reforço escolar
Projeto recuperação semestral reforço escolar
 
Categorias de análise da geografia
Categorias de análise da geografiaCategorias de análise da geografia
Categorias de análise da geografia
 
Principles of microservices velocity
Principles of microservices   velocityPrinciples of microservices   velocity
Principles of microservices velocity
 

Similar to Adobe AIR. NativeProcess. FFMPEG. Awesome.

The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
Peter Elst
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introduction
atomlin
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2
Joseph Labrecque
 
Flash platform fitc
Flash platform fitcFlash platform fitc
Flash platform fitc
Mark Doherty
 

Similar to Adobe AIR. NativeProcess. FFMPEG. Awesome. (20)

The Evolution of the Flash Platform
The Evolution of the Flash PlatformThe Evolution of the Flash Platform
The Evolution of the Flash Platform
 
Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5Getting Started with Adobe AIR 1.5
Getting Started with Adobe AIR 1.5
 
Making Money with Adobe AIR
Making Money with Adobe AIRMaking Money with Adobe AIR
Making Money with Adobe AIR
 
Adobe is from Mars, Microsoft is from Uranus. A look at two competing web st...
Adobe is from Mars, Microsoft is from Uranus.  A look at two competing web st...Adobe is from Mars, Microsoft is from Uranus.  A look at two competing web st...
Adobe is from Mars, Microsoft is from Uranus. A look at two competing web st...
 
Flash platform introduction
Flash platform introductionFlash platform introduction
Flash platform introduction
 
Adobe Flex
Adobe FlexAdobe Flex
Adobe Flex
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
Developing multi-screen applications using Adobe Integrated Runtime (AIR)
Developing multi-screen applications using Adobe Integrated Runtime (AIR)Developing multi-screen applications using Adobe Integrated Runtime (AIR)
Developing multi-screen applications using Adobe Integrated Runtime (AIR)
 
Flex3
Flex3Flex3
Flex3
 
Adobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobileAdobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and Mobile
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
Leveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data TransferLeveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
Leveraging BlazeDS, Java, and Flex: Dynamic Data Transfer
 
Flash Platform
Flash PlatformFlash Platform
Flash Platform
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 
Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR Seminar
 
Flash/AIRの最新情報及びARMとの協業
Flash/AIRの最新情報及びARMとの協業Flash/AIRの最新情報及びARMとの協業
Flash/AIRの最新情報及びARMとの協業
 
Flash platform fitc
Flash platform fitcFlash platform fitc
Flash platform fitc
 
FMS 3.5
FMS 3.5FMS 3.5
FMS 3.5
 

More from Joseph Labrecque

Adobe Generation Professional: Animation
Adobe Generation Professional:AnimationAdobe Generation Professional:Animation
Adobe Generation Professional: Animation
Joseph Labrecque
 

More from Joseph Labrecque (20)

Producing Quality Video Content for Online Learning
Producing Quality Video Content for Online LearningProducing Quality Video Content for Online Learning
Producing Quality Video Content for Online Learning
 
Interactive Animation with Adobe Animate CC
Interactive Animation with Adobe Animate CCInteractive Animation with Adobe Animate CC
Interactive Animation with Adobe Animate CC
 
Cinematic Interactives with Animate CC
Cinematic Interactives with Animate CCCinematic Interactives with Animate CC
Cinematic Interactives with Animate CC
 
Getting Familiar with Animate CC
Getting Familiar with Animate CCGetting Familiar with Animate CC
Getting Familiar with Animate CC
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Adobe Animate CC: Introduction to Animation and Interactivity
Adobe Animate CC: Introduction to Animation and InteractivityAdobe Animate CC: Introduction to Animation and Interactivity
Adobe Animate CC: Introduction to Animation and Interactivity
 
Adobe Animate CC: Tool for the Changing Tech Landscape
 Adobe Animate CC: Tool for the Changing Tech Landscape Adobe Animate CC: Tool for the Changing Tech Landscape
Adobe Animate CC: Tool for the Changing Tech Landscape
 
Surviving Industry Disruption in Higher Education
Surviving Industry Disruption in Higher EducationSurviving Industry Disruption in Higher Education
Surviving Industry Disruption in Higher Education
 
Designing Short, Simple, and Effective Video Content for Online Consumption
Designing Short, Simple, and Effective Video Content for Online ConsumptionDesigning Short, Simple, and Effective Video Content for Online Consumption
Designing Short, Simple, and Effective Video Content for Online Consumption
 
Flash Professional CC for Mobile
Flash Professional CC for MobileFlash Professional CC for Mobile
Flash Professional CC for Mobile
 
Flash Professional CC 2015: A New Era in Animation and Interactivity
Flash Professional CC 2015: A New Era in Animation and InteractivityFlash Professional CC 2015: A New Era in Animation and Interactivity
Flash Professional CC 2015: A New Era in Animation and Interactivity
 
Why Flash Professional Still Matters for the Web and Beyond
Why Flash Professional Still Matters for the Web and BeyondWhy Flash Professional Still Matters for the Web and Beyond
Why Flash Professional Still Matters for the Web and Beyond
 
Mobile Application Development Technology Roundup
Mobile Application Development Technology RoundupMobile Application Development Technology Roundup
Mobile Application Development Technology Roundup
 
Adobe Generation Professional: Animation
Adobe Generation Professional:AnimationAdobe Generation Professional:Animation
Adobe Generation Professional: Animation
 
Flash Professional CC: Multiplatform Creativity Engine
Flash Professional CC: Multiplatform Creativity EngineFlash Professional CC: Multiplatform Creativity Engine
Flash Professional CC: Multiplatform Creativity Engine
 
Flash Runtimes Conquer the Universe
Flash Runtimes Conquer the UniverseFlash Runtimes Conquer the Universe
Flash Runtimes Conquer the Universe
 
Flash Professional and AIR 14: Creative Cloud Updates
Flash Professional and AIR 14: Creative Cloud UpdatesFlash Professional and AIR 14: Creative Cloud Updates
Flash Professional and AIR 14: Creative Cloud Updates
 
Adobe Generation Professional: App Design
Adobe Generation Professional: App DesignAdobe Generation Professional: App Design
Adobe Generation Professional: App Design
 
Advanced Edge Animate for Education
Advanced Edge Animate for EducationAdvanced Edge Animate for Education
Advanced Edge Animate for Education
 
Beginning Edge Animate for Education
Beginning Edge Animate for EducationBeginning Edge Animate for Education
Beginning Edge Animate for Education
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Recently uploaded (20)

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 

Adobe AIR. NativeProcess. FFMPEG. Awesome.

  • 1. Adobe AIR. NativeProcess. FFMPEG. Awesome. ROCKY MOUNTAIN ADOBE USER GROUP – APRIL 8 2014
  • 2. Introduction  Flash Player and AIR… What’s Up?  FFMPEG: CLI Transcoder  AIR NativeProcess API  VOD Transcode  Live Streaming  Closing Remarks
  • 3. Joseph Labrecque  Senior Interactive Software Engineer | Adjunct Faculty University of Denver  Proprietor | Owner Fractured Vision Media, LLC  Adobe Community Professional Adobe Education Leader Adobe Certified Expert Adobe Certified Educator Adobe Influencer  Author Lynda.com | Peachpit Press | Adobe Press | Packt Publishing | O’Reilly Media | video2brain  Artist An Early Morning Letter, Displaced | shivervein
  • 5. 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
  • 6. 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. March, 2014
  • 8. 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 release.  500 million+ devices are addressable today with Flash technology  1 billion projected addressable devices by the end of 2015. http://www.adobe.com/products/flashruntimes/statistics.html
  • 9. DU VideoManager Flash Player Stats April, 2014
  • 11. FFMPEG  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 FFMPEG.  Convert video…  Capture desktops…  Capture webcam…  Stream files, desktops, webcams…
  • 12. Distributions  Linux  http://ffmpeg.gusari.org/static/  http://johnvansickle.com/ffmpeg/  Windows  Zeranoe FFmpeg builds: http://ffmpeg.zeranoe.com/builds/  OSX  http://www.evermeet.cx/ffmpeg/  http://ffmpegmac.net/
  • 13. FFMPEG Source  If you want to contribute…  Git: git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
  • 14. Documentation  ffmpeg [global_options] {[input_file_options] -i ‘input_file’} ... {[output_file_options] ‘output_file’} ...  Specify inputs…  An array of options for transcoding…  How to output?
  • 16. AIR 2.0!  Released in 2010  Theme was “disruption”  Supports NativeProcess  Only the extendedDesktop AIR profile supports the NativeProcess class.
  • 17. 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.
  • 18. DropFolders  Video Converter  Originally an experiment…  Uses HandBrake CLI  Fairly popular… for a demo.
  • 19. DropFolders - Source  I get emails… every week.  Now open source…  Want a change? Contribute!  https://github.com/josephlabrecque/DropF olders
  • 21. What to Import  flash.desktop.NativeProcess;  flash.desktop.NativeProcessStartupInfo;  flash.events.NativeProcessExitEvent;  flash.events.ProgressEvent;  flash.events.IOErrorEvent;  flash.filesystem.File;
  • 22. NativeProcess Setup  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
  • 23. NativeProcess Communication  Standard Input  nativeProcess.standardInput.writeUTF();  Standard Output  nativeProcess.standardOutput.readUTFBytes();
  • 24. 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
  • 26. VideoManager  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]
  • 27. VideoCast  Public face of DU VideoManager  Curated video collections  Rich in metadata
  • 28. CrunchBuddy  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
  • 29. CrunchBuddy - Process  Listens for files added to a temp directory on the VideoManager web server.  Pulls those files over the network into a queue.  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 VideoManger communication.  Problems? Log file is written.
  • 30. CrunchBuddy – DEMO!!!  Adobe AIR  File  NativeProcess  Captive Runtime  POST/GET  AMS  MediaInfo  FFMPEG  Windows Server  Adobe Media Server  Apache, PHP, Laravel, MySQL
  • 32. CameraSnatcher  Web module… no NativeProcess!  Until it hits CrunchBuddy :)  Measure bandwidth with AMS.  Bandwidth determines quality.
  • 33. StreamSnatcher  Work in progress…  Create 3 streams send to RTMP  AMS streams as HDS/HLS
  • 35. ANEs: AIR Native Extensions  An ANE file is an archive file that contains the necessary libraries and resources for the native extension.  Native code plus ActionScript code.  AIR profiles extendedDesktop, mobileDevice, and extendedMobileDevice  Declaring the extension in your application descriptor file.  200+ multiplatform ANEs: http://www.riaxe.com/blog/200-adobe-air- anes/
  • 36. Desktop… Mobile… whatever.  Android devices, starting with Android 2.2  iOS devices, starting with iOS 4.0  iOS Simulator, starting with AIR 3.3  Blackberry PlayBook  Windows desktop devices that support AIR 3.0  Mac OS X desktop devices that support AIR 3.0
  • 37. Closing Remarks JUST A COUPLE MORE THINGS…
  • 38. Why all the chains and ropes, Adobe… http://www.infin8iphone.co.uk/?p=240
  • 39. …when even you stray from the “rules”? Adobe Photoshop Touch. Built with AIR. Not a game.
  • 40. 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 http://www.lynda.com/JosephLabrecque
  • 41. Thanks. Questions? CONTACT JOSEPH  @JosephLabrecque  JosephLabrecque.com  Joseph.Labrecque@du.edu