VideoLan President and Lead Developer of VLC Jean-Baptiste Kempf has responded to questions submitted by Slashdot readers. Read on to find out about the upcoming VideoLAN projects; how they keep VLC sustainable; what are some mistakes they wish they hadn't made; and what security challenges they face, among others!
Besides Christmas/winter holiday time, are there other special VLC Cone icons I've not seen yet?
JBK: Nope! There is only the Winter icon for the last 14 days of the year. 2 things about that icon: it was a mistake and it shouldn't have been in the release, but we had so many insults against it that we decided to keep it :) The second thing is that you should try the konami code when this icon is shown.
However, we have a VLC calendar with very special icons, but that's not in the program...
How do you keep VLC sustainable?
I would want to know how do you keep VLC media player sustainable. As far as I know, there are no ads in the program, and they certainly don't bundle stupid programs with VLC.
JBK: Well, it's important to remind people that we don't make money out of VLC and that there is no business model around it, we're not Mozilla or Facebook. VideoLAN only receives donations and that's not enough to hire someone. VLC developers are either volunteers (the majority since VLC started) or have their consulting business around open source multimedia.
We hate bundling and offers, and we will always reject those.
Technical mistakes in VLC's past
If VLC were being redesigned from scratch today, what would you do differently? Are there any technical decisions or design choices in VLC's past that you now feel were mistakes?
JBK: Well, VLC is redesigned quite often, and evolves quite a bit, even if it's not that visible... We're in the middle of an important change for mobile decoding and to support higher resolutions, for example. However, I can say that some part of VLC are very bad and I would design them differently, notably the media library and playlist.
Microsoft Office Plugin / DirectX support
I hate to ask this because overall I'm anti-Microsoft, but I'm a systems administrator at a company and I can't seem to teach my users much of anything. It would be great if there were some way to make VLC the player that worked with PowerPoint. For some gawd-awful reason Microsoft thinks you need an Apple product for h.264 video playback in a PowerPoint presentation and we don't allow that anymore since it's pwned. I just want to thank you for an awesome product. I use it as a baby monitor with an IP cam at home (no MS products there). I use it on my phone to play podcasts in my car, I love the ability to increase playback speed (that's a little "non-sticky" of a setting).
JBK: VLC ActiveX module should replace it without a problem. It's COM and should work inside Powerpoint. If it does not work, could you mail me, please, so we can fix it?
Apart from VLC -- and I can't thank you enough for this media player, it has made lives of millions easy -- what other projects you guys at VideoLAN are working on currently?
JBK: There are a few libraries that are used by many other projects, like x264, libdvdcss and libbluray. We're working quite a bit on DVBlast to stream DVB and we've picked up the VLC-based video editor, named VLMC. I hope, that this time, we will finish it :)
Did anyone -- or any company -- ever approach you guys for buying VLC?
JBK: Yes, many times. But those people are clueless: what is there to buy?
VLC is fully open source and GPL, and we do no copyright assignments (because those are evil, like for the GNU project) so everyone keeps his own copyright.
You could buy the main domain I guess, but is it worth it?
What we had more often are offers to co-bundle crap at the time of the installation. And to be honest, the amounts they suggest are HUGE, and difficult to resist.
Any plans for a touch-friendly UI?
I use VLC on my laptop for playing movies on planes. It'd be kind of nice to have a touchscreen-friendly UI for those situations. It's kind of a nuisance to remember keybindings or use the touchpad.
JBK: So we have touch-friendly on the Windows Store version, the Android and iOS versions. The last desktop version has a few touch reactions (play/pause, seek and fullscreen IIRC) on Linux and Windows.
How long before VLC for Xbox One?
I have an Xbox One, and its built-in media player just sucks. And there's no alternative! I know you guys have promised that VLC will be available later this year on Microsoft's gaming platform, but can you share exactly how long we have to wait. Also, will VLC support HEVC files?
JBK: I'd guess early September. Or compile it yourself :)
Else, yes, it will support HEVC in software and in hardware on the XBox One S.
Currently, we live in an era where media players have become quite sophisticated. For example, Windows Media Player or iTunes offer some pretty advanced features for managing large libraries, they integrate heavily within their ecosystems, and some even come with complete stores where you can buy songs with a single click. On the other end, there are players such as Audacious that focus on playing music, and only on that - and the result is that you get a very speedy and lightweight player, and the support of Winamp skins makes it possible to personalize things. What role do you think VLC plays in the ecosystem, and more specifically, where do you think you want to take the project in the future?
JBK: I think we need to do both: a very fast player when you open the file from the explorer/dolphin/finder and a possible media library if you prefer the long way. On mobile, the first does not make much sense, but the second does. But I doubt we'll go the full media center route, though :)
On the other part of your question, we need to break ecosystems and make them interoperable. There is no reason why you shouldn't Chromecast from a Windows Phone or AirPlay from Android. And I believe we are at the right position for that. :)
I heard a very long time ago there was development effort to support Chromecast, any idea on the time frame before it's released?
JBK: It will be in VLC 3.0. I often joke that every time someone asks, I delay of one week the release :)
The truth is that the Chromecast working model is not really compatible with the VLC streaming (push vs pull), so it's a bit hard to do. Moreover, there is no SDK on most platforms. But it's almost there.
Thank you for the my favourite player. Are there any plans for seamless playing in VLC. I have some playlists with continuous tracks and it would be nice to not have the break.
JBK: If you've looked closely, with every release we're getting closer to that. We now keep the audio output module between songs. We've changed the audio filters for 3.0 and the next thing will be almost pure gapless. No crossfade yet, though.
by Mister Transistor
JBK: Hi, great program! Thank you - longtime user here. Any plans to support streaming to ("fling to") players using DLNA or UPnP? Many devices like WDTV, FireStick/Kodi, etc. support this protocol, and I can control them very easily from a media "player" PC. I prefer the PC's user interface over the crummy remote control UI's of the playing device(s).
JBK: So I guess you are speaking about UPnP renderers, right? We're having the ChromeCast first, and then we'll do UPnP renderers, so you can push to those player easily.
JBK: With operating systems becoming more and more secure, hackers are increasingly focusing on end user programs, such as VLC. Do you think the project needs work in this regard? If so, may I ask what your plans and ideas for improving it would be? By the way, thank you for all of your hard work! VLC isn't my day to day player, but nonetheless it has come in handy many, many times, and my life is much easier because of it. I heavily appreciate your taking time out of your day to answer our questions! :)
JBK: Yes. I believe VLC has a lot of issues related to security, and it's not enough audited. Moreover, VLC is very tricky to sandbox, because you must avoid memcpy at all cost, and because you need direct access to the hardware (GPU, Audio Device). And doing so in a cross-platform way is difficult. I hope someone has the time to do a concept around that, though...
Bearing in mind how often we receive VLC updates, what is your opinion of Google's decision to "carve in stone" the StageFright media libraries into the /system read-only mount point on Android? Stagefright patch breakdowns were of surprising number and duration: "...over the course of the last year of Android updates, Google has issued patches for 115 media server-related CVE (Common Vulnerabilities and Exposures) flaws. Of those, 49 were found directly in libstagefright, with 35 in libmedia and 31 in libraries on which libstagefright depends."
A related question: if Google had approached you with the intention of burning the VLC player into the equivalent of ROM, would you have asked them to choose another player? JBK: Don't start me on Stagefright and Mediaserver, I could rant for 2 or 3 hours non-stop! Seriously, the code over there is crap, and has insane concepts, like aborting the whole mediaserver (and all related media decoding of all other applications running at the same time), when it parses a file with attributes it does not know, instead of skipping the file. We discovered some issues in Stagefright (busy loops, device reboots, mediaserver crashes) quite early, but we never thought about submitting them.
As for your second question, a media player cannot be secure, you MUST keep it with the minimum privileges possible. But VLC is a good program to include in an Android device, since it reads a lot of formats.
Code development for such a thorny world
How do you manage your code development? With so many proliferating codecs to manage out there, and so many different hardware products to Just Work on, how do you keep everything straight? on a shoestring budget?
JBK: Well, VLC works because it's very very modular: a typical VLC installation has 350 modules. So it's relatively easy to add a new format or a new codec, without touching anything in the core or the other modules. Some modules have not been touched for years, but they still work fine. The APIs between core and modules are usually quite simple and in pure C, which helps.
Also, a lot of code is often pushed to 3rd party libraries, like libbluray or libdsm and we encourage people to add codecs to libavcodec.
As for most devices, it takes a lot of time to work on the module ports (Android/iOS/UWP), but we're now trying to mutualize code between those versions. Moreover, the core is the same on all platforms, with simple abstractions. We try to do the correct thing, but keeping it simple, on a code level.
[Similar question by reader btroy: How on earth did you find the specs and actually code for the huge variety of codecs VLC supports. Where did you start your research and figure out these things?]
JBK: Codecs are now mostly done by libavcodec, but for formats, it's mostly experience and years of try/fail ;)
I have heard that the newest video code, H.265 (or HEVC), is extremely complex, while only offering minor performance gains. What is your opinion on this? Do you think it will catch on or go the way of JPEG2000?
JBK: I believe H265 will achieve around 30% gain, in some cases, but I doubt it will bring that much more. And also, we have to remember that the x264 encoder was excellent.
H265 will make sense a lot in hardware, but software decoders are going to be less used, I believe. However, H265 will be a success because of 4K and HDR that are pushed heavily by the industry, even if we could achieve the same in H264...
Why is the UI so poor and counter-intuitive? Are there any UI specialists working on the project?
JBK: Because we're geeks and that the UI is not the most important. But if you look at what we've done for iOS, Android and UWP, we're improving a lot! Desktop redesign is next!
Where do you see VideoLAN and VLC look like in five years?
JBK: I don't have any crystal ball, but I hope we'll still be around. I hope VideoLAN will host more open source projects related to multimedia. VLC will be probably ported to WebAssembly, whatever that will be. As for the rest, I have no idea :)
MSI: Why are you so hostile towards organisations?
JBK: We're not. It's just that, so far, that noone submitted the code to do so. Also, we have an MSI. I'm available for consulting if you want to modify VLC for features for big deployments. But I don't see why I would work on those features I don't care about on my free time. Tell me your requirements, and I will tell you what needs to be done :)
Short term memory
JBK: Technically, we already have timeshifting inside VLC. It's just not controllable from the user PoV. We need to change that. vlc and encoding obsolescence. We will try to never drop a codec or format, even if marginal.
Official way of playing Blu-Ray
JBK: I doubt it. The best ways are still to use AnyDVD-HD, MakeMKV or libaacs with one of the KEYDB.cfg Database MPEG-4 Part 25. So far, no.
Compatibility Media Center
JBK: Use the VLC for Windows Store version, it's what you want :)
JBK: Fixed in next major release with the new UPnP stack.
Dolby Atmos 7.1 support?
JBK: Should arrive soon, I promise.
Re:How do you keep VLC sustainable? On a related note, where is the closest VLC developer? How do I buy him/her a beer? Where do we send the pizza? JBK: Where are you? I can travel the world for a good beer and pizza :D