gyan 13 hours ago

Changelog:

- Extend AMF Color Converter (vf_vpp_amf) HDR capabilities

- LCEVC track muxing support in MP4 muxer

- Playdate video encoder and muxer

- Add v360_vulkan filter

- HE-AAC 960 decoding (DAB+)

- transpose_cuda filter

- Add AMF Frame Rate Converter (vf_frc_amf) filter

- SMPTE 2094-50 metadata support and passthrough

- ProRes RAW VideoToolbox hwaccel

- APV Vulkan hwaccel

- Animated WebP decoder

- Animated WebP demuxer

- Remove CELT decoding support (doesn't affect Opus CELT)

- Remove ogg/celt parsing

- Bitstream filter to split Dolby Vision multi-layer HEVC

- Add AMF hardware memory mapping support.

- ONNX Runtime DNN backend with GPU execution provider support

- Remove deprecated NVENC options and support for pre-11.1 SDK versions

  • harshreality 12 hours ago

    > - Animated WebP decoder

    Nice. browsers have supported this for a long time, and it was annoying ffmpeg did not, because that meant a lot of non-browser desktop apps couldn't view them either.

    • GlumWoodpecker 12 hours ago

      I've been waiting for this feature! Whenever I've encountered an animated WebP, I've had to drop it into ezgif.com to convert it to mp4, now I can just write a quick Bash function to transform it with ffmpeg.

    • ihuman 7 hours ago

      I thought it already supported webp via libwebp. Is this different?

  • embedding-shape 12 hours ago

    > - ONNX Runtime DNN backend with GPU execution provider support

    Oh, wonder what fancy new things this will enable. Any examples in the wild already perhaps?

    • sbinnee 11 hours ago

      I wonder if it’s going to be some custom encoder/decoder using DNN. I would also want to see some examples!

    • alex7o 10 hours ago

      Some people might want to remove it, but onnx is one of the few ways you can run hw accelerated convolutions

    • a-french-anon 9 hours ago

      Well, not that important to me since we already had that in Vapoursynth.

    • dwrodri 5 hours ago

      When I was a vision engineer at a previous role back in 2022-ish, laptop-class Intel chips used in their SFF NUCs were powerful enough to run small finetuned convolutional nets by dancing across the different on the package: first decode using QSV, and then downsize using the CPU, run the images through an OpenVINO model running on the iGPU, and aggregate results and append metadata using the CPU core. You could have 50% of the hardware in today's high-end security cameras for 10% of the cost.

      I have to assume that hardware advancements in the past four years have only pushed the efficiency envelope further.

  • amelius 12 hours ago

    I'm curious if they used LLMs to do the tedious work of porting the (de/en)coders to different architectures, and how useful they are here.

    • world2vec 12 hours ago

      In FFmpeg's twitter page it says that several of their developers got six free months of Claude Max 20x plan through Anthropic's Claude for Open Source Program, and that it was used, so far, to help find missing backports for this 9.0 release.

      • shevy-java 11 hours ago

        Sounds like advertisement though.

        • cjmcqueen 11 hours ago

          That's how sponsorship works, it's an exchange of goods or funds for visibility of an audience. Nothing wrong with that

        • vachina 11 hours ago

          Sounds like getting them hooked on LLM so they come back for more.

          • selcuka 10 hours ago

            No wonder both drug dealers and software developers call their customers "users".

            • dylan604 6 hours ago

              only users lose tokens?

              only losers use tokens?

              both play just similarly to the original phrases

    • rzerowan 12 hours ago

      Seems like Yes. https://nitter.net/FFmpeg/status/2084084810813743614 "Thank you @ClaudeDevs and @AnthropicAI for supporting FFmpeg through the Claude for Open Source program!

      So far, Claude has helped find missing backports for the upcoming 9.0 release."

      Although i was under the impression that they ususally preferred hand optimized assembly. Not sure what their LLM/AI contribution policy looks like compared to other fundamental OSS projects.

      • dspillett 11 hours ago

        > Although i was under the impression that they usually preferred hand optimized assembly.

        Using LLMs/agents to do gap analysis and fill boilerplate doesn't rule out also reviewing the output and hand-optimising. That is how the tools should be used (if you aren't being a luddite like me and not using them at all) rather than click-and-hope vibe-coding.

        • brookst 11 hours ago

          And as a ffmpeg user with some old/weird hardware, I would much prefer click-and-hope support to no support at all. Ideally they’d have the resources for a real live human to hand-code assembly for every codec for every platform, but that’s probably not realistic. I’ll take what I can get and dust off my assembly skills if a click-and-hope implementation is close but not quite enough.

          • shevy-java 11 hours ago

            Makes sense.

            The problem I see is that LLM use deters many potential contributors. I understand that in your use case this is not an issue since you prefer working code over theoretical contributors (as said makes a lot of sense), but I am noticing this in many projects that transitioned hard into an AI dependency. It puts a barrier to some people. If 99% of a project's contributions are via AI, is that project still alive?

            • cjmcqueen 11 hours ago

              Yes, contribution is what keeps a project alive. It's up to the people involved to maintain quality. That's management. Two different things, both important.

          • znpy 8 hours ago

            You can very likely do the click-and-hope on your own with a 20 $/month cursor/codex/claude/grok subscription.

            edit: actually if you have the weird/exotic hardware you’re in the best position to do so as you can actually test whatever the coding agents would shit out.

      • rawling 10 hours ago

        No domain knowledge at all here but "find missing backports" doesn't sound like writing/porting code.

  • ryanmcbride 8 hours ago

    > Playdate video encoder and muxer

    Playdate as in the e-ink handheld? That's awesome!

    • hbn 8 hours ago

      Playdate's screen isn't e-ink, it's a 1-bit LCD

      You probably wouldn't want the refresh rate of e-ink for a gaming device.

      • nvme0n1p1 8 hours ago

        Wouldn't be impossible. I'm old enough to remember the original B+W game boy, and my B+W e-reader refreshes faster.

        • hbn 7 hours ago

          I've seen some very recent niche tech demoing fast-refresh e-ink screens but pretty much everything until now has required a noticeable flash to clear the entire screen on update. Which is fine for reading books but not for quick animating in an action game.

          Most e-ink displays do not refresh faster than the original GameBoy which was 60fps.

          • ryanmcbride 7 hours ago

            Would probably be great for like, text adventures, visual novels, turn based strategy games, etc.

            But lcd screens are so cheap I don't even know what the advantage of an e-ink screen would be for this. I was just misremembering what the niche part of the playdate screen was.

            Edit: And just to continue the nerdier part of the conversation, the dmg-01's refresh rate was indeed ~60, but it's pixel response time was so bad it really made it feel way slower. I remember when the GBC came out how amazed I was at how clear the games looked. dmg-01 felt like a tiger handheld a lot of the time.

          • nvme0n1p1 5 hours ago

            60fps is the speed the PPU pushes pixels to the LCD, not the speed the LCD physically refreshes itself. That part was slow enough you could toggle pixels at 30Hz to simulate more than 4 levels of gray.

            I have a Boox e-reader. You can run Firefox on it, you can drag-to-scroll like a phone, there's a lot of ghosting (like the game boy) but it works fine. Now I wish I still had a game boy to compare it to.

      • ryanmcbride 7 hours ago

        You're right. I literally have one sitting on my bookshelf I just haven't touched it like, since about a week after it came out.

        • latexr 6 hours ago

          What made you give up on it? Lack of time, or did you just not find it fun? “Season 2” of games came out last year.

          I’d really like the chance to play with one and maybe even try to develop for it. Unfortunately, the price is a bit steep, even more so when considering shipping and taxes to the EU. I kept checking for years (and still do from time to time) to see if they’d sell through a retailer in the EU or if I could get one second-hand here, but it’s looking like that’ll never happen.

          • Auracle 6 hours ago

            Not who you responded to but I haven’t really found many games I actually enjoy.

  • ihuman 7 hours ago

    > Remove ogg/celt parsing

    Does that mean it doesn't support .ogg files anymore?

    • pkulak 7 hours ago

      No, not at all. Just celt, which was packaged in the ogg container, I assume.

    • gourlaysama 7 hours ago

      No, this only removes parsing CELT inside an ogg container (because CELT itself is going away), not support for ogg itself.

    • asveikau 7 hours ago

      Doubtful. Ogg is a container format. Celt is a specific audio codec.

      I believe celt was superseded by opus.

  • kergonath 7 hours ago

    > - Playdate video encoder and muxer

    That’s got to be the nichest of niche codecs, maybe second only to the Lucas Arts one. Very impressive.

  • ThrowawayTestr 7 hours ago

    >Animated WebP decoder

    >Animated WebP demuxer

    This is huge

  • explodes 6 hours ago

    > Animated Webp

    Hah! Useful for me today, to get rid of some hacks. Good stuff FFmpeg. It truly continues to be a pillar supporting the world in so many ways.

  • ksec 5 hours ago

    >- LCEVC track muxing support in MP4 muxer

    I guess I am the only one excited to see this.

Lucasoato 12 hours ago

I feel we’re blessed to have a project like FFmpeg. This open source tool is so important for everyone.

  • richardstahl 12 hours ago

    I recommend watching the Lex Fridman interview with Jean-Baptiste Kempf and Kieran Kunhya. Amazing work on and amazing project.

    • meerita 12 hours ago

      It's a really good interview. I recommend it too.

    • cm2187 10 hours ago

      Though there is one part I didn’t understand in that interview. They were complaining of being overwhelmed by AI submitted bug reports (fair), including for obscure codecs that must have been used by a couple of users at most. And therefore implying that securing those codecs is low priority/important.

      I don’t understand that. To me the severity has nothing to do with how popular is a code path, but whether that code path is accessible to an attacker. If I upload a specially crafted .mkv with a little known codec on YouTube and they use ffmpeg to process it, and I compromise YouTube’s infrastructure that way, it’s a pretty big deal, no matter the popularity of that codec.

      • rbultje 10 hours ago

        That sounds nice in theory, but it seems obvious to me there is a major discrepancy between who is burdened with this responsibility, and who benefits from the result. Given many of these contributors are unpaid volunteers, maybe the infrastructure provider needs to secure FFmpeg in another way, for example by restricting codecs or by running it in a container?

        • kontain 9 hours ago

          The creator of borg and k8s of course already run such tools for untrusted inputs in containers, but there is also an endless stream of container escapes.

        • bijowo1676 6 hours ago

          AppArmor profile is probably what you are looking for to run ffmpeg on untrusted input

        • SahAssar 2 hours ago

          They claimed that this was not a problem since the codec was so uncommon, but without doing steps like removing it from the main tree or making it not built by default in major distros.

          I understand that from the perspective of "how many people will this crash for", but from a security perspective it is nonsensical. Even if it is an uncommon codec if the authors decide to keep the codepath there by default it is exploitable in most installs.

          I love ffmpeg but that whole episode left a bit of a bad taste.

      • thinkingtoilet 9 hours ago

        It's all about time in the day, my friend. Do you want to secure a feature used by 100% of your users or 0.01% of your users? Which has a better ROI?

        • HelloNurse 8 hours ago

          Given that it is easy to feed FFMPEG arbitrary input to exploit any vulnerability, popular codecs are very likely to be already secure enough, while unpopular ones are far more dangerous and deserve more attention. It can be assumed that an attacker would target the worst, easiest to exploit codec they can find in the whole of FFMPEG.

        • jobigoud 8 hours ago

          It's used by most users, that's what they are saying, it doesn't matter that the file format is obscure.

          If you make a video player based on ffmpeg you take input videos. The attacker can share a specially crafted video with the victim. Same kind of attack as sharing word documents.

          • luckydata 8 hours ago

            when it comes to security popularity doesn't matter all that much. If something is not used and insecure then the decision should be to drop the feature, not to ignore the security issue.

          • cwillu 2 hours ago

            If Big Deployment is using a stock ffmpeg build rather than one that actually enables only the things they actually use, I feel like that's on Big Deployment.

      • beltsazar 7 hours ago

        > To me the severity has nothing to do with how popular is a code path, but whether that code path is accessible to an attacker.

        That's true for targeted attacks. For untargeted attacks, attackers have little incentive to do the exploit.

        • cm2187 6 hours ago

          Targeted to what? ffmpeg? Ffmpeg is the OpenSSL of video transcoding, it is used absolutely everywhere. If there is a vulnerability in ffmpeg, any website that processes user supplied videos is vulnerable

  • shoobiedoo 12 hours ago

    It's incredible how much it does, how quickly it does it, and how it just works every time. Whether I'm trying to deal with gigs of 4k video, embedding multiple subtitles into an mkv file, or just fiddling around with trimming a few seconds of audio off a wav, ffmpeg does it without skipping a beat.

  • shevy-java 11 hours ago

    I think most everyone agrees with that. FFmpeg is kind of a corner stone when it comes to multimedia.

jbk 9 hours ago

For those interested in the work being done, with a bit more details that just the Changelog, I wrote a longer blogpost about the work here: https://jbkempf.com/blog/2026/ffmpeg-9.0/

More details about the ongoing work on Swscale rewrite, on the various Vulkan changes, the assembly detailed and a bit of statistics about this release.

alfg 11 hours ago

One of my favorite pieces of software. FFmpeg has done so much for my career. Happy to see it still going strong.

xuhu 11 hours ago

I still hope a future FFmpeg release will make Intel QSV encoding available on Windows laptops where the manufacturer disabled this capability from the ACPI tables. The only way to use it on these laptops is currently FFmpeg on Linux.

  • DiabloD3 11 hours ago

    They can't, unfortunately.

    Linux's drivers makes that happen, not ffmpeg; ffmpeg merely calls the API.

    Intel's own first party drivers simply follow the ACPI tables, Linux ignores them.

  • SG- 11 hours ago

    how common is this with laptop manufacturers, and why would they do this? what brands are doing this so I can know to avoid them in the future.

hparadiz 12 hours ago

Watching ffmpeg go from a niche tool for web back ends to what it is now has been incredible.

  • gregoriol 11 hours ago

    It's still very niche though, I bet not a single youtuber or OF-girl known they use it

    • tclancy 11 hours ago

      OF guys though?

    • okdood64 9 hours ago

      > I bet not a single youtuber

      I know this is hyperbole to make a point even this is ridiculous. A lot of YouTubers mess around with their audio/video files, and am sure they have heard of ffmpeg.

    • DJBunnies 8 hours ago

      And these examples are not niche?

blacklion 9 hours ago

It is interesting, that changes from 8.0 to 8.1 is more substantial than from 8.1 to 9.0.

I don't say it to mean "they did less work," no, what his interesting to me is choice of major version bump instead of minor one.

  • gyan 8 hours ago

    The version number gaps are misleading.

    Any change in major or minor number indicates a new release branch. And the convention since 5.0 has been to go 0 --> 1 --> 0 --> 1 ... for each new branch.

superkickstart 12 hours ago

Sometimes the world carrying ancient god shift position in their on throne. These updates always feel like that.

davidfekke 6 hours ago

Yeah but the twitter account has been version 11 for some time now.

ape4 10 hours ago

Naive question... would it be possible to make a language that describes multimedia formats that could then be automatically converted into code.

  • hereonout2 10 hours ago

    Should take a look at some of the ISO specs for various MPEG standards for example.

    The container formats are defined in a way that could potentially make this possible.

    • dylan604 6 hours ago

      Using good ol' ISO specs (or written specs in general) is such a fun game to play. What the spec says and what hardware/software actually do are not always the same. I worked on a project for a TV manufacturer that provided us the specs for what their chips in their new TV could do. Naturally, we pushed the encoding to the limits of the specs at first, and then had to start dialing things back to what was actually happening. If the spec says max bitrate of Xmpbs, it turns out that it was closer to .85Xmpbs to get decent playback. Or a cable provider's new digital STB that couldn't handle large changes in VBV even thought it was "within spec"

  • advisedwang 6 hours ago

    You could, but there's two big reasons why this isn't useful:

    1. The translation system would still have to implement the underlying ideas. For example, your spec might explain "key frames are made by doing a wavelet transform ABC, dropping frequency XYZ, applying Heuristic Alpha and then doing LZ encoding on the result" or something like that. You still need implementations of those specific operations. Having to explain all that stuff in the spec would mean each english language doc would be book length tretsie on encoding. As a result, you don't really gain much by doing this kind of meta-explaination.

    2. Video encoding/decoding is something where optimization is extremely important. Writing code that is specific to a single purpose is generally going to be faster than generic code that could be applied to any theoretical format. For example, by knowing the exact size of a transformation matrix, you can decide whether to build a lookup table or calculate on the fly - you can use hardware level features that require knowing exact sizes at build-time etc.

alphabeta3r56 11 hours ago

Ffmpeg has patented codes and is GPLv3, what gives?

  • LtdJorge 10 hours ago

    The patents for software don’t apply in their country

shevy-java 11 hours ago

Seems Michael Niedermayer wrote that manually, without AI. Good for him. :P

ffmpeg is great, I think nobody disputes this. I use it in two ways mostly:

1) one, via mpv, and 2) two, as conversion tool primarily

ffmpeg also has many really powerful filters, but these are very confusing to use IMO and not elegant at all. I'd wish we could use some kind of simple meta-language or so, in part similar to virtualdub/avisynth (not necessarily suggesting the same API or DSL here, but just the main idea to think of multimedia data as tangible to manipulation as if it were an object oriented system or datastream system; every time I have to use ffmpeg's filter system, I ask myself if nobody designs any of this ...).

sylware 11 hours ago

twitch.tv has new HLS streamers which break ffmpeg HLS.

sparkling 12 hours ago

Not a Lex Friedman fan, but I highly recommend the recent podcast he did with two leading engineers (and founder) from the ffmpeg project: https://www.youtube.com/watch?v=nepKKz-MzFM

In a world full of endless AI slop, it is refreshing to see that there are still folks out there hand-rolling assembler code to squeeze out another 5% efficiency.

  • world2vec 12 hours ago

    They used Claude for this release, as stated yesterday in their twitter page.

    • AlecSchueler 12 hours ago

      Yes, to find missing backports. The hand rolled aspects are still there and haven't been replaced by slop.

      • seanw444 4 hours ago

        It's frustrating that vibecoding has gotten so pervasive that it's impossible to tell when someone uses LLMs as an awareness-increaser and research assistant, rather than an unreviewable code vomiter. I still appreciate the design of code done via the former strategy, whereas I simply will not rely on the latter.

    • 129486218 7 hours ago

      I hope they just use it for finding bugs and not for writing code. Is a Twitter announcement compulsory for getting that open source deal?

      It's a pity that Claude gets free publicity.

daun_gee 12 hours ago

Finally, some real fucking technology.

TZubiri 11 hours ago

Do I understand right that the last version (v8) was released 8 years ago? So this breaks a long hiatus?

timonoko 11 hours ago

Only slightly broken already. Dont remember the details, but Gemini could not this to work just by reading the manual. https://github.com/timonoko/Skipperi

  • jobigoud 8 hours ago

    What do you mean you don't remember, your repo is from 8 months ago, this release is from 18 hours ago. And how does "Gemini couldn't get it to work" translate to "it's broken"? It sounds like your vibe-coding session didn't work first try and you haven't tried to understand what the problem was.

    You could also look at other repos in github to see what they do to do the same task.