SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
VideoLAN 
VLC port to Android 
Jean-Baptiste Kempf 
mardi 23 septembre 2014
Ecole Centrale Paris
VIA 
VIA Centrale Réseaux 
➣ Campus student association 
➣ Internet acces through RENATER 
➣ Token Ring 
Network Upgrade 
➣ How to pay for our new network? 
➣ How to justify the needs for a faster network? 
➣ 1995 : let's do video streaming! 
23 sept. 2014 Jean-Baptiste Kempf 5
Early history 
1995 – 96 first project 
➣ 2 years to complete 
1998 project reboot 
➢ Open Source 
➢ Modularity 
➢ Cross-Platform 
➢ Network oriented 
➢ Student project 
2001 License Change 
➣ ECP headmaster Agreement 
➣ GPL v2 (or later) 
23 sept. 2014 Jean-Baptiste Kempf 6
VideoLAN Projects 
VideoLan Client, VLC media player, VLC 
VideoLan Server, VLS (dead) 
VLCS (dead) 
libdvdcss (DVD CSS decryption) 
libdts, libdca (DTS decoding) 
x264 (H.264 encoding) 
libdvbpsi (TS files management) 
libdvdplay (dead) 
libdvbcsa (dvb encryption decoding) 
VLMA (VLC automation) 
VLC Skin designer 
libbluray, libaacs (BluRay playback) 
DVBlast, Multicat (DVB streaming solution) 
VLMC (Video editor) 
x262, x265 
23 sept. 2014 Jean-Baptiste Kempf 7
VideoLAN 
Volunteers 
VLC
Collaboration 
Collaboration 
➢ Teams meeting once per year 
➢ Using git since early 2007 
➢ Use of trac, phpBB and mediawiki and only FOSS 
➢ IRC and Mailing Lists 
VLC Contributors 
➢ Core Team 5~10 people 
➢ 700 over the lifetime 
➢ 150 per year 
23 sept. 2014 Jean-Baptiste Kempf 9
Association VideoLAN 
Creation 
➣ 2009, decided in the VDD '08 
➣ Libre/Free Software and Multimedia 
Members 
➣ VLC's core developers 
➣ Important members 
Supports 
➣ Hardware for development 
➣ Travel, Servers, Legal 
➣ VideoLAN Dev Days 
23 sept. 2014 Jean-Baptiste Kempf 10
Open Source/Free Software 
➢What is Open Source 
➢ Cuisine 
➢ Trust 
➢ Study 
➢What is Free Software 
➢ 4 Freedoms 
➢ Actual communities 
23 sept. 2014 Jean-Baptiste Kempf 11
STUPIDITY At MAX 
Stupidity level : 
Over 9000
Rule #1 
Rule #1 
In multimedia, if there is a stupid way to do 
something, someone will do it (badly) and 
complain until it is standard and supported.
Rule #2 
Rule #2 
In multimedia, everyone thinks he 
understands everything... 
But actually noone does...
Multimedia : Everything is broken 
NIH syndrom 
42 ways ! 
Container 
➣ All containers are between complete crap to somehow broken, except mp4 / mkv 
➣ The worst are AVI, FLV and Ogg 
Codec 
➣ Many codecs have bad designs 
➣ Most codecs are badly used when encoded 
➣ Wrong containers 
➣ Too many codecs and profiles 
➣ Subtitles! Metadata! 
23 sept. 2014 Jean-Baptiste Kempf 15
The Cone
VLC
900 000 per day 
More than 1.5B 
over VLC lifetime 
1 every 6 Mac 
Top 15 Windows 
Most used French 
software
VLC 
Support for DVDs 
➣ Region independent 
➣ Prevents forced subtitles (if desired) 
… Blu Rays 
➣ By default, non-encrypted only 
… network streams 
➣ Unicast, multicast, adaptive streaming 
… external hardware 
➣ Cameras, TV input, Satellite, ASI/SDI ... 
23 sept. 2014 Jean-Baptiste Kempf 21
VLC 0.6.1
LibVLC 
Engine 
LGPL
VLC VLMC Applications 
libVLC 
libVLCcore 
Decoder Theora Vorbis x264 
Demuxer Mux Ogg MKV 
Interface 
Vout Aout Filters 
Modules Modules Modules Modules
Architecture 
Small Core 
➣ libVLCCore 
➣ Light 
➣ Memory, Network and Thread handling 
➣ Module loading 
➣ Clock / Synchronization 
Simple Multimedia Framework 
➣ LibVLC 
➣ bindings for C++, C#, Objective-C, Java, 
lua, Perl and Python 
23 sept. 2014 Jean-Baptiste Kempf 30
VLC 
Completely modularized 
➣ About 300 modules in a default installation 
➣ Codecs, IO, outputs, (de)muxers, filters, ... 
➣ Interested in adding new features ? Add a module. 
820,000 lines of code 
➣ 120k in the core 
➣ 700k for modules 
80 external librairies 
➣ Codecs, Output, Effects, Network 
➣ 7M lines of code 
➣ 50 % C, 41 % C++ 
23 sept. 2014 Jean-Baptiste Kempf 31
Network-oriented graph 
Subtitles 
Codec 
Protocol Format Video 
Codec 
Audio 
Codec 
Codec 
MetaData 
Video Output 
Audio Output 
Text Renderer 
Video Filters 
Audio Filters 
Encoder Encoder 
Muxer 
Interfaces Stream 
23 sept. 2014 Jean-Baptiste Kempf 32
Android 
23 sept. 2014 Jean-Baptiste Kempf 33
VLC for Android 
100 % Open Source 
➢ 2.1+ 
Full video player 
➢ All codecs, formats, protocols 
➢ Hardware and multicore decoding 
Full audio player 
➢ Media library & Indexing 
➢ Audio Background service 
23 sept. 2014 Jean-Baptiste Kempf 34
Project start 
➢ Start 
➢ Free Nexus One 
➢ Nov 2010 
➢ First working version in Feb 2011 
➢ GsoC 
➢ Summer 2011 
➢ First working UI 
23 sept. 2014 Jean-Baptiste Kempf 35
Project start 
23 sept. 2014 Jean-Baptiste Kempf 36
VLC for Android issues 
➢ Shared Modules 
➢ Bionic 
➢ pthread 
➢ wchar_t, off_t 
➢ Audio modules 
➢ lipsync 
➢ YUV / RGB 
➢ Size 
➢ Arch 
➢ FPU / NEON 
Technical issues 
23 sept. 2014 Jean-Baptiste Kempf 37
Release 
Release in July 2012 
➣ Beta on Google Play 
➣ Limited countries 
➣ ARMv7 only 
➣ Numerous crashes 
➣ Good feedback 
➣ GPLv3 
23 sept. 2014 Jean-Baptiste Kempf 38
23 sept. 2014 Jean-Baptiste Kempf 39
Video 
23 sept. 2014 Jean-Baptiste Kempf 40
Evolution 
23 sept. 2014 Jean-Baptiste Kempf 41
Evolution 
23 sept. 2014 Jean-Baptiste Kempf 42
Audio v2 
23 sept. 2014 Jean-Baptiste Kempf 43
Video v2 
23 sept. 2014 Jean-Baptiste Kempf 44
Release 1.0.0 ! 
➢ Numbers 
➢ 37M installed 
➢ 20M active 
➢ Next 
➢ Hardware acceleration 
➢ OMX 
➢ Mediacodec native 
➢ SMB, UpnP, Facebook 
➢ Android TV 
➢ Android-L 
Now 
23 sept. 2014 Jean-Baptiste Kempf 45
Thank You 
Jean-Baptiste Kempf 
jb@videolan.org

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction GStreamer
Introduction GStreamerIntroduction GStreamer
Introduction GStreamer
Shih-Yuan Lee
 

Was ist angesagt? (15)

WebRTC Real time media P2P, Server, Infrastructure, and Platform
WebRTC Real time media P2P, Server, Infrastructure, and PlatformWebRTC Real time media P2P, Server, Infrastructure, and Platform
WebRTC Real time media P2P, Server, Infrastructure, and Platform
 
Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021Janus + NDI @ ClueCon 2021
Janus + NDI @ ClueCon 2021
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTC
 
Porting Android
Porting AndroidPorting Android
Porting Android
 
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPSVirtual IETF meetings with WebRTC @ IETF 109 MOPS
Virtual IETF meetings with WebRTC @ IETF 109 MOPS
 
WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019
 
Fuzzing Janus @ IPTComm 2019
Fuzzing Janus @ IPTComm 2019Fuzzing Janus @ IPTComm 2019
Fuzzing Janus @ IPTComm 2019
 
OSDC 2009, Metavidwiki: when you need a web video solution
OSDC 2009, Metavidwiki: when you need a web video solutionOSDC 2009, Metavidwiki: when you need a web video solution
OSDC 2009, Metavidwiki: when you need a web video solution
 
DevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkinsDevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkins
 
Hgd one year on
Hgd one year onHgd one year on
Hgd one year on
 
Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021Write a SocialTV app @ OpenSIPS 2021
Write a SocialTV app @ OpenSIPS 2021
 
How video codec work
How video codec work How video codec work
How video codec work
 
Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020Can SFUs and MCUs be friends @ IIT-RTC 2020
Can SFUs and MCUs be friends @ IIT-RTC 2020
 
Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020Janus RTP forwarders @ FOSDEM 2020
Janus RTP forwarders @ FOSDEM 2020
 
Introduction GStreamer
Introduction GStreamerIntroduction GStreamer
Introduction GStreamer
 

Andere mochten auch

Flexible Transport of 3D Videos over Networks
Flexible Transport of 3D Videos over NetworksFlexible Transport of 3D Videos over Networks
Flexible Transport of 3D Videos over Networks
Ahmed Hamza
 
Lingos or Logos slideshow
Lingos or Logos slideshowLingos or Logos slideshow
Lingos or Logos slideshow
Wendy Aitken
 

Andere mochten auch (11)

Flexible Transport of 3D Videos over Networks
Flexible Transport of 3D Videos over NetworksFlexible Transport of 3D Videos over Networks
Flexible Transport of 3D Videos over Networks
 
3D Video Programming for Android
3D Video Programming for Android3D Video Programming for Android
3D Video Programming for Android
 
Hr glossary
Hr glossaryHr glossary
Hr glossary
 
Lingos or Logos slideshow
Lingos or Logos slideshowLingos or Logos slideshow
Lingos or Logos slideshow
 
How to use VLC
How to use VLCHow to use VLC
How to use VLC
 
How to use VLC
How to use VLCHow to use VLC
How to use VLC
 
How to use vlc
How to use vlcHow to use vlc
How to use vlc
 
Hotel management glossary by Hamed Poursharafoddin
Hotel management glossary by Hamed PoursharafoddinHotel management glossary by Hamed Poursharafoddin
Hotel management glossary by Hamed Poursharafoddin
 
How To Use VLC.pdf
How To Use VLC.pdfHow To Use VLC.pdf
How To Use VLC.pdf
 
How To Use Dropbox.pdf
How To Use Dropbox.pdfHow To Use Dropbox.pdf
How To Use Dropbox.pdf
 
The Glossary Module: 10 Ways to Make This Old Dog Do New Tricks
The Glossary Module: 10 Ways to Make This Old Dog Do New TricksThe Glossary Module: 10 Ways to Make This Old Dog Do New Tricks
The Glossary Module: 10 Ways to Make This Old Dog Do New Tricks
 

Ähnlich wie Porting VLC on Android - DroidCon Paris 2014

"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
Edge AI and Vision Alliance
 
General Tutoring Company Collateral
General Tutoring Company CollateralGeneral Tutoring Company Collateral
General Tutoring Company Collateral
Global_Scholar
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
Benjamin Zores
 
Reaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkitReaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkit
Igalia
 
Introduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and ProcessesIntroduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and Processes
PrestoCentre
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
Benjamin Zores
 

Ähnlich wie Porting VLC on Android - DroidCon Paris 2014 (20)

Vlc202
Vlc202Vlc202
Vlc202
 
VideoLAN & VLC
VideoLAN & VLCVideoLAN & VLC
VideoLAN & VLC
 
VideoLabs: business around VLC, OW2con'16, Paris.
VideoLabs: business around VLC, OW2con'16, Paris. VideoLabs: business around VLC, OW2con'16, Paris.
VideoLabs: business around VLC, OW2con'16, Paris.
 
François Cartegnie - VideoLAN - OSL19
François Cartegnie - VideoLAN - OSL19François Cartegnie - VideoLAN - OSL19
François Cartegnie - VideoLAN - OSL19
 
Web 2.0 Media
Web 2.0 MediaWeb 2.0 Media
Web 2.0 Media
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
 
HTML5 Multimedia Accessibility
HTML5 Multimedia AccessibilityHTML5 Multimedia Accessibility
HTML5 Multimedia Accessibility
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of view
 
It's Time to Debloat the Cloud with Unikraft
It's Time to Debloat the Cloud with UnikraftIt's Time to Debloat the Cloud with Unikraft
It's Time to Debloat the Cloud with Unikraft
 
General Tutoring Company Collateral
General Tutoring Company CollateralGeneral Tutoring Company Collateral
General Tutoring Company Collateral
 
FFMPEG and LibAV
FFMPEG and LibAVFFMPEG and LibAV
FFMPEG and LibAV
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
 
Cross products user manual
Cross products   user manualCross products   user manual
Cross products user manual
 
DCC Labs Company Presentation
DCC Labs Company PresentationDCC Labs Company Presentation
DCC Labs Company Presentation
 
Reaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkitReaching the multimedia web from embedded platforms with WPEWebkit
Reaching the multimedia web from embedded platforms with WPEWebkit
 
Apan media encoding
Apan media encodingApan media encoding
Apan media encoding
 
Introduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and ProcessesIntroduction to Transcoding: Tools and Processes
Introduction to Transcoding: Tools and Processes
 
MOVED: RDK/WPE Port on DB410C - SFO17-206
MOVED: RDK/WPE Port on DB410C - SFO17-206MOVED: RDK/WPE Port on DB410C - SFO17-206
MOVED: RDK/WPE Port on DB410C - SFO17-206
 
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
A Japanese Way to Maintain Constant Quality on Streaming Chaotically Supplied...
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
 

Mehr von Paris Android User Group

Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014
Paris Android User Group
 
Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014
Paris Android User Group
 
Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014
Paris Android User Group
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014
Paris Android User Group
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas Roard
Paris Android User Group
 

Mehr von Paris Android User Group (20)

Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014Workshop: building your mobile backend with Parse - Droidcon Paris2014
Workshop: building your mobile backend with Parse - Droidcon Paris2014
 
Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014Workshop: Amazon developer ecosystem - DroidCon Paris2014
Workshop: Amazon developer ecosystem - DroidCon Paris2014
 
Extending your apps to wearables - DroidCon Paris 2014
Extending your apps to wearables -  DroidCon Paris 2014Extending your apps to wearables -  DroidCon Paris 2014
Extending your apps to wearables - DroidCon Paris 2014
 
Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014Scaling android development - DroidCon Paris 2014
Scaling android development - DroidCon Paris 2014
 
Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014Ingredient of awesome app - DroidCon Paris 2014
Ingredient of awesome app - DroidCon Paris 2014
 
Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014Framing the canvas - DroidCon Paris 2014
Framing the canvas - DroidCon Paris 2014
 
Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014Deep dive into android restoration - DroidCon Paris 2014
Deep dive into android restoration - DroidCon Paris 2014
 
Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014Archos Android based connected home solution - DroidCon Paris 2014
Archos Android based connected home solution - DroidCon Paris 2014
 
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
Robotium vs Espresso: Get ready to rumble ! - DroidCon Paris 2014
 
Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014Buildsystem.mk - DroidCon Paris 2014
Buildsystem.mk - DroidCon Paris 2014
 
maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014maximize app engagement and monetization - DroidCon Paris 2014
maximize app engagement and monetization - DroidCon Paris 2014
 
Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014Using the android ndk - DroidCon Paris 2014
Using the android ndk - DroidCon Paris 2014
 
Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014Holo material design transition - DroidCon Paris 2014
Holo material design transition - DroidCon Paris 2014
 
Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014Death to passwords - DroidCon Paris 2014
Death to passwords - DroidCon Paris 2014
 
Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014Google glass droidcon - DroidCon Paris 2014
Google glass droidcon - DroidCon Paris 2014
 
Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014Embedded webserver implementation and usage - DroidCon Paris 2014
Embedded webserver implementation and usage - DroidCon Paris 2014
 
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
Petit design Grande humanité par Geoffrey Dorne - DroidCon Paris 2014
 
What's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet HaaseWhat's new in android 4.4 - Romain Guy & Chet Haase
What's new in android 4.4 - Romain Guy & Chet Haase
 
Efficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas RoardEfficient Image Processing - Nicolas Roard
Efficient Image Processing - Nicolas Roard
 
Build a user experience by Eyal Lezmy
Build a user experience by Eyal LezmyBuild a user experience by Eyal Lezmy
Build a user experience by Eyal Lezmy
 

Kürzlich hochgeladen

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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Porting VLC on Android - DroidCon Paris 2014

  • 1. VideoLAN VLC port to Android Jean-Baptiste Kempf mardi 23 septembre 2014
  • 2.
  • 3.
  • 5. VIA VIA Centrale Réseaux ➣ Campus student association ➣ Internet acces through RENATER ➣ Token Ring Network Upgrade ➣ How to pay for our new network? ➣ How to justify the needs for a faster network? ➣ 1995 : let's do video streaming! 23 sept. 2014 Jean-Baptiste Kempf 5
  • 6. Early history 1995 – 96 first project ➣ 2 years to complete 1998 project reboot ➢ Open Source ➢ Modularity ➢ Cross-Platform ➢ Network oriented ➢ Student project 2001 License Change ➣ ECP headmaster Agreement ➣ GPL v2 (or later) 23 sept. 2014 Jean-Baptiste Kempf 6
  • 7. VideoLAN Projects VideoLan Client, VLC media player, VLC VideoLan Server, VLS (dead) VLCS (dead) libdvdcss (DVD CSS decryption) libdts, libdca (DTS decoding) x264 (H.264 encoding) libdvbpsi (TS files management) libdvdplay (dead) libdvbcsa (dvb encryption decoding) VLMA (VLC automation) VLC Skin designer libbluray, libaacs (BluRay playback) DVBlast, Multicat (DVB streaming solution) VLMC (Video editor) x262, x265 23 sept. 2014 Jean-Baptiste Kempf 7
  • 9. Collaboration Collaboration ➢ Teams meeting once per year ➢ Using git since early 2007 ➢ Use of trac, phpBB and mediawiki and only FOSS ➢ IRC and Mailing Lists VLC Contributors ➢ Core Team 5~10 people ➢ 700 over the lifetime ➢ 150 per year 23 sept. 2014 Jean-Baptiste Kempf 9
  • 10. Association VideoLAN Creation ➣ 2009, decided in the VDD '08 ➣ Libre/Free Software and Multimedia Members ➣ VLC's core developers ➣ Important members Supports ➣ Hardware for development ➣ Travel, Servers, Legal ➣ VideoLAN Dev Days 23 sept. 2014 Jean-Baptiste Kempf 10
  • 11. Open Source/Free Software ➢What is Open Source ➢ Cuisine ➢ Trust ➢ Study ➢What is Free Software ➢ 4 Freedoms ➢ Actual communities 23 sept. 2014 Jean-Baptiste Kempf 11
  • 12. STUPIDITY At MAX Stupidity level : Over 9000
  • 13. Rule #1 Rule #1 In multimedia, if there is a stupid way to do something, someone will do it (badly) and complain until it is standard and supported.
  • 14. Rule #2 Rule #2 In multimedia, everyone thinks he understands everything... But actually noone does...
  • 15. Multimedia : Everything is broken NIH syndrom 42 ways ! Container ➣ All containers are between complete crap to somehow broken, except mp4 / mkv ➣ The worst are AVI, FLV and Ogg Codec ➣ Many codecs have bad designs ➣ Most codecs are badly used when encoded ➣ Wrong containers ➣ Too many codecs and profiles ➣ Subtitles! Metadata! 23 sept. 2014 Jean-Baptiste Kempf 15
  • 17. VLC
  • 18.
  • 19. 900 000 per day More than 1.5B over VLC lifetime 1 every 6 Mac Top 15 Windows Most used French software
  • 20. VLC Support for DVDs ➣ Region independent ➣ Prevents forced subtitles (if desired) … Blu Rays ➣ By default, non-encrypted only … network streams ➣ Unicast, multicast, adaptive streaming … external hardware ➣ Cameras, TV input, Satellite, ASI/SDI ... 23 sept. 2014 Jean-Baptiste Kempf 21
  • 21.
  • 23.
  • 24.
  • 25.
  • 26.
  • 28. VLC VLMC Applications libVLC libVLCcore Decoder Theora Vorbis x264 Demuxer Mux Ogg MKV Interface Vout Aout Filters Modules Modules Modules Modules
  • 29. Architecture Small Core ➣ libVLCCore ➣ Light ➣ Memory, Network and Thread handling ➣ Module loading ➣ Clock / Synchronization Simple Multimedia Framework ➣ LibVLC ➣ bindings for C++, C#, Objective-C, Java, lua, Perl and Python 23 sept. 2014 Jean-Baptiste Kempf 30
  • 30. VLC Completely modularized ➣ About 300 modules in a default installation ➣ Codecs, IO, outputs, (de)muxers, filters, ... ➣ Interested in adding new features ? Add a module. 820,000 lines of code ➣ 120k in the core ➣ 700k for modules 80 external librairies ➣ Codecs, Output, Effects, Network ➣ 7M lines of code ➣ 50 % C, 41 % C++ 23 sept. 2014 Jean-Baptiste Kempf 31
  • 31. Network-oriented graph Subtitles Codec Protocol Format Video Codec Audio Codec Codec MetaData Video Output Audio Output Text Renderer Video Filters Audio Filters Encoder Encoder Muxer Interfaces Stream 23 sept. 2014 Jean-Baptiste Kempf 32
  • 32. Android 23 sept. 2014 Jean-Baptiste Kempf 33
  • 33. VLC for Android 100 % Open Source ➢ 2.1+ Full video player ➢ All codecs, formats, protocols ➢ Hardware and multicore decoding Full audio player ➢ Media library & Indexing ➢ Audio Background service 23 sept. 2014 Jean-Baptiste Kempf 34
  • 34. Project start ➢ Start ➢ Free Nexus One ➢ Nov 2010 ➢ First working version in Feb 2011 ➢ GsoC ➢ Summer 2011 ➢ First working UI 23 sept. 2014 Jean-Baptiste Kempf 35
  • 35. Project start 23 sept. 2014 Jean-Baptiste Kempf 36
  • 36. VLC for Android issues ➢ Shared Modules ➢ Bionic ➢ pthread ➢ wchar_t, off_t ➢ Audio modules ➢ lipsync ➢ YUV / RGB ➢ Size ➢ Arch ➢ FPU / NEON Technical issues 23 sept. 2014 Jean-Baptiste Kempf 37
  • 37. Release Release in July 2012 ➣ Beta on Google Play ➣ Limited countries ➣ ARMv7 only ➣ Numerous crashes ➣ Good feedback ➣ GPLv3 23 sept. 2014 Jean-Baptiste Kempf 38
  • 38. 23 sept. 2014 Jean-Baptiste Kempf 39
  • 39. Video 23 sept. 2014 Jean-Baptiste Kempf 40
  • 40. Evolution 23 sept. 2014 Jean-Baptiste Kempf 41
  • 41. Evolution 23 sept. 2014 Jean-Baptiste Kempf 42
  • 42. Audio v2 23 sept. 2014 Jean-Baptiste Kempf 43
  • 43. Video v2 23 sept. 2014 Jean-Baptiste Kempf 44
  • 44. Release 1.0.0 ! ➢ Numbers ➢ 37M installed ➢ 20M active ➢ Next ➢ Hardware acceleration ➢ OMX ➢ Mediacodec native ➢ SMB, UpnP, Facebook ➢ Android TV ➢ Android-L Now 23 sept. 2014 Jean-Baptiste Kempf 45
  • 45. Thank You Jean-Baptiste Kempf jb@videolan.org