FOSSPicks
FFmpeg 6
There can't be many Linux users who don't have FFmpeg installed, even if they're not aware of it. FFmpeg has become the backbone of media manipulation and can seemingly handle everything. It's used to transcode optical discs, stream videos, remove advertising, extract audio, encode audio and video, and to silently bridge the ever increasing gap between the formats provided by streaming services and those we find convenient on our computers. And as anyone who has typed ffmpeg
on the command line can attest, all this incredible flexibility does result in complexity. FFmpeg has more build options and command-line arguments than the Linux kernel, but this is what enables FFmpeg to work with so many media codecs, and to solve so many problems with convoluted media containers, their codecs, and file naming conventions.
This is why the release of version 6 is such a big deal. It will have a significant impact on your system even if you don't realize it. This is also the first release in the new annual release cadence. 5.0 was released a year earlier, and 6.0 is the first major update under the new regime (5.1 was an LTS release), with 220,000 lines of code touched. Many of those touched lines help with performance, with significant work done to make FFmpeg multithreaded. This enables it to run across as many processing units as you can spare, but there's lots more work to do. The plan for the future is that every component in the transcoding pipeline will run within its own secure thread, and the work will continue through the next release cycle. To further help with performance, there's also AV1 hardware decoding for Intel, AMD, and NVIDIA hardware; new and much faster FFT functions for audio analysis and conversion; and even optimizations for RISC-V. There's also support for HDR images, desktop duplication, and many new decoders, all with seemingly random acronyms, including Bonk, APAC, VQC, ADPCM, and WADY. To most of us, it's all equally baffling, but there's no doubt FFmpeg is one of the most important open source projects we depend upon, and each release should be celebrated.
Project Website
Process analysis
lurk
Using the strace
command can be like using ntop (see earlier) in that it empowers ordinary users to see extraordinary things and usually jump to the wrong conclusions. By default, strace
is run against the name of a command for which it will list whatever system calls it executes and the libraries those calls come from. It's a lot like debugging your own code within an IDE, except you have very little context for those system calls, and even small executables can make hundreds of calls as they pass through every library they link to. However, we're not looking at strace
specifically, but instead a similar tool called lurk
.
The lurk
command hopes to be a better-looking and more focussed alternative to strace
. It only offers a subset of functions, and those have been hand-picked by the developer to be accessible and useful for the majority of uses. But the output also looks better, with good use of color, and JSON-compatible output that can be further processed with tools such as jq
. Like strace
, the command can be simply run against the name of the executable you want to look at, such as lurk ls
, and it can attach itself to a process that's already running. The only filtering allowed is with the --expr trace
argument, which is the same as the strace
equivalent, allowing you to limit output to specific system calls and those that access files, processes, and the network, among many other options. Regular expressions can be used to further fine-tune your searching, such as with lurk --expr trace=\!/g ls
to filter trace
output from the ls
command to system calls that don't contain the letter g
. The documentation contains many more examples like these, and while it never makes lurk
easy to use, it makes it bearable when you know there's no other kind of tool for the job.
Project Website
https://github.com/JakWai01/lurk
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Endless OS 6 has Arrived
After more than a year since the last update, the latest release of Endless OS is now available for general usage.
-
Fedora Asahi 40 Remix Available for Macs with Apple Silicon
If you've been anticipating KDE's Plasma 6 for your Apple Silicon-powered Mac, then you're in luck.
-
Red Hat Adds New Deployment Option for Enterprise Linux Platforms
Red Hat has re-imagined enterprise Linux for an AI future with Image Mode.
-
OSJH and LPI Release 2024 Open Source Pros Job Survey Results
See what open source professionals look for in a new role.
-
Proton 9.0-1 Released to Improve Gaming with Steam
The latest release of Proton 9 adds several improvements and fixes an issue that has been problematic for Linux users.
-
So Long Neofetch and Thanks for the Info
Today is a day that every Linux user who enjoys bragging about their system(s) will mourn, as Neofetch has come to an end.
-
Ubuntu 24.04 Comes with a “Flaw"
If you're thinking you might want to upgrade from your current Ubuntu release to the latest, there's something you might want to consider before doing so.
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.