Download Ffmpeg On Ubuntu

2 views
Skip to first unread message

Veronica Donkin

unread,
Jan 21, 2024, 3:07:08 AM1/21/24
to rosnewheelsvil

Thanks to a major refactoring of the ffmpeg command-line tool, all the major components of the transcoding pipeline (demuxers, decoders, filters, encodes, muxers) now run in parallel. This should improve throughput and CPU utilization, decrease latency, and open the way to other exciting new features.

A new major release, FFmpeg 6.0 "Von Neumann", is now available for download. This release has many new encoders and decoders, filters, ffmpeg CLI tool improvements, and also, changes the way releases are done. All major releases will now bump the version of the ABI. We plan to have a new major release each year. Another release-specific change is that deprecated APIs will be removed after 3 releases, upon the next major bump. This means that releases will be done more often and will be more organized.

download ffmpeg on ubuntu


Downloadhttps://t.co/ibWmvVe2SQ



New decoders featured are Bonk, RKA, Radiance, SC-4, APAC, VQC, WavArc and a few ADPCM formats. QSV and NVenc now support AV1 encoding. The FFmpeg CLI (we usually reffer to it as ffmpeg.c to avoid confusion) has speed-up improvements due to threading, as well as statistics options, and the ability to pass option values for filters from a file. There are quite a few new audio and video filters, such as adrc, showcwt, backgroundkey and ssim360, with a few hardware ones too. Finally, the release features many behind-the-scenes changes, including a new FFT and MDCT implementation used in codecs (expect a blog post about this soon), numerous bugfixes, better ICC profile handling and colorspace signalling improvement, introduction of a number of RISC-V vector and scalar assembly optimized routines, and a few new improved APIs, which can be viewed in the doc/APIchanges file in our tree. A few submitted features, such as the Vulkan improvements and more FFT optimizations will be in the next minor release, 6.1, which we plan to release soon, in line with our new release schedule. Some highlights are:

The next part of the project was to extend the code to be able to accept several clients, simultaneously or consecutively. Since libavformat did not have an API for that kind of task, it was necessary to design one. This part was mostly completed before the midterm and applied shortly afterwards. Since the ffmpeg command-line tool is not ready to serve several clients, the test ground for that new API is an example program serving hard-coded content.

If you are thinking on participating in OPW as an intern, please take a look at our OPW wiki page for some initial guidelines. The page is still a work in progress, but there should be enough information there to get you started. If you, on the other hand, are thinking on sponsoring work on FFmpeg through the OPW program, please get in touch with us at o...@ffmpeg.org. With your help, we might be able to secure some extra intern spots for this round!

Since the splitting of Libav the Debian/Ubuntu maintainers have followed the Libav fork. Many people have requested the packaging of ffmpeg in Debian, as it is more feature-complete and in many cases less buggy.

What's the safest way to update it? Ideally, there's a PPA that will work, that my googling hasn't surfaced. Or, should I be downloading that ffmpeg_4.3.2-0+deb11u2ubuntu1_amd64.deb file and installing it with dpkg?

I'm always paranoid about side-channel installing anything, especially when it involves anything to do with Video. What's the best "won't break future system APT updates" way to install the current stable ffmpeg?

There is a snap package for ffmpeg. The current version in the "stable" channel is 4.3.1 but does not list --enable-zimg in its build configuration as printed with -version, so it might not work. However, the "edge" channel of that snap package contains a version based on ffmpeg 4.4 with --enable-zimg. So installing would be as easy as

First we will download the latest gpl static build from one of the official builders BtbN. Then we will extract the file in the /usr/local/ffmpeg and create Symbolic Links to the binaries into the /usr/bin directory.

I use multiple tools that rely on ffmpeg, a couple of which have downloaded different versions of ffmpeg from the one provided in the package repositories (e.g., mpv and moviepy via imageio). The separate ffmpeg binaries for these programs have not interfered with each other, but I am having difficulties related to some inconsistencies between the different versions.

My question is: how do I locate the different versions of ffmpeg (other than the ubuntu package) that exist on my system so that I can point everything toward the binary of the most current version (in my case, the ffmpeg running with mpv)?

I am not expert so maybe there is safer/better way but this worked for me. Interestingly last ffmpeg version from jon-severinsson was ffmpeg version 1.2.6-7:1.2.6-1trusty1 Copyright (c) 2000-2014 the FFmpeg developers and in mc3man repo ffmpeg version 2.6.1 Copyright (c) 2000-2015 the FFmpeg developers.

Today I found another PPA providing Jon Severinsson's ffmpeg package: fnu/+archive/ubuntu/main-fnu. Unlike the mc3man/trusty-media PPA it provides ffmpeg version 1.2.6-7:1.2.6-1trusty1. It seems to be the same package contained in the old jon-severinsson/ffmpeg PPA.

I need help uninstall ffmpeg. The problem is, I can't remember what method I used to install it. But I've already done uninstalling through apt using sudo apt-get remove ffmpeg libav. Thing is, even after this, ffmpeg is still useable:

I've tried using ffmpeg to convert a short .mp4 video into a .avi video and it still works. The reason I want to uninstall it is so that I can reinstall a newer version that supports the pattern-type option. With my current version, I get:

What this command actually removes will depend on how you installed ffmpeg's dependencies. If the dependencies are manually marked then autoremove will leave them alone. If, however, you installed ffmpeg and let it pull in its dependencies without explicitly installing those then autoremove should remove them without fuss.

If you take a look at the official webpage for ffmpeg-php, you'll see the date of the last update is 2007. That's why it is recommended you don't use it on any production server, since you have to use an old version of ffmpeg together with ffmpeg-php, which is obviously not a good idea, considering the number of bug fixes created since 2007.

Perhaps a better solution would be to call ffmpeg/ffprobe directly from your web pages to do whatever you need with your audio/video. That way you'll have less of a headache keeping up with new updates of ffmpeg, since command line options usually don't change that much as the API/ABI does. For more help on using ffmpeg from web pages, you could read this tutorial on ffmpeg wiki:

phpapi-20090626+lfs is a "virtual package" which another package may "provide". In your case, this is an older virtual package which php5-ffmpeg requires, and which the newer PHP package doesn't provide. The quickest solution just to get everything working, if the PHP upgrade broke it, would be to downgrade PHP.

For a solution using the new PHP, you will need an updated version of php5-ffmpeg, if that's available. I believe this is a package from an external repository (like a PPA), because I don't see it in the normal distribution repositories. If it isn't available, you'll have to try to build it yourself. That might not be possible with the updated versions of ffmpeg and PHP, though ...

Given the specifics of how old php5-ffmpeg is (as detailed here), I would try to change your application to avoid the use of this library in the first place, as it locks you in to (at least) an old version of ffmpeg.

I've been using SVT-AV1 via ffmpeg (5.1.2, 6.0, and numerous nightlies from ) on Windows for some time and it has been working well for me to archive videos from multiple sources (smartphone, Zoom calls, OBS recordings, etc). I recently wanted to try running some encodes on an Ubuntu 22.04 machine I have but I'm running into some strange behavior.

On Ubuntu I installed ffmpeg through Homebrew (ffmpeg@6), which as of when I started this effort a few days ago was using SVT-AV1 v1.5.0. I'm not savvy enough to build ffmpeg with --enable-svtav1 on my own, though if I spent some more time on it, I could probably eventually figure it out.

- When I run ffmpeg with debug logging, nothing seems out of place other than getting a few: "cur_dts is invalid", though for reasons I have yet to bring up, I don't believe this to be an issue. FWIW, the source files I've tested all play back fine.

- I tried using Homebrew to install an older version of ffmpeg. I used ffmpeg@5 to install 5.1.2, but these encodes using libsvtav1 fail in the exact same manner as those done with ffmpeg 6.0. Though, importantly, ffmpeg 5 is still using svt-av1 v1.5.0. Homebrew doesn't seem to have older versions of this dependency available.

- I tried using the HEAD versions of both ffmpeg as well as svt-av1, but there was no change in behavior on ffmpeg, and for svt-av1 this results in it pulling down the exact same build with the same datetime.

- To reiterate, in case it isn't clear, the exact same file encodes as expected (and without errors) on Windows on ffmpeg 5.1.2, 6.0, or on the latest nightly builds of 6.0 which include svt-av1 v1.5.0.

- I know that svt-av1 expects uncompressed video, so I converted my test clip to .y4m and fed that back into ffmpeg for libsvtav1 to encode. It still fails in exactly the same way. If this had worked, I would have suspected that ffmpeg isn't decoding or piping the data into libsvtav1 properly.

I can't say I've really been able to draw any conclusions other than the issue seems to be tied to svt-av1 sourced from Homebrew. Different versions of ffmpeg don't fix the error. Using a different encoder with ffmpeg DOES fix the error.

I'm not sure whether the issue is with the specific compile of svt-av1 that homebrew is sourcing, whether there's a bug in svt-av1 that's affecting linux builds, or whether there's something wrong with the build of ffmpeg in homebrew that's breaking svt-av1 integration... I'm hoping someone with more experience with ffmpeg, svt-av1, and/or homebrew can shed some light.

df19127ead
Reply all
Reply to author
Forward
0 new messages