GStreamer as multimedia framework in Android: a new alternative.

Slides:



Advertisements
Similar presentations
Embedded Streaming Media with GStreamer and BeagleBoard ESC-228 Presented by Santiago Nunez santiago.nunez (at) ridgerun.com.
Advertisements

Media Player for the i.MX31 Advanced Embedded Systems Architecture Class Project May 14, 2011 Rafael Castro Ryan Ugland Carlos Cabral.
Under Embargo until December 10, 2007 Introducing Cypress West Bridge™Astoria TM.
Android Platform Overview (1)
Group 8: Dylan Lentini (AE), Mandy Minuti (WSE), Jean Paul Galea (TL)
Will Law | Chief Media Architect | Akamai Optimizing the Black Box of HTML.
Google's android as an application environment for DTV decoder system Consumer Electronics (ISCE), 2010 IEEE 14th International Symposium on, 7-10 June.
Multimedia Systems As Presented by: Craig Tomastik.
Video Streaming Services Justin Hourigan, Senior Network Engineer, HEAnet Limited
MP 1: Audio/ Video Recorder and Player CS414: Multimedia System Instructor: Klara Nahrstedt February 1 st, 2012.
Dynamic Adaptive Streaming over HTTP2.0. What’s in store ▪ All about – MPEG DASH, pipelining, persistent connections and caching ▪ Google SPDY - Past,
App Development on Android
Embedding Multimedia Content in WebPages Seth Subramanian.
Panoptes: A Scalable Architecture for Video Sensor Networking Applications Wu-chi Feng, Brian Code, Ed Kaiser, Mike Shea, Wu-chang Feng (OGI: The Oregon.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Mobile Application Development
Embedded systems Lecture 25 February 2015.
MP 1: Audio/ Video Recorder and Player CS414: Multimedia System Instructor: Klara Nahrstedt February 7 th, 2012.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
UFCFX5-15-3Mobile Device Development Anatomy of a Mobile Device.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
AreaDetector and GStreamer Similarities and Differences Tom Cobb.
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Symbian os with smart phones Guided by: Hetal A Josiyara
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Samsung Poland R&D Center © Samsung Electronics Co., LTD S/W Platform Team | Ver.DateDescriptionAuthorReviewer /09/18Initial VersionMarek.
Video Data Topic 4: Multimedia Technology. What is Video? A video is just a collection of bit-mapped images that when played quickly one after another.
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Creating Amazing Video Experiences on BlackBerry PlayBook Rajeev Massand |
3dtv.at DV/HDV Tape Drive Synchronization Stereoscopic Displays and Applications Conference 29 th – 31 th January 2007 San Jose, United States.
Chapter 1: Voilà! Meet the Android. Smartphones –Can browse the Web –Allow you to play games –Use business applications –Check –Play music –Record.
Creating apps that use video and audio
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
Integration of SIP protocol in Android Media Framework EUROCON - International Conference on Computer as a Tool (EUROCON), 2011 IEEE April 2011,
Christian F.K. Schaller GStreamer: What's new ? Christian F.K. Schaller
Video Data Topic 4: Multimedia Technology. What is Video? A video is just a collection of bit-mapped images that when played quickly one after another.
Introduction of Tizen : Tizen Overview Chan Seok Kang 2013/03/21.
GStreamer: What is Gstreamer, What is new and simple video editing
Embedded Streaming Media with GStreamer and BeagleBoard
Building Scalable and High Efficient Java Multimedia Collaboration Wenjun Wu, Tao Huang, Geoffrey Fox Community Grids Computing Laboratory, Indiana University,
1 Helix DNA framework Sylvain Guérin Johann Le Bourgocq.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
1 Lecture 12: Multimedia Not in Web 101 Text  Important Multimedia Issues  Audio  Movies and Video  Multimedia and HTML Documents.
Multimedia and The Web.
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
EMSOFT’02 Silicomp Research Institute JCOD 1 JCOD A Lightweight Modular Compilation Technology For Embedded Java Bertrand Delsart :
Your Metro style app, video and audio, Part 1
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
Data Compression. Compression? Compression refers to the ways in which the amount of data needed to store an image or other file can be reduced. This.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Design and Implementation of a Scalable System Architecture for Embedded Multimedia Terminal Electrical and Control Engineering (ICECE), 2011 International.
Mobile: Today and Beyond Stuart Parmenter, Director of Mobile
Multimedia Capture & storage. Introduction A rich set of API for recording of audio & video. A developer has two choices  launch the built-in app using.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
Multimedia. Audio,vedio and Images End user typically refer to vedio/audio using the respective file format MP4 or AVI(audio vedio interleave) Developer.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
BY : MS ARTI B BAVANE. INTRODUCTION Formed on February 15,2010. Jointly found by two pillars Intel and Nokia by joining their existing open source projects.
GStreamer in OpenOffice.org? Cédric Bosdonnat, Radek Doulík.
From VIC (VRVS) to ViEVO (EVO) 3 years of experiences with developing of video application VIC for VRVS allowed us to develop a new video application.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
chapter 6- Android Introduction
Android Camera2 Api By Tony Constantinides Date July 2nd 2015.
Integrating Multimedia: Sound, Video and More
XProtect® progression over time
Presentation transcript:

GStreamer as multimedia framework in Android: a new alternative. CELF Embedded Linux Conference Europe 2010 Benjamin Gaignard October 27, 2010

Context ST-Ericsson U671X Android platform on ARM9 @ 416 MHz with video, audio and graphics dedicated hardware accelerators. Multimedia hardware capabilities: Video encode and decode Audio encode and decode Graphics Imaging Camera Linux kernel 2.6.29 GStreamer 0.10.26 October 27, 2010

GStreamer in Android: why ? GStreamer is a mature multimedia framework. GStreamer is a flexible framework. GStreamer is supported by an active community. ST-Ericsson U671X platform was developed and matured since years using GStreamer as multimedia framework with success. GStreamer is required by most of Linux framework: MEEGO, Ubuntu GStreamer graph based approach is naturally fitting U671X hardware split (1 GStreamer element for 1 HW block) October 27, 2010

GStreamer to handle what ? Multimedia playback: audio/video streams from local storage, streaming or progressive download. Multimedia recording: Camera application, Sound Recorder. Metadata retrieving: audio/video tags, bitrates, codec information, thumbnails generation. Constraints: Do not touch to Android java APIs Follow Android versions (cupcake, donut, éclair …) Respect internal Android APIs October 27, 2010

GStreamer replace OpenCore October 27, 2010

GStreamer replace OpenCore October 27, 2010

Porting GStreamer on Android, what are the difficulties ? Android isn’t built from classical Linux way (no pkg-config, no configure, no makefile…) it is required to adapt GStreamer build process to Android one. Glib isn’t provided natively by Android, need to add it. All of this have required to rewrite +70 Android makefiles (.mk) … but it was also an opportunity to carefully select the embedded elements to optimize GStreamer memory foot print and speed. Today U671X android platform embeds 273 elements split in 39 GStreamer plugins. Only use dynamic libraries to not break GStreamer (LGPL) and Android (Apache) licenses terms. October 27, 2010

MediaPlayer services Playbin2 is used to handle playback, streaming and progressive download services Playbin2 has been customized to reduce memory consumption, with Collabora Multimedia partnership. Use 2 dedicated sinks for audio and video rendering: Audio sink requesting adaptation in Android AudioTrack class. Make match GStreamer states (PAUSED, PLAYING …) and events (EOS, SEEK, ASYNC-DONE) to Android MediaPlayer expected states and messages. All the complexity to handle local playback, streaming or progressive download is hidden by playbin2. October 27, 2010

MediaRecorder services Use dedicated GStreamer pipeline with hardware accelerated plugins. Only a limited number of codec supported in Android: Video: MPEG4, H263, H264 Audio: AMR NB, AMR WB, AAC-LC Only one muxer required to handle all recording formats: gppmux v4l2src isn’t use as video source: Android Camera class provide the video frames. October 27, 2010

MetadataRetriever services Thumbnail generation for video files uses hardware accelerator for video decoding and color space conversion (YUV2RGB). Android metadata tags are mapped to GStreamer tags to extract: codec, bit rate, album art, ... Remove OpenCore implementation from Android MediaScanner class => everything is done by GStreamer. Use a simpler graph than playbin2 for better performance and without cpu/mem heavy cost. uridecodebin uri=%s ! icbtransform ! appsink caps="video/x-raw-rgb,bpp=16” Only video is decoded (not audio) for thumbnail generation. October 27, 2010

uridecobin optimizations For thumbnails generation we don’t need to decode audio stream, we use uridecodebin’s “autoplug-continue” callback to limit graph building. October 27, 2010

uridecobin optimizations (2) For metadata retrieving use the same technique but don’t graph video too. It saves time at graph building, reduce memory usage, don’t use any hardware resource. October 27, 2010

How to cope with Android licensing Android is under APACHE license. GStreamer is under LGPL v2.1 license. The wrapper between Android multimedia library and GStreamer is under ST-Ericsson copyright and is dedicated to U671X hardware platform. GStreamer libraries are dynamically linked in Android framework. Add NOTICE files in GStreamer to match with Android build process. October 27, 2010

Improvements done in GStreamer with Collabora Multimedia support avidemux and qtdemux parsing speed up and memory consumption reduction. Add “push mode” to avidemux, qtdemux and flvdemux. New RTSP buffering mode to handle data burst on mobile networks. queue2 ring buffer mode improvement. QoS message to detect framedrop. All those improvements (+ trivial bugs correction) have being released under LGPLv2.0 and are now available on GStreamer main stream. October 27, 2010

U671X-based phones in mass production ACER betouch E110 ACER betouch E120 ACER betouch E130 HTC Tianyi Enter date here

Conclusion With minimum effort, GStreamer brings to Android: A full open source multimedia framework. Maturity. Additional codecs (VC1, DIVX…) and demuxers (AVI, FLV…) Community support and reactivity. Performance. Evolution (future codec, new streaming protocols, Video Telephony). October 27, 2010

Questions and Answers

THANK YOU