We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback
00:00

Formal Metadata

Title
VLC 2.2.0
Subtitle
Videolan VLC
Alternative Title
Open Media - VLC
Title of Series
Number of Parts
150
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2015

Content Metadata

Subject Area
Genre
18
20
Thumbnail
55:22
24
Thumbnail
49:05
26
Thumbnail
45:24
30
Thumbnail
25:44
37
Thumbnail
26:33
87
89
90
104
Thumbnail
22:20
126
Thumbnail
16:49
127
Local area networkVideoconferencingSoftware developerMultiplication signCountingSelf-organizationBitXMLComputer animation
Open sourceSoftwareProjective planeSelf-organizationMultimediaPower (physics)DeterminismRevision controlComputer animation
Computer iconVideoconferencingSystem callMobile WebSoftwareMultiplication signOpen setWindowNumberPole (complex analysis)Android (robot)Installation artComputer fileCodecoutputOperating systemComputer animation
FreewareMotion captureDistribution (mathematics)WebsiteMultiplication signTerm (mathematics)CountingSoftwareWindowComa BerenicesForm (programming)Open sourceMaxima and minimaBoss CorporationStatisticsComputer animation
Independence (probability theory)outputComputer hardwareComputer networkQuantum stateCodeCASE <Informatik>Streaming mediaSoftwareSatelliteClient (computing)Broadcasting (networking)VideoconferencingRevision controlComputer animation
Revision controlCoefficient of determinationMultiplication signProjective planeClient (computing)Service (economics)MereologyVideoconferencingLibrary (computing)Local area networkServer (computing)
Core dumpStandard deviationPower (physics)CodeResultantNetwork topologyCASE <Informatik>Computing platformMultiplication signCodeDecision theoryPatch (Unix)Core dumpSoftware maintenanceLocal area networkSoftware developerVideoconferencingSource codeComputer animation
Modul <Datentyp>CodeGraph (mathematics)Module (mathematics)Wrapper (data mining)Line (geometry)Run time (program lifecycle phase)Core dumpSoftware frameworkMultimediaEndliche ModelltheorieDirection (geometry)Multiplication signProgram flowchart
Module (mathematics)SynchronizationComputer networkRead-only memoryThread (computing)Java appletArchitectureCore dumpMultimediaLine (geometry)VideoconferencingCore dumpKey (cryptography)WindowSemiconductor memorySoftwareFile formatCodeFunction (mathematics)Codierung <Programmierung>Computing platformReal numberEndliche ModelltheorieSynchronizationLibrary (computing)Multiplication signVideo gameModul <Datentyp>Operating systemGraph (mathematics)AbstractionModule (mathematics)Thread (computing)Physical systemComputer fileSource codeComputer animation
Linear regressionVideoconferencingFunction (mathematics)RotationGraphics processing unitSoftwareFinitary relationExtension (kinesiology)Linear regressionModule (mathematics)BefehlsprozessorRevision controlYouTubeWindowPoint (geometry)Direction (geometry)Function (mathematics)VideoconferencingExtension (kinesiology)UsabilityStability theoryTerm (mathematics)RotationSoftware bugFlash memoryMultimediaSinc functionBitoutputAdditionRight anglePressureDefault (computer science)Multiplication signBit rateGoogolMereologyFocus (optics)Semiconductor memoryLimit (category theory)Wave packetException handlingWeb pageDirected graphWebsiteLinearizationProjective planeWordSource code
Insertion lossFile Transfer ProtocolCodecTrailModul <Datentyp>BefehlsprozessorGraphics processing unitHypermediaVideoconferencingFunction (mathematics)MultiplicationMobile WebUsabilityOpen sourceCommunications protocolFile formatComputer hardwareService (economics)MathematicsEuklidischer RingSelf-organizationCodeFrame problemMultimediaTheoryDigitizingJava appletVideoconferencingResultantWindowMultiplication signCodierung <Programmierung>String (computer science)Block (periodic table)Computer hardwareBlu-ray DiscSoftware frameworkComputer fileWordMetropolitan area networkFunction (mathematics)Default (computer science)Control flowVideo gameFile formatSpeech synthesisCASE <Informatik>Functional (mathematics)Distribution (mathematics)Module (mathematics)QuicksortBeta functionCodecProfil (magazine)Arithmetic meanAndroid (robot)Table (information)Video projectoroutputEncryptionStack (abstract data type)DatabasePatch (Unix)Source codeComputer animation
GoogolFeedbackTime evolutionVideoconferencingComputer hardwareFacebookDMX512Touch typingDiscrete element methodGMX MailBitGoodness of fitData managementMusical ensembleGroup actionAndroid (robot)outputSource codeComputer animation
Touch typingCodierung <Programmierung>Term (mathematics)Computer hardwareSoftwareWindowData conversionVideoconferencingBitParticle systemWeightoutputCommunications protocolAndroid (robot)CodecSoftware bugShader <Informatik>Key (cryptography)Computer animation
HistologySmoothingHolographic data storageGMX MailGraphics processing unitService (economics)String (computer science)2 (number)Pattern languageMereologyCodierung <Programmierung>Computing platformCompilerExecution unitPolar coordinate systemWeb crawlerDefault (computer science)WeightMultimediaWindowVideoconferencingRevision controlData storage deviceFunction (mathematics)Lipschitz-StetigkeitNoise (electronics)Multiplication signSmoothingBitBuildingStreaming mediaDigitizingoutputAndroid (robot)Beta functionComputer animation
GoogolComputer animation
Transcript: English(auto-generated)
Jean-Baptiste Campf about the update and news on VLC, a well-known VLC player. Hi, thanks for coming. I'm Jean-Baptiste Campf, I'm a French developer, and I'm going to speak about VideoLAN and VLC 2.2. So my name is Jean-Baptiste and I'm the president of the
VideoLAN nonprofit organization. I've been working on VLC for a bit too long so I don't count anymore but it's been great and I'm still coding those days. So VideoLAN is a
nonprofit organization that started as a project and is doing a lot of open source multimedia software and not only VLC. The main one is VLC by the size of how many people use it but we have other cool stuff. So if you know my talks there is a very long story
about why VLC started. So if you don't know the story I can give you a couple of beers tonight or go to my other awesome talks. But the short story is some people wanted to play Doom and they couldn't so they made VLC. That's the short version but some of you know it and I can take it. But not today because I just have 25 minutes.
So VLC, no one knows about it. Everyone knows about the Cone player which is this completely crazy icon that plays everything you throw at it. Even VHS videos if you push it. So VLC has been known mostly because it can play everything everywhere. Most of the codecs and starting a long time ago
especially when people had like those inferior OS like Windows where you had to install codec packs or other stuff like Mac OS where you couldn't play DVDs without VLC. So that's how VLC became known. It was also really good because one of the main idea because it was a network player was you were able
to play video files that were getting downloaded. So when you were actually downloading a Disney file and you could just like oh see that it was an adult movie or if you were doing the opposite also. So that was great in the eDonkey days and that's also one of the main reason people
starting using VLC. Those days VLC runs every fucking where from Windows to Mac to Linux but since 2.1 OS 2 support is merged and we can play VLC on OS 2 and the three users are very happy. We've been spending a lot of time to port on the very bad mobile operating
systems including Android iOS Windows Phone and soon many others I hope. VLC is very portable. We've done that since the beginning and we want to go on. A bit numbers. Yeah you crowd don't care but mostly what we do is 1 million
downloads per day. Since we started counting it's 2 billion downloads. It's important to know that's probably one of the largest in terms of users of course. Open source software done by like actually bazaar people.
We are not Mozilla. We don't have 500 millions dollars per year. So we are doing that on our free time. So that's pretty cool. It's important to know that we don't count Linux distribution of course and we don't count download.com and all those crappy websites that we package VLC with or some toolbars.
Jokes aside from the statistics from Apple it's installed on one every six Macs and it's on the top 15 software used on Windows. That's pretty cool I think. And you don't care but it's French. Sometimes French can do stuff you know. OK so as I was saying VLC is great because it has support for so many stuff
from DVDs, Blu-rays, network streams, phone streams, external hardware, DVB, satellite, SDI and so many others. VLC is used a lot for the users but also by broadcasters to do transcoding and restreaming. This is a common use case.
So that was one of the first video LAN client version on the GNOME I don't know one something and that's the first DVD that was played by VLC which is GoldenEye as you can see.
And this is why most of the release names until 1.0 were named after GoldenEye characters because that was the first one they managed to work. As you can see it's called video LAN client at that time because it was really the client part of the video LAN solution. And as I was saying video LAN did a lot of other stuff like VLS, video LAN servers but also video LAN started the x264 project,
libdvd CSS and now libluray and so many other libraries that are used mostly either by VLC or by professionals like DVblast or x264. So we come from then to that. That is 2.1 with GNOME 3.
So that's so far the version we have. I need to mention that VLC is done by a very small team. The core team is 5 to 10 people depending on how you count. But we are quite large, we have around 600-700 contributors since the beginning of VLC.
Every year we have 150 more or less contributors. So a lot of people come, send a patch and go away. That's important because that means that a lot of the core developers spend more time now reviewing patches and actually coding which is sad but that's the cool thing. But that also means that the decision when we merge features
is not based on the usefulness of the feature but how maintainable. Because you're going to come and say hey I'm going to give you that and you say oh that's a really cool feature. Hey I'm going to stay. Yeah, yeah, yeah, yeah. No, no, no you don't stay. Since when I started in 2005 there were 3 people who are still active from that time.
So before merging the code we really think can I maintain this code without you and if yes we merge, if not well too bad. It has been the case that many times we had some really cool features that we removed because they were not maintainable. Being maintainable is important because that's how we can do cross-platform and caring about so many different platforms.
Most of the decisions are done by the people who code. So the video LAN non-profit does not do any decision on VLC. It's the code, the coders, the more you code the more important you are. Mostly we try to reach a consensus, that's why we do meetings and if there is no consensus do a fork.
So far none of the forks of VLC have actually lived on. VLC does not exist. So VLC is a 200 lines of code wrapper around libVLC. So VLC as you mentioned it is a full multimedia framework like
QuickTime, Gstreamer, Media Foundation, DirectShow. It builds a graph at runtime depending on what you need to do and it does that with a lot of modules. And that's how you see. So libVLC is a very very very stable API. We never break the API, we never break the RBI
and everything happens in the core. So VLC is just a wrapper that call libVLC and everything is done in the core and the core is managing the modules. The core is very light, around 80, 100,000 lines of code. It doesn't know any codec, any format.
The role is just to do memory, networking, file and thread abstraction above the operating system. It's also able to do the module loading because that's one of the major things to do. I need a decoder, I need an encoder, I need a stream out and build the graph and then just the clock synchronization between audio, video, subtitles.
But nothing else is done in the core. It's really cool because that's one of the reasons why VLC is so popular compared to competitors like mPlayer because we were able very early to take the best technology from the OS.
For example, a lot of people say, OK, I'm going to do a video output. Well, let's take OpenGL because it works everywhere, right? Who has done OpenGL in the past? Does it work everywhere? Yes, it does work not. I mean, in the best idea, yes, it would be nice,
but in real life it doesn't because, for example, it doesn't work on Windows XP, it doesn't work on Android, of course not on BOS and OS2. And it's also the same for audio output. You can use OpenGL, it's going to be great everywhere, yes, but all those libraries that are great and work everywhere
usually have lots of issues, and mostly they don't work correctly on one platform. And for audio and video where you need to be very precise, this is very annoying. So this modularity of VLC is one of the best ideas that was done. I'm not sure they did it for the good reason, but it was a good idea.
So I'm finished with the general VLC introduction because some people have never seen me talking. I do longer talks about that, and you should come to see me too. VLC 2.2. So, VLC 2.10 was released in October 2013, so almost one year and a half ago.
It was called Rinse Wind, which is one of, who knows? Terry Pratchett. Yes, Terry Pratchett, this word, because we started the naming, our release since Terry Pratchett, this word, since 1.0. We made something like five or six point releases to 2.1.5.
We counted 400 million downloads, I think, and the last one, 2.1.5, is already at 245 million. So that's pretty okay. It is quite a stable release in terms of crashes, which is different from the 2.0,
but we have important regressions in usability. Some stuff don't work anymore because we made some mistakes, and so it was a good release, but we could have done better, which brings us to 2.2. Weather Wax is almost ready. We had around 5,000 comics.
It's been way too long to come, and I'm really sorry, wanted to go faster, but we froze a long time ago, and we found so many regressions that we had to fix, but I feel it's going to be a very strong release because so far it's extremely stable.
We fixed most of the important regression we find in 2.1, and also we did a lot of features that are for the users, and also it's quite important that I went on with the changing of licensing of VLC modules, and most of the streaming output and encoding modules are now LGPL.
Before, I only did the playback part, so the streaming part, and LibVLC is actually usable because we are using it a lot more. We have more users since we moved to LGPL. And let's see about features. One of the most important 2.2 features is a Linux bug.
So Linux complained on Google+. I don't know if you've seen about why can't VLC, and with firk, firk, firk in some way, Linux-style, right, that you take your phone in the wrong direction, and of course then you need to be like that to watch,
or then you have an awesome feature in VLC which is rotate, which is actually cropping when you rotate, which is completely useless, and the actual rotation feature you want is called transform, which is great and makes so much sense for the end users. So we thought it was not a good idea, so we have now an auto-rotation feature.
So we detect in MP4 or MKV or Rho H264 what is the rotation wanted by the camera of the phone, and then we do auto-rotation by inserting the transform filter. But it's very bad because it's going to do memcpy and it's very slow. So what we did is that we are basically now extending the video output internal API.
We ask the video output, hey, can you rotate? And if it says yes, we rotate directly on the GPU. If it doesn't, then we insert it, which means that in most cases, except on Linux mainly, it works directly. OpenGL on Mac, Direct3D, but also Android media codec.
We had to fight a bit with hidden APIs, but it works. It basically works directly. For Linux and Xvideo, this very old Xvideo, it will actually take the transform filter and do it on the CPU before sending it to the GPU.
So it's transparent. For 3.0, our Linux port is going to be using OpenGL by default, and so you wouldn't care anymore. Extensions. We have had extensions and playlists and extensibility of VLC in Lua for five years. No one knows about it. It's how you can play YouTube video in VLC.
I don't know if you know, but you can take any YouTube URL, put it in VLC. VLC is going there. It's going to go in the page, take the video, and just show it in the video, which is good because it uses less CPU. It gives you higher quality than the usual RGB scaling issues you see on YouTube, HTML5 player, or the Flash one. So now it's directly with a new website, api.addons.vidoland.org.
And, yeah, we copied Firefox ways because they do a lot of cool stuff. Our UI is not yet good, but we're working on that. Resume where you left off. This is probably the biggest feature people ask.
So VLC on iOS and Android, since two years, we already have that. And on the version on Windows RT, we have that, but not on the desktop. So we bundled that in the Qt UI and the Mac OS UI. So, yeah, basically it kind of works.
We add a lot of support, a lot of Ultra HD codec, whatever Ultra HD bullshit means. But HEVC, VP9, Opius, a lot of work. It was already working, but now it works in most formats, TS, MPKV, MP4. Blu-ray, Java menus actually work now.
So they've been doing an amazing time of code on the Blu-ray. There is many, many commits and huge patch of Java code without spec. I have no idea how they did that. That was merged. We support FTPS, digital cinema package,
so you can actually play the file who arrive in the movie theaters, the 400 gigs files that come in X3 files. Okay, most of you won't use that, I know, but some of you might. And we also support the decoding of it, decryption. So we don't break anything, we just do the EES already if you give us the KDM files.
But that means that maybe you could do a movie theater video project based on VLC without buying some JPEG 2000 decoders that cost 25,000 euros. Some people did a lot of cool stuff by adding codecs that were already playback in FFPlay or AVplay and maybe even codec,
and we didn't map them. So stuff very useful like VP7 or Bink or DK3. Who knows what DK3 is? Yeah, okay, great. And we did a lot of changes on SpeakFFV1 and some profiles like VP8 in Org.
Oh, yes, WebVTT, I forgot about that one. Some people actually care about that. I don't know why. So those are not. We also did a lot of rework. Our seeking in Org and WMV and MP4 was really not good, especially for WMV agile videos,
because they all use the same encoder that is broken and does not signal the iframe in the same way. So when you were seeking, it went to a gray blocky frame, which is not what you want. So we fixed that. We added new modules. We added a libvpx, gpeg, svg, tech and png modules.
Mostly those are decoders, and now for the case of distribution like SUSE and Fedora, where they don't ship libav codec by default, so you can actually play the whole WebM stack. One of the major changes under it is GPU zero copy. So in the old way, when you were doing hardware decoding in VLC,
you take the video, you demux it, you take the elementary string, you send it to the DSP, it decodes, then you get it back on the CPU, you do two modifications, and then you send it back. So you're doing CPU, GPU, CPU, GPU, which is very slow, especially because memcpy is murder.
Thank you. And so now we have what we call zero copy, which is basically we have fake formats. We send directly the data to the GPU, and what we get back is just the ID of the frame, and we go that during the frame, we can do the filtering, and then the video output is just saying, now you display this one, now you display this one, now you display this one, which is great because it allows us to have 10 ATP
or even 4K decoding on Android if your chip can do that. We support that so far with Linux, VDP-IU, Android Media Codec, and Raspberry Pi, MAL things, and we're going to add more of those for three or zero.
We did a lot of stuff in the OS 6 UI, mostly for Yosemite and multi-video output, and we also added a lot of encoders, X262, X265, and Opus, JPEG, and PNG. When we're going to release 2.2 next week, I hope,
we're going to release at the same time VLC iOS 2.4, Android 1.00, no beta anymore, Windows Modern Metro 1.0 also, and all of them are using VLC 2.2, which means that VLC is actually usable because we use it now.
And so that's a lot of, not many functions were added, but a lot were on our table and you can use them. So now I'm going to speak about the mobile port. Well, VLC for Android has been there since now two years and a half. It's always been a beta. We still work on other 2.1,
even if Google does not like us to do that. It's a full video player and supports exactly the same because it's VLC, and as you know, VLC does not exist. And it's also, compared to the VLC on the desktop, a full audio player with a database and search and cool stuff that we've never been able to do on the desktop. Don't ask me why.
The first release were quite ugly with this Maya Acropolis, if you use it. Disclaimer, W screenshot quality and designs. And then we started to move a bit to a cleaner design, but that was not really good. And finally, for 1.0,
we are managing to have a white and a black background that match the Ollo theme. Great. Now Android moved to a new theme. So it took us two years to get to Ollo and now they moved to material. The good thing is, while we're stabilizing to 1.0 of Android, we already have 1.10,
and it's full material and nice and blah, blah, blah, shiny and so on. And it's going probably to be released next month. So for once, we will be on the bandwagon. We have, yes, oops, sorry, we have 42 million users on Android, and 1.10, we have full Android acceleration
and Samba coming. We finished the port on Android TV, we wait for more device to be out, and we are full Android L. VLC iOS 2.4 is going out soon. It still requires iOS 6.1, which is iPhone 3GS. So far, we have around 10 million users
and some cool screenshots. It's more flat and iOS 8-ish, but it's quite good. It's still very fast and faster than our port on Android and on Windows. It's sad, but it's true.
We support OpenGL shaders to do the Chroma conversions. We have the multi-core decoding. We decode 10-bit videos. We have an ARMv8 port that is really fast, doing more than 1080p in software, which we can't do on any other hardware. We have Wi-Fi downloads,
so you can upload directly without going through iTunes, but you can also download it, so you can use VLC as a USB key for your iPhone, which I'm not sure Apple knows that we do that because it's not compatible with ATAMs. We have added callbacks, so when you call VLC, you can have info back. So now, if you just ask and send a protocol and say,
well, VLC played that, because iOS doesn't have some intent like Android, so you can get info back. So that's cool if you have weird codecs and you don't want to ship all those codecs, and we did a lot of bug fixes. We also have VLC for Windows RT Metro UI,
so it works so far quite well. There is also, I don't know if you've seen, we have in beta for Windows Phone, which is a noise where the lipsy is broken, the video output is broken, the audio output is broken. There is no IPCs, there is no compiler. You're not allowed to access file, and you don't have threads.
But we're getting there. And I'm going to finish before they kick me out. And 3.0, so next week, we hope we're going to release all the platform of VLC, which is the first one. Unfortunately, as I said, we froze VLC 2.2 since a long time,
so VLC 3.0 is already quite advanced. The most important is that we wrote HDS dash and smooth streaming support. We are also working on rewriting the HLS support so we can play all those adapting streaming. The only dash we miss is a WebM one. We are working on Wayland for Linux.
Our Linux output is going to be OpenGL by default. We have now zero copy also for the OpenMAX Android, which is the old version of Android and not the media codec. We support a lot of stuff for ARIP subtitle and CAM. None of you are Japanese, I guess, but that's really cool for them. And we also, as we did a lot of rework on AVI, MP4,
and WMV in the org in the last version. On this version, we worked a lot on the MP4 and TS demuxes so that people realize that VLC really plays everything. And then we have Samba and service discovery browsing so that we will finally have a European peace report.
That works. And I got 22 seconds left, and thank you. I can take one question before they kill me. Actually, you have more than two minutes. Two minutes, two questions. Quick questions. Yes.
I can't answer that. I can answer that tonight. The question was, why the cone? And I will answer later. Other questions? No questions? Everyone fell asleep. Yes. How are you still awake at that time?
Because I already did one talk this morning, but I had a huge headache because of the delirium cafe. And also, because now I do 25 minutes talk instead of 50, so that's... Other questions? Yes.
So usually... So the question is, do we update from 2.1.5 to 2.0? And on Windows and Mac, yes. On Android and iOS, yes. On Linux, Linux distribution, do it. What we do is we never update to the first .0. Never, ever, ever. Because, well, we're all awesome, but...
Usually what we do is we do a .0 and then three weeks later we do a .1 and then we update everyone because... Well, you broke... What's the update about the Apple Store and Dolby? Well, you're going to see probably...
So we're going to push a version of VLC on iOS again this week. We have the approval. It doesn't have Dolby. But what I can tell you is that the Dolby patterns for Dolby digital decoding are all out on June 8, 2015. So we will be back with Dolby.
Thank you!