videolan: qt & the open-source cross-platform vlc softwarean
DESCRIPTION
VideoLANported its popular VLC software to Qt. Listen to their experience during the port process and learn about the innovative features and functions Qt brought to the new version of VLC. will develop about the nice features Qt brought to VLC software. Presentation by Jean-Baptiste Kempf held during Qt Developer Days 2009 http://qt.nokia.com/developer/learning/elearningTRANSCRIPT
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