SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
VLC and Qt
                          16/11/09
How VLC moved to Qtness
by JB Kempf
Plan


• What is VideoLAN

• What is VLC
   – Numbers, Platforms

   – Framework

• Moving to Qt, a success story
   – Reasons

   – Development, results and issues

• Conclusions


                                       2   2
What is VideoLAN


• Software project
   – Started in Ecole Centrale Paris, 1996

   – Various projects for video streaming

• Non profit organisation
   – Back up the VideoLAN project

   – 2009

• Software started by VideoLAN

   – VLC, VLS, x264, libdvbpsi, libdvdcss, libdca &
     libdvdplay, liba52, libmpeg2, VLMa, MiniSap Server,
                                                           3
VideoLAN Solution
VLC


• Platforms
   – Windows, Mac OS X, Linux, Unix, Solaris, Syllable, BeOS,
     WinCE, Maemo, QNX
   – x86, x86_64, PowerPC, ARM, MIPS, SPARC

• Numbers
   – 0.8.6 versions: 110 millions

   – 0.9.x versions: 70 millions

   – 1.0.0: 6,5 million downloads in 1 week for 1.0.0 release,
                        15 million downloads/month


                                                                 5   5
VLC framework


• Multimedia Framework
  – Small Core

  – ~380 Dynamic Modules

  – Most codecs and format distributed



• Features
  – Playback from various medium

  – Encoding, Streaming

  – Live Editing, PiP, Mosaic generator

                                          6   6
VLC move to Qt


• Interfaces are modules
   – Gtk, wx, Kde, BeOS, html, Carbon, Cocoa, ncurses, WPF

   – 0.8.6 based on wxWidgets on Linux and Windows

• Decision to change
   – Cross-Platform toolkit

   – Open Source compatible

   – UTF-8 and RTL+Asian friendly

• Recode the UI from scratch
   – Same look → Improvements

                                                             7   7
VLC move to Qt




                 8   8
VLC port


• History of the port
   – Qt Developer left project early 2007

   – New developer took the port

   – Finished mid-2008

   – 0.9.x transitions

• Rejections
   – Noone wants to do UI

   – GNOME people upset → QGtkStyle




                                            9   9
Qt success


• 1.0.0
   – Huge success, mainly due to interface

   – New team of developers

• Issues
   – Started with Qt 4.1.3 → 4.5.2

   – Skills required

   – Team rebirth at the same time

• Consensus
   – Developers are happy with the new UI



                                             10   10
Quotes


• Quotes from VLC devs
  – « The problem with Qt is that you spend more time thinking about your
    problem than coding the solution :) », jb

  – « Once you've seen Qt Documentation, you can't read any other
    documentation without being ashamed for other people », Nefrir

  – « I hate C++ mess, I love Qt », anonymous

  – « I can't use Qt at work, they count productivity by LoC », Vincent

  – « Qt let us code for boring platforms (ie: non-Linux), from Linux with one
    of the best Design on the target platforms », jb




                                                                                 11   11
Demos




Demos of VLC




               12
Questions




Questions




            13

Mais conteúdo relacionado

Mais de account inactive

Mais de account inactive (20)

Meet Qt
Meet QtMeet Qt
Meet Qt
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phones
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
The Future of Qt Widgets
The Future of Qt WidgetsThe Future of Qt Widgets
The Future of Qt Widgets
 
Scripting Your Qt Application
Scripting Your Qt ApplicationScripting Your Qt Application
Scripting Your Qt Application
 
Special Effects with Qt Graphics View
Special Effects with Qt Graphics ViewSpecial Effects with Qt Graphics View
Special Effects with Qt Graphics View
 
Developments in The Qt WebKit Integration
Developments in The Qt WebKit IntegrationDevelopments in The Qt WebKit Integration
Developments in The Qt WebKit Integration
 
Qt Kwan-Do
Qt Kwan-DoQt Kwan-Do
Qt Kwan-Do
 
Qt on Real Time Operating Systems
Qt on Real Time Operating SystemsQt on Real Time Operating Systems
Qt on Real Time Operating Systems
 
Development with Qt for Windows CE
Development with Qt for Windows CEDevelopment with Qt for Windows CE
Development with Qt for Windows CE
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applications
 
Qt Creator Bootcamp
Qt Creator BootcampQt Creator Bootcamp
Qt Creator Bootcamp
 
Qt Widget In-Depth
Qt Widget In-DepthQt Widget In-Depth
Qt Widget In-Depth
 
Qt State Machine Framework
Qt State Machine FrameworkQt State Machine Framework
Qt State Machine Framework
 
Mobile Development with Qt for Symbian
Mobile Development with Qt for SymbianMobile Development with Qt for Symbian
Mobile Development with Qt for Symbian
 
How to Make Your Qt App Look Native
How to Make Your Qt App Look NativeHow to Make Your Qt App Look Native
How to Make Your Qt App Look Native
 
Animation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsAnimation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIs
 
Using Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with QtUsing Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with Qt
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
 
The Mobility Project
The Mobility ProjectThe Mobility Project
The Mobility Project
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

VideoLAN: Qt & the Open-source Cross-Platform VLC Softwarean

  • 1. VLC and Qt 16/11/09 How VLC moved to Qtness by JB Kempf
  • 2. Plan • What is VideoLAN • What is VLC – Numbers, Platforms – Framework • Moving to Qt, a success story – Reasons – Development, results and issues • Conclusions 2 2
  • 3. What is VideoLAN • Software project – Started in Ecole Centrale Paris, 1996 – Various projects for video streaming • Non profit organisation – Back up the VideoLAN project – 2009 • Software started by VideoLAN – VLC, VLS, x264, libdvbpsi, libdvdcss, libdca & libdvdplay, liba52, libmpeg2, VLMa, MiniSap Server, 3
  • 5. VLC • Platforms – Windows, Mac OS X, Linux, Unix, Solaris, Syllable, BeOS, WinCE, Maemo, QNX – x86, x86_64, PowerPC, ARM, MIPS, SPARC • Numbers – 0.8.6 versions: 110 millions – 0.9.x versions: 70 millions – 1.0.0: 6,5 million downloads in 1 week for 1.0.0 release, 15 million downloads/month 5 5
  • 6. VLC framework • Multimedia Framework – Small Core – ~380 Dynamic Modules – Most codecs and format distributed • Features – Playback from various medium – Encoding, Streaming – Live Editing, PiP, Mosaic generator 6 6
  • 7. VLC move to Qt • Interfaces are modules – Gtk, wx, Kde, BeOS, html, Carbon, Cocoa, ncurses, WPF – 0.8.6 based on wxWidgets on Linux and Windows • Decision to change – Cross-Platform toolkit – Open Source compatible – UTF-8 and RTL+Asian friendly • Recode the UI from scratch – Same look → Improvements 7 7
  • 8. VLC move to Qt 8 8
  • 9. VLC port • History of the port – Qt Developer left project early 2007 – New developer took the port – Finished mid-2008 – 0.9.x transitions • Rejections – Noone wants to do UI – GNOME people upset → QGtkStyle 9 9
  • 10. Qt success • 1.0.0 – Huge success, mainly due to interface – New team of developers • Issues – Started with Qt 4.1.3 → 4.5.2 – Skills required – Team rebirth at the same time • Consensus – Developers are happy with the new UI 10 10
  • 11. Quotes • Quotes from VLC devs – « The problem with Qt is that you spend more time thinking about your problem than coding the solution :) », jb – « Once you've seen Qt Documentation, you can't read any other documentation without being ashamed for other people », Nefrir – « I hate C++ mess, I love Qt », anonymous – « I can't use Qt at work, they count productivity by LoC », Vincent – « Qt let us code for boring platforms (ie: non-Linux), from Linux with one of the best Design on the target platforms », jb 11 11