Good morning everyone. I'm going to speak about a few stuff about different open source
multimedia communities and I'm going to speak about what happened last year because we
had the beginning of the year which is why we are talking about 2023. For those who
don't know me, I'm the president of the VLAN nonprofit. I'm an active member on a few open
source multimedia community. I'm also doing other things outside of the open source
multimedia community but I won't say that because that shouldn't happen. I have also a few companies
who are doing open source multimedia consulting. So I was here last year, I guess, quite a few
things happened, mostly about releases on FFMPEG, on David, on VLC and others. The good thing is
like last year I came and gave some promises and we actually did the promises. Well, people did.
I did nothing except making some slides. So FFMPEG 6.0 was stuck just after 4th
them last year. It was quite a large release because there was a lot of discussion about
what it was because we are trying to move FFMPEG to a one-year release schedule. So what is a
large release and what is not a large release? So I started doing stats because for some reason
no one did stats in the past and seeing that one release gets 200 people around is quite large.
Not people sending patches but actually merging them there because the FFMPEG community still has
issues merging all the patches that we receive. Major changes. The beginning of work on
multimedia spreading mostly on the Merx website at the beginning, risks 5 optimization, hardware,
AV1 decoding and some work on FFTs, new APIs. Well, see my talk from last year because that's
mostly it. A lot of new codecs and filters. Well, I did the presentation a few days before
release. The release happened. It was a big success. I hope. So then the next major release
was 6-off. It was a bit difficult to get. We were quite late compared to our initial schedule.
Our initial schedule would have been summer. It was more autumn, like October, November.
And this one was supposed to be a small release. It's not a major release. And you still see
that it's 150 contributors and the number of line changes is insane. Of course, the larger
contributor is Anton. You should see his talk from this afternoon. But a ton of work on
multimedia spreading of the FFMPEG CLI. Of course, it's not completely activated in 6.1,
right? But still all the commits went through because Anton knows how to do small commits
instead of big, major patch sets, which is easy to review. A lot of things happened on the Vulcan
decode. Acceleration, hardware acceleration, mostly the work from Lin. It's maybe one API to all the
new hardware API in the future, right? Yeah, OK, no. It's another one. At least this one is
supposed to work cross-platformally. Well, then like a VR API. I did push a lot on FLV plus and
RTMP plus, which is basically extending RTMP and FLV for new collects. So if you're not happy, blame
me. I was deeply unhappy about all the new stuff which were supposed to replace RTMP and like
whether it's called RIS, the sortie, or Rush, or stuff like that, right? Oh, it's going to be great.
Yes. But RTMP is here. RTMP is everywhere. RTMP is on devices. And like, oh, yeah, we're going to do
a new stand-down in 10 years was not really what I liked. Also because never happens, right? See the
XKCD about that. So we're extending the RTMP to support multi-track audio, multi-channel audio,
new collects, especially so now you can give AV1 and also HDR over RTMP. Is that a good solution? No.
Is it a pragmatic solution? Yes. New decoders like RivaTuner, but also VMIX, which I quite care about,
and quite a few passes for decoders that are coming afterwards, but they got in C.1. And the
beginning of RIS 5 optimization. And for those who care on Linux, there is now an AV1 via API
encoder. 7.0. 7.0 is out soon, TM. It's a very large release, probably one of the largest.
EVC, for those who don't know, it's Samsung Kodak that was underlined by ISO, which is supposedly
with less patents than VVC. I say supposedly because of course that's not true, right? Because
probably Cisvell will do another patent put around that. The major part is VVC, right? It's mostly
done by a few people, some in China, some around here. And that's probably one of the largest
decoder that we've seen in FFMPEG in the last few years. Because as you know, everyone decoder was
done in David, mostly for licensing reasons. We wanted to have AV1, MIT and BSD license decoder,
see the essay of Stolman about why that's okay. And now we have a VVC decoder, right? So it's
probably the largest work that we've seen on FFMPEG since HVC decoder, and it went a lot better.
It's still going to be marked as experimental because it's not first enough, so we don't know
exactly the security of that. But what's interesting is that's around 18,000 lines of code.
It doesn't support the whole full VVC almost. There are a few features missing,
so I'm not sure how many will be in 70. And also it's reusing some of the assembly from HVC, but
also some assembly from David, right? Which is something I did not expect. But we'll talk about
that for the next year, I guess, because we'll have a lot of VVC assembly this year into FFMPEG.
QoA, more RTMP, more AV1 work, and lately AVIF support is coming. I hope real video will come
because there was a batch on the mailing list. I think it was forgotten. No one cares, but just
like it. For old guys like me, like having real video six was cool, and I hope Lynn can finish
HVAC. Else it will go to the next release.
Stats. So I did two types of stats compared to 6.0 and compared to 6.1, right? So if you look at
for major release, it's 180 contributors, 2,500 file touch, and more than 350,000 lines of code
in one year. That is huge compared to what we've done for FFMPEG 6, right? So most like, well,
a good 50% degrees. Of course, half of it is from Anton. No, okay, no. Maybe not, but if you've not
seen the talks from Anton this afternoon or the one from Anton at VDD, you have to, right? Because,
but basically it's much better for everyone. And mostly people who are using directly FFMPEG
CLI. And if you want to have any ABR letter, multiple encodes, multiple protocols, and so on,
you don't need to use directly the, the, do a new tool based on the APIs. Of course, a lot of cleanups
and API changes because it's a major release. So of course, a lot of threat safety because
else the military spreading work will not work. A lot of things on arm assembly, mostly for HVAC,
but also for a few others. So good, better speeds. And on the API changes, there is lots of new
codecs and profile because of the one that we added. Quite a few things about HGR metadata,
IMF headers and the related channel mapping changes. There is a new thing called Stream Group,
which we're going to use for IMF, maybe for enhancement layers like LCEVC or other things
like that, some Dolby profile. Seven, eight, I don't remember, right? But some of those.
Lots of discussion about side data, including the new packet side data from stuff on Direct3D12.
So we can have a Direct3D12 acceleration. And of course, because it's a new major bump,
a lot of deprecations, including the final YUVJ deprecation. Yay, we've only talked about that
since 2013. Yeah, so military spreading, see the talk, right? You have to. So that's mostly
it about for FFMPEG. I'm now going to speak a bit about David. So a lot of things happen on David.
Yeah, sorry. A lot of things happened on David in the last year, right? We had like
quite a few releases. They look small. They're not. There are a ton of work
in February, in May, in September. But what's interesting is that we did basically all the
optimization for everything that you care about today, right? So all the neon is done,
all the SSC3 is done, 32 bits, 64 bits. AVX2 is done. We finished by all the intratools,
Z1, Z2, Z3, like really the stuff that, except when you care about image, are very small in terms of
runtime. But all of that is done, right? So for normal people, the work on David is done, right?
Well, I'm not sure we are normal people. So now there are things happening on AVX512,
mostly by Enric, right? So, and the good thing is, a contrario from what people have been saying
for a long time, which, oh, no, you cannot use AVX512 to be faster than AVX2 because of the issue
with TDP and the clock changes. It's actually faster, right? And in many cases. And also because
now we have other chips, which are not done by Intel and are quite competent, you can have
AVX512 without going, slowing down the whole CPU, right? So I think it's mostly done for AVX512,
because on AVX512, we will not do all the coverage of AVX2 because in some places it's not
worth it. But this is some of the things that are happening on the next release, which is happening
next week. Martin, maybe. There is RISC5 that was done by Nathan. So we start the RISC5
port. Mostly the inverse transform were done. Hopefully more people will help this year.
And from nowhere, from China, some people arrive with a long arch support and they did a ton of
things, right? Like a lot of the inverse transform, some loop filter, some loop restoration and MSAC,
right? So that's quite useful. But still, it's like a bit more niche than the usual, the normal
mainline users. Interesting things were done on reducing memory usage, because some people,
I think, meta complain about that. And it was just like, oh, okay, yeah. One of the problems with
memory on David is the way we're doing the frame threading, which is why David is so fast. But
like one of the problems is that it can use a bit more memory. So we looked at that and we did
some fixes for that. The next release, I don't know when exactly it's out, because there is some
security issues that are integral overflows and I think are exploitable. So I need to discuss with
Chromium people to be sure that they know before I do the release. But that's mostly about it on
David. We are looking at David hybrid decoding on GPU, but so far I don't have much to say about that.
A bit about VLC. We did quite a number of minor releases of VLC this year, mostly about
3.0, lots of security issues. The last release was 3.0.20, three months ago. And we've had a large
number of downloads. We've seen 150 million downloads in three months, which is around 50
million per month. So that's very steady. And you know that I care about one release number
or download on one release, because you can know, it can help to have the install base of VLC.
So the good thing is that we are soon going to beat Firefox in terms of users,
not because we're getting bigger, but because... But yes, that's interesting is that the number
of downloads in VLC is actually increasing in the first month. Like in five months, we always get
around 220 million. Now we're seeing that it's getting a bit more. Usually in three months,
we have 120 million. This is what we had two years ago. So we're at least getting bigger.
A lot of those users are of course on Windows and Mac OS. What we're seeing is that the number
of users on Mac OS is increasing, which is worrying for me. But VLC4, a lot of work happening on the
clock. We have lots of difficulties stabilizing the new clock, which is one of the large work on
VLC4. And the cool stuff that we've been doing that are finally out, which is the VLC on Unity and
VLC on Unreal so that you can use open source tools directly to output video and real time video
inside 3D engines. And of course we did some stuff on VLC in the web browser because it's actually
working now. But most of the things that happened this year on VLC are related to the Android and
iOS versions. I don't talk often about those, but for them, because usually I don't have time,
so this time I have. At the same time, we improved quite a bit the Android Auto, which is different
from Android Automotive. Well, it's Google, right? They can find a great naming, then they fuck it up.
So Android Auto is like your normal car and you can basically play with something that is on the
phone. So we have had major stuff on Android Auto, right? So the app is actually usable. It's not
done by a few nerds. And at the same time, we had Apple CarPlay, which is not like Apple Car
because that's for 2028. But yeah, so actually now people are using it because it's usable. Most of
the people use that for music, of course, and not really for video because you shouldn't watch video
while you drive. Some people are laughing, but you know that now bigger cars have actually
screens at the back for the kids to watch directly. Anyway, Android 3.5 and 3.6 of VLC got big jump on
foldable, right? So because like we're back in the 90s, now you can have flip phones that you can
open, right? Quite popular in the US, weirdly, when we see the stats. No one else cares.
Support for Android 12, 13, 14 because, well, they need to justify new things. And of course,
it's breaking the UI and breaking the permissions for absolutely no gain for their users. But mostly,
we back ported or forward ported, I don't know how you call that, the web server features that we
have on iOS, which is extremely popular to Android. So you can basically upload files directly through
a web browser because MTP and USB is now completely broken on modern Android versions because
they decided that, yeah, you can't use that anymore. On iOS, a lot of things that were already on the
Android version came, right? The other way around, we tried to match them, play back history,
but so everything like network library features, right? So you can use your Plex or DLNA server,
SMB server and still have like continuity history and so on, right? External subs,
for some reason, Felix, I did CDG support. Where is Felix? Why?
People asked you to add karaoke of CDG? Who are they? Why? Okay, I'm sure, MKA. But the last thing
interesting is we have now support for VisionOS. So if you have 200, then 300,000 euros, you can buy
one, right? And so it seems that Apple has no idea why would we have support for VisionOS, right?
The SDK is completely broken, nothing works, but you can run VLC on it and watch
your favorite movies directly on VisionOS. Yeah, now I'm just going to speak a bit more
about the community. We did great VDD in Dublin thanks to Anil and Vibhuti. We did, as usual,
crazy stuff at night in Dublin. People thought we were crazy. We are. But it was like quite a good
VDD. A lot of VLC and FFMPEG falls were here, so that was pretty cool. But it's important because
like our communities are sometimes a bit difficult. And so on video land, we organized VDD 2023. It was
important because like the last things were that we didn't have, we didn't do enough VDDs because
of COVID. And so we did some elections. We have a lot of things that we're going to change in the
nonprofit, mostly on the infrastructure work. We need to buy new servers and we do most of our
infrastructure because our new servers are now 10 years old. We did a NAB boost, which was completely
insane with our big Julien. It was quite fun. On the other side, on FFMPEG organization, there were
lots of discussion about the community management. One of the reasons is that when we decided the
General Assembly elections, and it was not precise enough the way we would update the list of members,
so there was a lot of discussion. But like the problem is how do you reboot strap based on
something that is not correctly well done? We should have used Lydia earlier to have like good
organization. But anyway, this is fixed as part of this year. So we now have a good General Assembly
and so we managed to be like T-Series, which is technical committee and community committee,
so that we will be able to fix our discussions, at least decide on them. And also like we've
been doing FFMPEG technical meeting, the last one was at VDD. We did offer one in June in Barcelona.
Was it the year before I don't remember? And one at Fosdam, right? So trying to do what we've been
doing on VLC, which helped a lot, also on the FFMPEG part. Last part is just like, and that's for a
lot of people watching, not too many people in the room, but like the FFMPEG community needs more
support, more corporate support, more money, right? It's now like a core infrastructure project,
and it's one of the only ones that is not supported by Linux Foundation and CNCF and all those people
who have a lot of money. So the only two companies were actually giving like really supporting
YouTube and Meta. But the other one is very difficult to get any cent, because like some of the big
GPU chip providers are very poor when I ask them.
I would suggest that if you have time, look at the talks from Kiran at
Demux where I explained all those issues, but like we really need help on all those things. And
I think that's it. Thank you everyone.
And because for once I'm not rushing, I even have time for questions.
No questions? Yeah?
What about the LTS?
So in theory? Okay, so the question was, and someone asked the question to Anton before,
and I think Anton skipped the answer. Yeah, I didn't answer the LTS part because I forgot.
Yeah, yeah, yeah, yeah. You forgot or you did not like the question?
If we follow the plans, 7.1, which will be at the end of this year, will be LTS.
That's at least supposedly the plan.
Are we going to match our plan? Yeah, I think so.
The plan is to have 7.5, 7.9 as LTS, and so 7.1 as LTS. Yeah, there we go.
No, 2027, that's a target.
Other questions? Yes?
Yeah, so Unity is a piece of shit company. They are using open source tooling and they're based
at the beginning, the web completely based out of the work on C-Sharp on Linux, right? So it's
basically a C-Sharp store. They're using a ton of open source libraries, but including LGPL and GPL
libraries in their tooling and so on. But if you do extensions on the store, right,
what like we're doing, they now refuse open source and not just GPL or GPLv3, right, like
Apple or Microsoft, like just LGPL completely off, right?
You