VLC and QtHow VLC moved to Qtnessby JB Kempf
16/11/09
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