back to article FFmpeg 6.1 drops a Heaviside dose of codec magic

New versions of this amazingly versatile tool, used in most streaming video services and devices, don't come along very often. Although FFmpeg has been around since 2000, it only reached version 6 in February. Despite its modest point-one version number bump – and remarkably terse release notes – this is a major release. The …

  1. Steve Davies 3 Silver badge

    Heaviside brought back memories

    Of using the Heaviside Step Function when solving differential equations a long, long time ago.

    Personally, I preferred Laplace Transforms but they were considered the cheating method by my then Maths Professor.

    I still have K.A. Stroud's book on Laplace Transforms.

    Thanks for transporting me back 50 years for a few minutes;

    1. Anonymous Coward
      Anonymous Coward

      @Steve Davies 3 - Re: Heaviside brought back memories

      Yeah, those were the days.

      Seems we are the last generation who plunged into this wonderful world armed with nothing but a pencil and few sheets pf paper.

      1. well meaning but ultimately self defeating

        Re: @Steve Davies 3 - Heaviside brought back memories

        Ha, y think you had it tough, in my day we used to do double entry bookkeeping on cuneiform tablets.

        1. RegGuy1 Silver badge
          Thumb Up

          Re: @Steve Davies 3 - Heaviside brought back memories

          You had it tough? When I was young I had to use tools by a company called Microsomething-or-other, and an 'operating system' called DOS. Then I discovered Linux and have *never* looked back.

          1. Andy The Hat Silver badge

            Re: @Steve Davies 3 - Heaviside brought back memories

            You call that tough? I used CP/M and VMS and Unix then MSDOS appeared and dangled the carrot of having 16 bit processors on the desktop and I was tempted to the dark side ... been swimming upstream ever since. :-(

    2. captain veg Silver badge

      Re: Heaviside brought back memories

      I assume that K.A.Stroud is the Ken Stroud of Coventry Polytechnic, where I was a very poor student.

      I work now with a very competent mathematician who, presented with my Coventry textbook by Stroud, (Engineering Mathematics) declared it to be the best tome on the subject she had ever read, and is now inflicting it on her son. Poor chap,

      -A.

      1. ChrisC Silver badge

        Re: Heaviside brought back memories

        His green [1] and purple bricks (aka Engineering Maths and Further Engineering Maths, 3rd and 2nd editions respectively) got me through my Electronics Degree despite the best efforts of the maths lecturers [2] to make me think I'd forgotten everything I knew about maths inbetween finishing my A-levels and starting at uni... As such, they've earned a coveted spot on the small bookshelf I was able to squeeze into the corner of my home office.

        [1] or possibly some other colour in that general region of the colourspace mapping - the part of my brain that tries to warn me when my colourblindness may be more responsible for what I'm seeing than the actual colours of the things I'm looking at is ringing alarm bells as I look over at the bookshelf now...

        [2] most of them at least, wasn't until some point during my 2nd year when one of them started using electronics-based examples (as opposed to the mech.eng ones the earlier lecturers preferred) that things started to click again in my mind. Wonder if the mech.eng students who were also present in the lectures had a similar but reversed sense of understanding as things went from being phrased in terms they were familiar with to terms they weren't...

    3. Ian Johnston Silver badge

      Re: Heaviside brought back memories

      If you know what the Laplace transform of a step function is, and understand the convolution theorem, the two methods turn out to be not so very different after all ...

    4. coddachubb

      Re: Heaviside brought back memories

      I used laplace transforms in a run of the mill mechanics questions in one of my physics exams at uni. Never seen so much red pen, they were seriously pissed of at me using low brow engineering math.

    5. cyberdemon Silver badge
      Headmaster

      The Reg missed a trick here

      Does this release mark a step change in functionality for FFMPEG? Eh? Well, does it?

      They didn't even mention that the bloke has the step function named after him, confusing many a first year engineering student that wondered what was heavy or sideways about the heavy sidestep function?

    6. Paul Kinsler

      Re: Heaviside brought back memories

      And one of the other important things Heaviside gave us was the vector-calculus version of Maxwell's equations...

      1. thx1111

        Re: Heaviside brought back memories

        And those would properly be called the "Heaviside Equations", since "Maxwell's Equations" are expressed in Quaternions.

        1. TReko Silver badge

          Re: Heaviside brought back memories

          Yes, exactly this. What everyone calls "Maxwell's equations" are actually Heavyside's equations. He turned them into something engineers could use more easily.

          It is odd that he's not more famous, perhaps it's a UK class thing?

  2. Charlie Clark Silver badge

    Version numbers are not what you think

    The pace of development of FFmpeg has been speeding up slightly in recent years, given that it took 13 years to get to version 2.0.

    For a long time, you couldn't tell much from a software projects version numbering which many of them particularly keen to avoid major releases – think of the openssl scheme. But more and more have since adopted more lax definitions of major.minor.patch or have gone all the way to time-based-releases.

    I would also question the author's assertion tht FFMPEG is used by the streaming services. They may well use it in some areas but only when they can't use hardware compression, which depending on OS and hardware isn't always available.

    And FFMPEG, while great, is a beast so many of use frontends like Handbrake to handle most projects.

    1. FIA Silver badge

      Re: Version numbers are not what you think

      I would also question the author's assertion tht FFMPEG is used by the streaming services. They may well use it in some areas but only when they can't use hardware compression, which depending on OS and hardware isn't always available.

      Isn't that how they use it?

      It seems to decode/encode pretty much anything, and has good hardware support, so chuck it at FFMPEG and let that decide to use hardware if it's available? It may not be doing the actual lift and shift in many cases but I bet it's the 'director'. :)

    2. Sandtitz Silver badge

      Re: Version numbers are not what you think

      "For a long time, you couldn't tell much from a software projects version numbering which many of them particularly keen to avoid major releases – think of the openssl scheme. But more and more have since adopted more lax definitions of major.minor.patch or have gone all the way to time-based-releases."

      PuTTY is turning 25 years next year and it's still only at 0.79.

      I'm perfectly fine with that.

      1. Sceptic Tank Silver badge
        Stop

        Re: Version numbers are not what you think

        Maybe PuTTY 0.79.1 can have a UI overhaul that doesn't make someone who codes professionally in mindfsck using punched cards on a wooden loom feel frustrated. What's the deal with that abomination? (I use PuTTY regularly).

        1. Anonymous Coward
          Anonymous Coward

          Re: Version numbers are not what you think

          You need to ditch Windows.

        2. jabuzz

          Re: Version numbers are not what you think

          Given that all supported versions of Windows have SSH built into the OS most of the use cases for PuTTY no longer exist.

          1. Michael Wojcik Silver badge

            Re: Version numbers are not what you think

            I'm not finding any ssh.exe on my Windows systems. To be fair I've never looked for it, because I have PuTTY. Is it an optional component?

            I suspect PuTTY's terminal emulation is better than using command-line ssh in a Windows cmd.exe or Powershell window. It's nice that Windows comes with an ssh client (assuming you're correct about that), but that doesn't mean it can't be improved upon.

        3. Jou (Mxyzptlk) Silver badge

          Re: Version numbers are not what you think

          > What's the deal with that abomination?

          You just have to config it the right way, and then export the registry, and don't forget it to apply it to the DEFAULT as well. Right click gives me the MENU instead of blindly paste whatever is in the buffer. The font I use is larger than the default + set to "Courier new BOLD", so it is better readable. And I've adjusted all colors to be readable, so "blue" is much brighter than usual blue. The default colors are a nightmare, especially for glasses-wearer who know and hate chromatic aberration. (To explain the latter: Different colors of the spectrum have a different focal point, so having dark red next to dark blue means you have to choose which one to read - red always wins, blue gets unreadable)

          With that adjustments putty gets usable.

    3. RedGreen925 Bronze badge

      Re: Version numbers are not what you think

      "And FFMPEG, while great, is a beast so many of use frontends like Handbrake to handle most projects."

      It may be beast but at least it does not chop parts of the resolution off like Handbrake does. I used to swear by using it until I got tired of the damn odd resolutions it produced. Call me fussy but I want the 1920x1080 file I sent to the damn thing to actually come out like that. Not at 1912x1072 like one I look at in my video collection, using ffmpeg in the script I use now to process my videos the resolution stays exactly the same as it went in with so does the aspect ratio. And just what garbage program(s) is it that messes with the aspect ratio of the video output they produce so you get a 1.2?? or similar something for a 4:3 video source that needs to be corrected... If I seem a little cranky I have been going since July on re-encoding my entire video collection two machines going 24/7 all that time. Noticing all the garbage out there has become a pet peeve of mind. At least I finish it up this week on a high note, the original Doctor Who from dvd processes up as I write this, the last in the long line of shows done in this past five months. All five hundred plus episodes of it, just getting to have series seven going through the process.

      1. Benegesserict Cumbersomberbatch Silver badge

        Re: Version numbers are not what you think

        Turn off the auto-crop option in Handbrake, then.

        Handbrake takes the native resolution, aspect ratio, and crop parameters provided by the original medium. Its default behaviour then is to abolish letterboxing and whatever it's called when it happens to the left/right borders. Sure it gives odd resolutions but you can't do it both ways.

        Another good reason to turn it off is that some codecs give strange artefacts on resolutions that don't have nice aspect ratios.

      2. Jou (Mxyzptlk) Silver badge

        Re: Version numbers are not what you think

        If you use Auto-Crop you stumble upon an ffmpeg behaviour I REALLLY dislike. See this bugfeature request I filed, which resulted in the nearly religious discussion whether auto-crop default behaviour should remove content in favour of better compression or whether to accept minimal black bars. Whoever had their finger on with ffmpeg around the year 2000 decided "We crop. Compression is more important." and the devs don't want to change that and don't want to add an option to switch that behaviour.

        My solution when I need autocrop: Since I use my own encoding script anyway I use -vf cropdetect, analyze the output of "x1", "x2", "y1" and "y2" which are the true values, and use math/modulo in a way which does not cut away content and still do the correct mod 2,4,8 whatever the codec prefers. Actually my script does a bit more to cut away logos in the black area of the corners, but keep the actual content, and handles the different black levels of SDR and HDR content for cropdetect automatically etc.

        As for handbrake: I did use it, but the counterintuitive behaviour when it comes to batch encoding (maybe better now), not remembering the last profile I set or being straight about which profile it uses as default, not being able to keep the created profiles during some of the version upgrades and so on pushed me to the ffmpeg command line. I used pure .CMD where I drag and drop multiple files on what I want to encode first, now it is "powerhsell embedded in .CMD".

    4. emfiliane

      Re: Version numbers are not what you think

      I can confirm that Netflix uses ffmpeg for pretty much everything, and has done since the beginning. They're quite proud of it, and regularly contribute to both ffmpeg and the underlying codecs (like SVT-AV1). Youtube uses ffmpeg for everything but live-streaming. (Maybe even that, now.) Amazon used Microsoft Expression Encoder way back in the day, but I'm pretty sure they use a custom solution developed around ffmpeg now... though Mainconcept AWS systems are offered, so maybe they use that in-house too. No idea what other newer streaming companies use anymore.

      All social media companies use something based around ffmpeg at the core. (FB, IG, Twitch, Tiktok, etc) They're way too cheap to pay the kind of licensing costs of a broadcast commercial suite, even a giant like Meta.

  3. Inventor of the Marmite Laser Silver badge

    The intelligence of a stapler

    Ah, so you've met the new chairman then?

    1. Neil Barnes Silver badge

      Re: The intelligence of a stapler

      I'm not sure how intelligent a stapler is, but I've known some in the past which have been pretty vicious and one or two positively aggressive.

      1. Zibob Silver badge

        Re: The intelligence of a stapler

        They can at least hold a project together, and keep a brief in order better than any human I have met. Sometimes that worth more than any interaction with meat space.

        1. Paul Crawford Silver badge
          Gimp

          Re: The intelligence of a stapler

          Oh, you also interact with your meat and a stapler then?

  4. Jou (Mxyzptlk) Silver badge

    great tool

    terrible command line though. I am using it a lot, including special cases to correct chromatic aberration of bad mastered Blu Rays... if only the deshaker would be as good as Gunnar Thalin's deshaker - though I may have to retest ffmpeg deshaking. I mostly use deshaker to get the "old movie jitter" out of Full HD BluRay. The 4K Blu Ray are all already deshaked even for old movies, since in 4k you can see that jitter A LOT and everyone would complain.

    1. Ozan

      Re: great tool

      And under documented. I once put a logo on a video starting from 1 minute mark (I thou counted frames to get the point expect). All in command line.

  5. PRR Silver badge

    Off-point: Heaviside is used (or abused) in a well-known(?) S.P.Meek science-fiction 'Beyond The Heaviside Layer', Astounding Stories of Super Science, July 1930, https://www.gutenberg.org/ebooks/29198

    For Eighty Vertical Miles Carpenter and Bond Blasted Their Way—Only to Be Trapped by the Extraordinary Monsters of the Heaviside Layer.

    1. Paul Kinsler

      ... the Extraordinary Monsters of the Heaviside Layer.

      That's just the "here be dragons" version of space weather. :-)

      Gutenberg is quite good for old SF. I rather liked the "Venus Equilateral" series: https://www.gutenberg.org/ebooks/68008

  6. CowHorseFrog Silver badge

    Given github is around why doesnt Bellard put his source up there or somewhere like that ?

    1. FIA Silver badge

      erm?

      Or do you mean his personal stuff? Maybe he doesn't want to?

    2. Anonymous Coward
      Anonymous Coward

      why doesnt Bellard put his source on github?

      Because that's where crapware goes to die?

    3. Michael Wojcik Silver badge

      Ah, GitHub. Removing the only good things about git, and adding a huge pile of steaming crap.

      Whatever the question, "use GitHub" is the wrong answer.

  7. Gene Cash Silver badge

    Heaviside

    Have you seen a picture of the bloke? Looks like half the time he intimidated the electrons into behaving... I sure wouldn't want to be on his bad side in a bar fight.

    1. This post has been deleted by its author

    2. phuzz Silver badge
      Headmaster

      Re: Heaviside

      You made me check, and yep, his picture on Wikipedia looks like one of his students just tried "the dog ate it" as an excuse.

      (https://en.wikipedia.org/wiki/Oliver_Heaviside)

  8. ITRF guy

    Used to use command line ffmpeg in a chain of radio stations I owned. It's absolutely incredible what it can do. Swiss army knife of audio. Pulling satellite feeds, assembling song playlists, assembling instantaneous advertising stop sets fully blended with live audio, etc.

    1. Michael Wojcik Silver badge

      Yes, but it's also good for quick & dirty one-off tasks, or small cobbled-together scripts for things you do rarely. I have a script using ffmpeg I wrote years ago to reduce the sample rate and remove some optional data from MP3s so my car's audio system (which is from 2014, and curmudgeonly) would be willing to play them. Only took a couple of minutes to find the correct options and it's worked flawlessly ever since.

      It's unusual to find a software tool that's good at both the big jobs and the little ones.

  9. nijam Silver badge

    As a physicist, Heaviside is reputed to have said "the only good result of mathematics is being able to do without it". OTOH, nowadays physics is almost entirely a branch of mathematics, plus some very expensive lab equipment to test the mathematics.

    1. Gene Cash Silver badge

      As usual there's an XKCD for that. I'll bet Heaviside & Munroe would have been great drinking buddies...

      https://xkcd.com/435/

  10. Anonymous Coward
    Anonymous Coward

    IOCC ? Really ?

    "Lest we forget, he also won the International Obfuscated C Contest no less than three times, one of these with an impossibly small C compiler, which deobfuscated became TinyCC."

    Well, never about ffmpeg, will really have to check it out.

    But 3 times winning IOCC ? Hot damn, now this is an achievement. Not even openssl contributors can achieve this !

    Hopefully, IOCC style of C is not used in ffmpeg :)

    1. Michael Wojcik Silver badge

      Re: IOCC ? Really ?

      The OpenSSL sources (which I've been working with since the 0.9 days) are infelicitous in a number of ways, but as C source code goes in general, I'd say it's no worse than average. I've certainly dealt with much, much worse.

      Many C developers seem to consider themselves in perpetual training for the IOCC.

  11. theOtherJT Silver badge

    a large language model running on a GPU to achieve remarkable compression ratios

    So is that lossy compression on text? If so... yikes. I mean, there are probably uses for that, but... yikes. The number of ways I can see that going a bit wrong are quite scary.

    1. Michael Wojcik Silver badge

      Re: a large language model running on a GPU to achieve remarkable compression ratios

      It's not necessarily lossy. There are lossless probabilistic text-compression algorthms, such as the PPM family and PAQ. Using an LLM rather than an HMM (as in PPM) doesn't mean it has to be lossy; just that the encoder has to watch the output of the model and tweak it when necessary. (Obviously it would do this by decoding as it encodes, not by watching what happens when a recipient tries to decode the message. Also it requires the same model on both ends, as normal with compression algorithms.)

      Using a large model or dictionary to get high compression ratios is in general a very common and longstanding approach.

  12. maffski

    Remarkably terse release notes

    hmm, you have a point:

    503 - The load average on the server is too high

    not bad,

    503 - average load too high

    would have been terser

  13. JulieM Silver badge

    Heaviside Layer

    There is now an image in my mind of a bunch of ghostly, semi-transparent cats with wings in the sky, batting radio signals back down to Earth with their paws .....

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like