FFmpeg 4.4 Is Released With Support For Even More Encoders, Decoders, Muxers and Filters

From LinuxReviews
Jump to navigationJump to search

FFmpeg, the all in one Swiss army knife for audio and video encoding and deciding, has made a fine new and rather a big new release. It adds support for AV1 video encoding using SVT-AV1, support for hardware accelerated decoding AV1 video decoding using VAAPI and Intel QSV, support for the Cineform HD encoder and longs lists of other video encoders and decoders, filters and muxers.

written by 윤채경 (Yoon Chae-kyung)  2021-04-08 - last edited 2021-04-09. © CC BY

FFmpeg encoding a video as VP9 video with Opus audio.

FFmpeg is both a huge library and a shell executable that lets you do everything you may or may not want to do with video files. Lots of video-related free software use it for all their heavy lifting. The mpv video player can play just about every audio and video file you will encounter thanks to the FFmpeg libary. The PeerTube video hosting platform, which recently had a major new release, would not have server-side transcoding capabilities without it. Every single video file uploaded to this website is processed by FFmpeg and made available as VP9 video in 1080p, 720p, 480p and 360p by the TimedMediaHandler plug-in for MediaWiki.

Support Even More Audio And Video Formats

FFmpeg 4.3 supports AV1 video decoding using dav1d and libaom and it can code AV1 using libaom and librav1e. FFmpeg 4.4 adds support for Intel's SVT-AV1 video encoder. You could use it with previous versions if you really wanted to, patches adding SVT-AV1 AV1 encoding support to FFmpeg have been around since FFmpeg 4.2. The new SVT-AV1 built-in supports means that you no longer have to be a wizard capable of compiling a patched FFmpeg build without accidentally losing support for a ton of other codecs if you want to experiment with AV1 video encoding. It is still horribly slow, it is not one or two times slower than encoding VP9 video, it is magnitudes slower, so you can pretty much forget it unless you have a AMD ThreadRipper or a few Intel Xeon servers just for the sole purpose of encoding AV1 video. No AMD, Intel or Nvidia hardware can do AV1 hardware video encoding at this time.

Support for AV1 video decoding has also been expanded. FFmpeg 4.4 can decode AV1 video using the Alliance for Open Media AV1 decoder, dav1d, libaom, Nvidia CUVID and Intel Quick Sync Video acceleration. AV1 video decoding is only available in the very latest hardware, so there is a near-zero chance that your computer supports it unless you bought it sometime this year.

Lovelyz Kei ProTip.jpg
TIP: You can see what decoders and encoders you FFmpeg version supports by running ffmpeg -decoders<(code> and ffmpeg -encoders. The long list of audio and video codecs it supports can be shown with ffmpeg -codecs.

FFmpeg 4.4 has a lot more than a few new AV1 video encoders and decoders.

All the new encoders:

  • ADPCM Argonaut Games encoder
  • ADPCM IMA AMV encoder
  • ADPCM IMA Ubisoft APM encoder
  • AV1 encoding support SVT-AV1
  • AV1 monochrome encoding support via libaom >= 2.0.1
  • Cineform HD encoder
  • High Voltage Software ADPCM encoder
  • libwavpack encoder removed
  • OpenEXR image encoder
  • PFM encoder
  • RPZA video encoder
  • SpeedHQ encoder
  • TTML subtitle encoder and muxer

The new decoders:

  • ADPCM IMA MOFLEX decoder
  • Argonaut Games Video decoder
  • AV1 decoder (Hardware acceleration used only)
  • AV1 VAAPI decoder
  • AVS3 video decoder via libuavs3d
  • Cintel RAW decoder
  • Digital Pictures SGA demuxer and decoders
  • DXVA2/D3D11VA hardware accelerated AV1 decoding
  • Intel QSV-accelerated AV1 decoding
  • IPU decoder, parser and demuxer
  • Microsoft Paint (MSP) version 2 decoder
  • MobiClip FastAudio decoder
  • MobiClip video decoder
  • PGX decoder
  • PhotoCD decoder
  • Simbiosis IMX decoder
  • VDPAU accelerated HEVC 10/12bit decoding
  • VDPAU accelerated VP9 10/12bit decoding

Prior FFmpeg versions have been able to do VP9 and HEVC video decoding in hardware for a long time, but they could only do it with 8-bit VP9 and HEVC videos. 4.4 can do 10 and 12-bit hardware decoding if the hardware you have supports it. There is a fair change that the hardware you have can do 10-bit decoding if it supports HEVC and/or VP9 decoding. The odds of it being capable of 12-bit hardware video decoding is near-zero even if you just bought it and you haven't even opened the packaging and installed it.

New muxers:

  • aax demuxer
  • ACE demuxer
  • AMV muxer
  • Argonaut Games ASF muxer
  • Argonaut Games BRP demuxer
  • AV1 Low overhead bitstream format demuxer
  • AVS3 demuxer
  • binka demuxer
  • DAT demuxer
  • Digital Pictures SGA demuxer and decoders
  • IPU decoder, parser and demuxer
  • LEGO Racers ALP (.tun & .pcm) muxer
  • MacCaption demuxer
  • MCA demuxer
  • Microsoft Paint (MSP) demuxer
  • MODS demuxer
  • MOFLEX demuxer
  • Rayman 2 APM muxer
  • Simbiosis IMX demuxer
  • SVS demuxer
  • TTML subtitle encoder and muxer
  • xbm_pipe demuxer

New filters added to FFmpeg 4.4:

  • adenorm filter
  • aexciter audio filter
  • afreqshift and aphaseshift filters
  • asubcut filter
  • asupercut filter
  • asuperpass and asuperstop filter
  • chromanr video filter
  • colorcontrast filter
  • colorcorrect filter
  • colorize filter
  • colortemperature filter
  • epx filter
  • estdif filter
  • exposure video filter
  • identity video filter
  • kirsch filter
  • monochrome video filter
  • msad video filter
  • setts bitstream filter
  • shear filter
  • shufflepixels filter
  • speechnorm filter
  • tmidequalizer filter
  • vif video filter
Kemonomimi rabbit.svg
Note: You may find that one, or several, of the video encoders, decoders and filters listed here are unavailable on your favorite GNU/Linux distribution when FFmpeg 4.4 packages become available.

The actual support a FFmpeg binary depends on how it is built, how it is configured and what libraries where installed at build-time. Actually codec support varies greatly from distribution to distribution.

The FFmpeg website is at ffmpeg.org. There is ample documentation, which you will likely want to read or look at now and then if you do video encoding regularly, at ffmpeg.org/documentation.html. Downloads in the form of source code and binaries for Debian, Ubuntu, RHEL and clones, Windows and macOS can be acquired from ffmpeg.org/download.html. GNU/Linux users using other distributions may want to look to look at the very unofficial static FFmpeg builds published by John Van Sickle at johnvansickle.com/ffmpeg/. He doesn't actually have any FFmpeg 4.4 builds, but he does offer static builds for 4.3.2 and weekly git snapshots (that have everything 4.4 has) for x86, x86-64 and 3 ARM variants.

(0 votes)

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.