By Alex Li
If you are looking for the best free video player on the Internet, VLC will definitely be your top pick. As an open source software, it has been downloaded for more than 4 billion times and received numerous compliments.
However, few are aware that this great project almost died 15 years ago.
While VLC gained traction among users at the time, it was becoming increasingly difficult for the team to maintain. Then the crisis came.
At this difficult time, Jean-Baptiste Kempf (commonly referred to as JB) rose to the challenge. As a visionary leader, he saved this sinking project from collapse and took VLC to a whole new level.
Photo provided by Jean-Baptiste Kempf
For JB and the developers working on VLC, it is not just a media player serving billions of users, but an ideal they are fighting for. In order to keep VLC ads-free, JB has refused tens of millions of dollars, which could have made him very rich.
"VLC will always be free and maintained by users," Jean-Baptiste Kempf, the president of VideoLAN, said in a recent interview with us.
In this email interview, he talked about how VLC started and open sourced, why he founded VideoLAN non-profit organization, and his visions for VLC and VideoLAN.
JB also spoke about the major challenges of sustaining open source and the most important qualities a good developer should have.
While putting the VLC hat aside, JB told us how he got interested in computers, his love for books and what he wouldn't do at a young age.
The following is our conversation with Jean-Baptiste Kempf.
LiveVideoStack: Hi! JB, thank you so much for speaking with us. Before we start, could you introduce yourself?
JB: Hi guys, my name is Jean-Baptiste Kempf, and I'm a French developer. I'm the president of the VideoLAN non-profit organization and one of the main developers of VLC media player. I also code on other open source software, and I've created a few startups related to videos.
On a personal level, I have a family. I love cats, opera and LEGO and, of course, I watch a ton of movies :)
LiveVideoStack: How did you get interested in computers?
JB: As a kid, I played a lot with LEGOs and other construction sets, and I was not really into video games, but when I was 11-year-old (middle school), my math teacher introduced me to programming with the LOGO language. Very soon after, my parents bought a Windows 95 computer, and I started playing a lot with that machine (and probably destroying it several times).
I spent quite a bit of time in high-school administering Windows machines, small networks and created basic websites, but it was not until university that I started spending time programming.
LiveVideoStack:Looking back, what advice would you tell your younger yourself?
JB: I would advise my younger self to trust more my instincts, and stop overthinking about everything. I would also advise myself to get away from toxic people and not try to over-prove myself to other people.
Very generic advice for a young geek in high school, I know :D
LiveVideoStack: What do you do in your free time? If you were not a developer, what would you become?
JB: I don't have much free time, but I read a lot of books (adventures, Sci-Fi and Fantasy) and a lot of Bandes-Dessinées (French comics) whenever I can. I love going to the Opera, rollerskating and skiing.
If I were not a developer, I would have loved to be an Urbanist-Architect. But my friends tell me I should do politics, which might be dangerous.
LiveVideoStack: Could you recommend one of your favorite books to us?
JB: I would recommend The Name of the Wind from Rothfuss or any recent book from Sanderson. Those are the best fantasy authors alive today. Those books are the best escape I've seen from normal life.
LiveVideoStack: How did VLC start? And why did you found VideoLAN non-profit organization?
JB: In fact, the story started in 1994/1995, when the students of the École Centrale Paris wanted a new faster network to play the first FPS games on the network, because the current network was in Token Ring, and therefore, with a high-latency. But the University did not see why they would pay for this, since the network was enough for studies, at that time.
So the students went to see companies that were partners of the school and asked them to pay for the new network. One of them, TF1 was a major TV broadcaster in France and suggested a proof-of-concept of streaming video on the network, instead of deploying 2000 satellites decoders and dishes, and decode on normal PCs, and use only one dish for the whole campus.
Today it seems obvious, but at the time, the normal computer was a 486DX or a Pentium 90, so that was surrealistic. But the students wanted their network, so they started the project called "Network 2000". In 1996/1997, the demo worked and the students got their new network and everyone was happy.
It could have stayed there, but at the end of 1998, a different group of students took again the project to make it usable outside of the École Centrale Paris, to stream video on a local Network (LAN), the "VideoLAN" project.
It took 2 years to get it open source, and this happened in 2001, when the headmaster of the school allowed this to happen.
I joined the Ecole Centrale Paris in 2003 and then joined the networking team. VideoLAN was part of the networking organization and where I learned about VLC.
Years later, in 2007-2008, when the project almost died, I created the VideoLAN non-profit and took the project outside of the Ecole Centrale Paris and the networking organization to make it live its own life.
VLC's logo is a traffic cone (Photo: Lucian Alexe/Unsplash)
LiveVideoStack: Until now, how many downloads has VLC got? What makes it so popular?
JB: VLC has billions of downloads, and we counted more than 4 billion on our website, but because it's open source, there might be a lot more, because it's allowed to redistribute it freely.
VLC got popular because it can read every type of video and format without issues and without installing codecs. This is less critical today but that was a big deal in the 2000s, when there were so many diverse formats.
LiveVideoStack: What advantages does VLC have over other players?
JB: VLC got popular because it was one of the only players at the time to come with codecs embedded, and not rely on the system codecs. So, VLC plays a lot of things that no one else decodes. It has also very good subtitles support and is very fast. VLC is also quite light to install.
It's also completely Open Source, which is important to check that no company is spying on you, but also to modify it to adapt to one market or one usage.
And because of that, VLC will always be free and maintained by users.
LiveVideoStack: When will VLC 4.0 be released? What can we expect in this version?
JB: VLC 4 will be released when it is ready. :D
We're working on a new clock system which should improve the synchronization of audio and video, increase the audio quality and allow lower-latency decoding. We're working on object-based audio, higher quality audio, GPU-accelerated video filters, dual-subtitles, better HDR support and gapless audio playback. We're also reworking the interface with a media library integration.
LiveVideoStack: What's the current status of VLC.js development? When will it be available?
JB: VLC.js kind of works right now. The core, the decoders and the hardware decoders work, and there is audio, video and subtitles. But there is a ton of work to make it more usable and integrated with the classical web stack and JS framework. So far, not enough people are contributing to make this release fast enough, but one can already play with it today.
LiveVideoStack: Nowadays more and more people are looking for immersive experience. Has VLC done anything to support it?
JB: VLC has a VR version that works with headsets, but the usage is still quite limited, since there are better options for VR playback, that are optimized for this use case.
We have plugins for VLC inside Unity, Unreal and other 3D engines so that you can have playback of files, stream and live experiences directly inside VLC.
LiveVideoStack: What are your visions for VLC and VideoLAN?
JB: Video online is already a huge share of the Internet consumption, and I don't see that changing in the future. And we create a lot of video content, every day.
We need to support open source around video to be sure of the compatibility of the video. This means players, encoders, decoders and other tools must be Open Source.
It's the mission from VideoLAN to be sure we can do that.
VLC must evolve to be compatible for the web and also be more performant for the new formats coming.
LiveVideoStack: What motivates you to lead an open source project?
JB: Working on an open source project is very interesting and challenging, because you cannot cheat, since everything is happening in the open. Not only code, but decisions, interactions, discussions and so on.
So, when one works on an open source project, you learn a lot, and very quickly, in all the matters that impact the project: legal, code, community, marketing and so on.
LiveVideoStack: What are the biggest challenges you have encountered these days?
JB: To make the open source community around the video space sustainable is very difficult for me. We don't make money out of VLC, VideoLAN or FFmpeg. So, we need to find different ways to get money to pay developers on those projects. This means commercial deals and actions, but this is not scalable and takes way too much of my time. We need to find new ways to put resources into FFmpeg and VideoLAN.
Another issue related to the above problem is that it's very difficult to keep developers around, because once they know those video technologies, they are very valuable to large companies, and then we lose key contributors.
LiveVideoStack: How do you see the software patents in the multimedia field? How do you deal with patent attacks?
JB: Patents in multimedia are pure software and algorithm patents. Therefore, they should not exist, since they only allow mafia tactics and hurt innovations.
Patent attacks are easy to deal with: you just reject all those patents as invalid, and show them why.
LiveVideoStack: Do you have any advice for open source developers who are struggling to raise money for their projects?
JB: Work on popular projects, that might be easier to raise money. Or start a SaaS company that develops everything as open source.
LiveVideoStack: How many developers are there in VideoLAN? How do you collaborate with each other?
JB: On VLC, the core team is 6-8 people. The larger community is maybe 15 people. On other VideoLAN projects, it's around 30 people.
We talk to each other through IRC, emails and GitLab. And we meet a couple of times per year.
Photo provided by Jean-Baptiste Kempf
LiveVideoStack: In your view, what are the most important qualities a good developer should have?
JB: The most important quality for a developer is to be humble and curious. It's difficult to know everything, even as a senior developer, so work hard, study, watch outside of your comfort zone. Don't be afraid of working hard, and use your brain :)
LiveVideoStack: If someone wants to develop VLC, where should they start?
JB: "Read the wiki, Join IRC, compile VLC, add a video filter" is the easiest way to start. Then, just work on a feature that YOU personally need when you watch a movie. And then, be patient and rework your code to get it merged.
It's a lot less difficult than what people think :D
LiveVideoStack: As a developer, what's the most important thing you're working on right now, and how are you making it happen？
JB: Currently, I want to work on real time video, video where there is no latency at all, to control robots, drones, machine in distance.
Not sure if this project will emerge or not, we'll see...
LiveVideoStack: Last but not least, if you are given a chance to have a conversation with a computer scientist or an open source hero, who do you want to talk to most? What would you like to talk about?
JB: To be honest, not many of them, but I'd love to spend a bit of time with John Carmack.
I would love to discuss with him about how to organize developer teams, and the evolution of the programming languages and paradigms, so we can see how to program better in the future...