FFmpeg 9.0

FFmpeg 9.0

github.com439 pointsby gyan94 comments

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Bless everyone who has the patience to deal with all the crazy crap audio video etc codecs and stuff throws out there and they figure out ways to put it into a free tool suite.
  • Terrific interview with Fred Murpheg

    [https://youtu.be/9kaIXkImCAM]

  • Naive question... would it be possible to make a language that describes multimedia formats that could then be automatically converted into code.
    by ape4
  • 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.

  • 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.

  • 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.

  • 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.

    by gyan
  • 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 ...).

  • ffmpeg's filter system is what you get when you design a meta-language for it.

    It's also not that bad once you take a bit of time to learn it - it's just a textual encoding of a graph where each node is a filter with a number of properties.

  • Sometimes the world carrying ancient god shift position in their on throne. These updates always feel like that.
  • 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.
    by xuhu
  • 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.
    by SG-
  • 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.

  • Watching ffmpeg go from a niche tool for web back ends to what it is now has been incredible.
  • It's still very niche though, I bet not a single youtuber or OF-girl known they use it
  • One of my favorite pieces of software. FFmpeg has done so much for my career. Happy to see it still going strong.
    by alfg
  • 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.

    by jbk
  • I feel we’re blessed to have a project like FFmpeg. This open source tool is so important for everyone.
  • I think most everyone agrees with that. FFmpeg is kind of a corner stone when it comes to multimedia.
  • 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.
  • I recommend watching the Lex Fridman interview with Jean-Baptiste Kempf and Kieran Kunhya. Amazing work on and amazing project.
  • 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

    by gyan
  • > Remove ogg/celt parsing

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

  • >- LCEVC track muxing support in MP4 muxer

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

    by ksec
  • 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.
  • > 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.

  • > - 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.

  • > Playdate video encoder and muxer

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

  • > - 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?

  • > - 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.