FFmpeg 6.0 Released! How to Install in Ubuntu 22.04 | 20.04

The popular FFmpeg multimedia library announced the new major 6.0 release yesterday. Here are the new features and how to install guide for Ubuntu 22.04, Ubuntu 20.04, and Ubuntu 18.04.

FFmpeg 6.0, code name “Von Neumann”, features new decoders support, including Bonk, Micronas SC-4, APAC, ViewQuest VQC, RKA, Radiance, WavArc, CBD2 DPCM and a few ADPCM formats.

There are also QSV and NVenc AV1 encoding, VAAPI and QSV decoding and encoding for 10/12bit 422, 10/12bit 444 HEVC and VP9.

Other changes FFmpeg 6.0 include:

  • New audio and video filters, such as adrc, afdelaysrc, corr, showcwt, backgroundkey, a3dscope, ddagrab, ssim360, hstack_qsv, vstack_qsv and xstack_qsv filters
  • Radiance HDR image support
  • Add new mode to cropdetect filter to detect crop-area based on motion vectors and edges
  • WBMP (Wireless Application Protocol Bitmap) image format
  • LAF, SDNS demuxer
  • DTS to PTS reorder bsf
  • backgroundkey filter, showcwt multimedia filter
  • hstack_vaapi, vstack_vaapi and xstack_vaapi filters
  • MediaCodec decoder via NDKMediaCodec and encoder
  • oneVPL support for QSV
  • ffmpeg CLI new options: -stats_enc_pre[_fmt], -stats_enc_post[_fmt], -stats_mux_pre[_fmt]
  • media100 to mjpegb bsf
  • ffmpeg CLI new option: -fix_sub_duration_heartbeat
  • CrystalHD decoders deprecated
  • RKA, WavArc, XMD ADPCM, WADY DPCM decoder and demuxer
  • filtergraph syntax in ffmpeg CLI now supports passing file contents as option values

How to Install FFmpeg 6.0 via PPA in Ubuntu:

NOTE: Upgrade FFmpeg library in Ubuntu may break other apps and/or run into dependency issue. You must know how to restore. And don’t do it in production machine!

For current Ubuntu 22.04, Ubuntu 20.04, Ubuntu 18.04, and even the old Ubuntu 16.04, there’s a PPA repository contains the package.

1. First, press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run command to add the PPA:

sudo add-apt-repository ppa:savoury1/ffmpeg6

Type user password (no asterisk feedback) when it asks and hit Enter to continue.

2. As the PPA description said, you need also add another PPA for the dependency libraries:

sudo add-apt-repository ppa:savoury1/ffmpeg4

3. For the old Ubuntu 18.04 and earlier and Linux Mint, run command to update the system package index:

sudo apt update

4. Finally, run command to install all available package updates to upgrade FFmpeg to v6.0.

sudo apt full-upgrade

If you didn’t have an old FFmpeg version installed, also run sudo apt install ffmpeg.

5. After installation, run the command below in terminal to verify:

ffmpeg --version

How to Downgrade FFmpeg library:

In case you want to downgrade the FFmpeg library to the stock version available in system repository. Open terminal and run command:

sudo apt install ppa-purge && sudo ppa-purge ppa:savoury1/ffmpeg6

NOTE: Keep an eye on terminal output before answering yes to confirm! It MAY remove some other app packages.

Also remove the dependency PPA by running command:

sudo add-apt-repository --remove ppa:savoury1/ffmpeg4

TIP: purging the PPA broke my GIMP image editor due to removal of gegl library. And re-installing the library runs into dependency issue, which is usually “something depends on package version = x.xx.x, but another version to be installed.”  To fix the issue, try using Synaptic package manager to search and highlight the key package and use “Package -> Force Version”.

By Ji m

I'm a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to remind me outdated tutorial! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via ubuntuhandbook1@gmail.com Buy me a coffee: https://ko-fi.com/ubuntuhandbook1

13 comments

  1. Anyone able to get this to work in a docker container yet? Using Ubuntu 22.04 but I’m getting an unmet dependencies error. Same thing is now happening with the 5.1.2 version that used to work so no new ffmpeg docker images :(

  2. hosed 2 systems with this err…
    The following packages have unmet dependencies:
    ffmpeg : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1)
    libavdevice60 : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1)
    E: Unable to correct problems, you have held broken packages.

    thanks god for vmware snapshots! i’ll try again later when it’s fixed.

  3. Same issue here on Ubuntu 22.04

    ffmpeg : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1)
    libavdevice60 : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1)
    Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1)

  4. Similar problems on a Ubuntu 20.04 setup, Various unmet dependencies as mentioned by the previous 2 posters.

  5. Not able to install on Ubuntu 18.04 LTS:

    sudo apt install ffmpeg
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    ffmpeg : Depends: libavcodec60 (= 7:6.0-0ubuntu1~18.04.sav1)
    Depends: libavdevice60 (= 7:6.0-0ubuntu1~18.04.sav1) but it is not going to be installed
    Depends: libavfilter9 (= 7:6.0-0ubuntu1~18.04.sav1)
    Depends: libavformat60 (= 7:6.0-0ubuntu1~18.04.sav1)
    E: Unable to correct problems, you have held broken packages.

    1. Install problem on ubuntu 22.04

      The following packages have unmet dependencies:
      ffmpeg : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
      Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1.1)
      Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
      libavdevice60 : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
      Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1.1)
      Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
      E: Unable to correct problems, you have held broken packages.

      1. Just recently found out this is due to the creator making the PPAs for ffmpeg private. You now need to pay in order to access them as per his announcements on his launchpad account and patreon (search for savoury1 and you can find them). He’s pretty quick to set you up with access once you’ve donated, you just may need to reconfigure some things depending on how you’re consuming the packages.

  6. Unfortunately I am not able to get your instructions working:

    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    ffmpeg : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
    Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1.1)
    Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
    libavdevice60 : Depends: libavcodec60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
    Depends: libavfilter9 (= 7:6.0-0ubuntu1~22.04.sav1.1)
    Depends: libavformat60 (= 7:6.0-0ubuntu1~22.04.sav1.1)
    E: Unable to correct problems, you have held broken packages.

  7. DO NOT TRY THIS! It completely broke my system and was a giant pain to fix. The guy now wants money to enable a required PPA to make it work. Completely ridiculous!

  8. I followed this how-to without reading the comments session =( Does Anyone knows how I undo it? I tried and now I’m getting this E: Unable to locate package ffmepg

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Exit mobile version