SlideShare a Scribd company logo
1 of 10
Download to read offline
Lunch and Learn




FFmpeg
Solution to record, convert and stream audio video

uudashr@gmail.com
Video
●   Picture can express a thousand words
●   How about video?
●   Ffmpeg
       –   Audio/Video conversion tool
       –   Incudes libavcodec, the leading open
             source codec library
Why FFmpeg?
●   Open Source
●   http://www.ffmpeg.org/
●   http://ffmpegx.com/ (GUI-based ffmpeg for
    mac os x)
●   Can be used as command-line tool
●   Can be used as library (.so or .dll)
        –   Java Native Interface (JNI)
        –   Java Native Access (JNA)
ffmpegX
What can FFmpeg do?
●   Video conversion
       –   Store data on standard format
       –   Compress the video to smaller size
       –   Provide data to browser with standard
            format
●   Extract video frame
       –   Thumbnail creation
Usage
●   File conversion
       –   ffmpeg -i [videofile] -acodec mp3 -ar 22050 -ab
             32 -f flv -s 320x240 [flashfile.flv]
●   Extract video frame
       –   ffmpeg -y -i [videofile] -vframes 1 -ss 00:00:02
             -an -vcodec png -f rawvideo -s 320x240
             [thumbnailimage.png]
       –   ffmpeg -itoffset -4 -i [videofile] -vcodec mjpeg
             -vframes 1 -an -f rawvideo 320x240
             [thumbnailimage.jpg]
Common Video Formats
●   avi
●   flv
●   mov
●   wmv
●   3gp
●   3gp2
Related Work
●   Video thumbnail creation
       –   Upload video to server
       –   Frame extraction
       –   Save image path to Database
       –   Upload to Amazon (or keep it on server)
Possibilities
●   Convert video to standard format
       –   Save spaces
●   Player consideration
       –   Video player using flash
               ●   Custom (create your own flash video
                    player)
               ●   FlowPlayer http://flowplayer.org (GPL 3)
       –   Why Flash? Most of browser has Flash
            plugins
●   You can make youtube like site :-D
Thank you

More Related Content

What's hot

The future of server side JavaScript
The future of server side JavaScriptThe future of server side JavaScript
The future of server side JavaScript
Oleg Podsechin
 
Debian packaging howto
Debian packaging howtoDebian packaging howto
Debian packaging howto
Ding Zhou
 
Are AAA 3D Games for the Web Possible?
Are AAA 3D Games for the Web Possible?Are AAA 3D Games for the Web Possible?
Are AAA 3D Games for the Web Possible?
Renaun Erickson
 
Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)
Nils Adermann
 
Debugging Rails 3 Applications
Debugging Rails 3 ApplicationsDebugging Rails 3 Applications
Debugging Rails 3 Applications
Nathan Broadbent
 

What's hot (20)

[Vietnam Mobile Day 2013] - Giới thiệu android media framework dựa trên công ...
[Vietnam Mobile Day 2013] - Giới thiệu android media framework dựa trên công ...[Vietnam Mobile Day 2013] - Giới thiệu android media framework dựa trên công ...
[Vietnam Mobile Day 2013] - Giới thiệu android media framework dựa trên công ...
 
'THE AGE OF DATA STREAMING' by DENIS BURYACHKOVSKY at OdessaJS'2020
'THE AGE OF DATA STREAMING' by DENIS BURYACHKOVSKY at OdessaJS'2020'THE AGE OF DATA STREAMING' by DENIS BURYACHKOVSKY at OdessaJS'2020
'THE AGE OF DATA STREAMING' by DENIS BURYACHKOVSKY at OdessaJS'2020
 
The future of server side JavaScript
The future of server side JavaScriptThe future of server side JavaScript
The future of server side JavaScript
 
openPOWERLINK over Xenomai
openPOWERLINK over XenomaiopenPOWERLINK over Xenomai
openPOWERLINK over Xenomai
 
Development and deployment with composer and kite
Development and deployment with composer and kiteDevelopment and deployment with composer and kite
Development and deployment with composer and kite
 
Open source applications softwares
Open source applications softwaresOpen source applications softwares
Open source applications softwares
 
Debian packaging howto
Debian packaging howtoDebian packaging howto
Debian packaging howto
 
Are AAA 3D Games for the Web Possible?
Are AAA 3D Games for the Web Possible?Are AAA 3D Games for the Web Possible?
Are AAA 3D Games for the Web Possible?
 
Composer
ComposerComposer
Composer
 
How to configure an environment to cross-compile applications for beagleboard-xM
How to configure an environment to cross-compile applications for beagleboard-xMHow to configure an environment to cross-compile applications for beagleboard-xM
How to configure an environment to cross-compile applications for beagleboard-xM
 
An open source flash workflow using HaXe (2009)
An open source flash workflow using HaXe (2009)An open source flash workflow using HaXe (2009)
An open source flash workflow using HaXe (2009)
 
Golang execution modes
Golang execution modesGolang execution modes
Golang execution modes
 
Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)Composer (PHP Usergroup Karlsruhe)
Composer (PHP Usergroup Karlsruhe)
 
Last Month in PHP - June 2016
Last Month in PHP - June 2016Last Month in PHP - June 2016
Last Month in PHP - June 2016
 
Chromium: NaCl and Pepper API
Chromium: NaCl and Pepper APIChromium: NaCl and Pepper API
Chromium: NaCl and Pepper API
 
What the HACK is HHVM?
What the HACK is HHVM?What the HACK is HHVM?
What the HACK is HHVM?
 
Last Month in PHP - March 2016
Last Month in PHP - March 2016Last Month in PHP - March 2016
Last Month in PHP - March 2016
 
Composer
ComposerComposer
Composer
 
FreeBSD Document Project
FreeBSD Document ProjectFreeBSD Document Project
FreeBSD Document Project
 
Debugging Rails 3 Applications
Debugging Rails 3 ApplicationsDebugging Rails 3 Applications
Debugging Rails 3 Applications
 

Viewers also liked (6)

FFmpeg: A Retrospective
FFmpeg: A RetrospectiveFFmpeg: A Retrospective
FFmpeg: A Retrospective
 
FFmpeg presentation
FFmpeg presentationFFmpeg presentation
FFmpeg presentation
 
FFmpeg
FFmpegFFmpeg
FFmpeg
 
FFmpeg - the universal multimedia toolkit
FFmpeg - the universal multimedia toolkitFFmpeg - the universal multimedia toolkit
FFmpeg - the universal multimedia toolkit
 
Why Open Source is Important and What are We Doing About it?
Why Open Source is Important and What are We Doing About it?Why Open Source is Important and What are We Doing About it?
Why Open Source is Important and What are We Doing About it?
 
FFMPEG on android
FFMPEG on androidFFMPEG on android
FFMPEG on android
 

Similar to Lunch and Learn - FFmpeg

Cam Studio Introduction
Cam Studio IntroductionCam Studio Introduction
Cam Studio Introduction
barrymacd
 
Adobe HTTP Streaming
Adobe HTTP StreamingAdobe HTTP Streaming
Adobe HTTP Streaming
Yoss Cohen
 
PAL #8: Video
PAL #8: VideoPAL #8: Video
PAL #8: Video
jbellWCT
 
Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...
Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...
Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...
Shlomo Perets
 
Nuxeo - Digital Asset Management
Nuxeo - Digital Asset ManagementNuxeo - Digital Asset Management
Nuxeo - Digital Asset Management
Thomas Roger
 

Similar to Lunch and Learn - FFmpeg (20)

video tools
video toolsvideo tools
video tools
 
Audio and Video Streaming
Audio and Video StreamingAudio and Video Streaming
Audio and Video Streaming
 
Html5 Open Video Tutorial
Html5 Open Video TutorialHtml5 Open Video Tutorial
Html5 Open Video Tutorial
 
Multi media tools
Multi media toolsMulti media tools
Multi media tools
 
HTML5 video & Amazon elastic transcoder - FCIP August 2014
HTML5 video & Amazon elastic transcoder - FCIP August 2014HTML5 video & Amazon elastic transcoder - FCIP August 2014
HTML5 video & Amazon elastic transcoder - FCIP August 2014
 
Video Production Using Open Source Tools
Video Production Using Open Source ToolsVideo Production Using Open Source Tools
Video Production Using Open Source Tools
 
Multimedia on the web - HTML5 video and audio
Multimedia on the web - HTML5 video and audioMultimedia on the web - HTML5 video and audio
Multimedia on the web - HTML5 video and audio
 
Cam Studio Introduction
Cam Studio IntroductionCam Studio Introduction
Cam Studio Introduction
 
Adobe HTTP Streaming
Adobe HTTP StreamingAdobe HTTP Streaming
Adobe HTTP Streaming
 
Intro to Compression: Audio and Video Optimization for Learning
Intro to Compression: Audio and Video Optimization for LearningIntro to Compression: Audio and Video Optimization for Learning
Intro to Compression: Audio and Video Optimization for Learning
 
PAL #8: Video
PAL #8: VideoPAL #8: Video
PAL #8: Video
 
Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...
Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...
Integrating web-based videos in your PDFs (with FrameMaker-to Acrobat TimeSav...
 
Silverlight Wireshark Analysis
Silverlight Wireshark AnalysisSilverlight Wireshark Analysis
Silverlight Wireshark Analysis
 
Nuxeo - Digital Asset Management
Nuxeo - Digital Asset ManagementNuxeo - Digital Asset Management
Nuxeo - Digital Asset Management
 
Video Killed My Data Plan: Helsinki
Video Killed My Data Plan: HelsinkiVideo Killed My Data Plan: Helsinki
Video Killed My Data Plan: Helsinki
 
HTML5 Multimedia Accessibility
HTML5 Multimedia AccessibilityHTML5 Multimedia Accessibility
HTML5 Multimedia Accessibility
 
HTML5 Multimedia Streaming
HTML5 Multimedia StreamingHTML5 Multimedia Streaming
HTML5 Multimedia Streaming
 
Overview of video file formats for Multimedia Students
Overview of video file formats for Multimedia StudentsOverview of video file formats for Multimedia Students
Overview of video file formats for Multimedia Students
 
Video performance munichfrontend
Video performance munichfrontendVideo performance munichfrontend
Video performance munichfrontend
 
Audio and video streaming
Audio and video streamingAudio and video streaming
Audio and video streaming
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Lunch and Learn - FFmpeg

  • 1. Lunch and Learn FFmpeg Solution to record, convert and stream audio video uudashr@gmail.com
  • 2. Video ● Picture can express a thousand words ● How about video? ● Ffmpeg – Audio/Video conversion tool – Incudes libavcodec, the leading open source codec library
  • 3. Why FFmpeg? ● Open Source ● http://www.ffmpeg.org/ ● http://ffmpegx.com/ (GUI-based ffmpeg for mac os x) ● Can be used as command-line tool ● Can be used as library (.so or .dll) – Java Native Interface (JNI) – Java Native Access (JNA)
  • 5. What can FFmpeg do? ● Video conversion – Store data on standard format – Compress the video to smaller size – Provide data to browser with standard format ● Extract video frame – Thumbnail creation
  • 6. Usage ● File conversion – ffmpeg -i [videofile] -acodec mp3 -ar 22050 -ab 32 -f flv -s 320x240 [flashfile.flv] ● Extract video frame – ffmpeg -y -i [videofile] -vframes 1 -ss 00:00:02 -an -vcodec png -f rawvideo -s 320x240 [thumbnailimage.png] – ffmpeg -itoffset -4 -i [videofile] -vcodec mjpeg -vframes 1 -an -f rawvideo 320x240 [thumbnailimage.jpg]
  • 7. Common Video Formats ● avi ● flv ● mov ● wmv ● 3gp ● 3gp2
  • 8. Related Work ● Video thumbnail creation – Upload video to server – Frame extraction – Save image path to Database – Upload to Amazon (or keep it on server)
  • 9. Possibilities ● Convert video to standard format – Save spaces ● Player consideration – Video player using flash ● Custom (create your own flash video player) ● FlowPlayer http://flowplayer.org (GPL 3) – Why Flash? Most of browser has Flash plugins ● You can make youtube like site :-D