'The biggest speedup I've seen so far' — FFmpeg devs boast of another 100x leap thanks to handwritten assembly code | Tom's Hardware's

'The biggest speedup I've seen so far' — FFmpeg devs boast of another 100x leap thanks to handwritten assembly code | Tom's Hardware's
Oh, FFS! Are people really only now realising that writing assembly code leads to faster processing?
> wielding the art of handwritten assembly code
I cut my teeth on machine language and assembly code. Interpreted and compiled languages never gave faster *results*, they just allowed faster *coding*, which meant saving money on wages.
Come to think of it, that was in the 1970s, so modern coders probably equate it to alchemy and the dark arts.
Let's take #ffmpeg as an example -- a project under a GNU license. You're going to do something with video not through a shittified package? You pretty much need ffmpeg.
Not sure how it is on other platforms, but ffmpeg on a mac does not follow a single one of the general rules that user expects for installing something on a mac. Does it show up as a program in Applications? No. It's a command line install. How do you know if it's installed? Command line.
FreeScriptFriday: Sometimes you just need to Remux a video file. Remuxing can help re-index video files so that they play well on websites and web apps. I am sure there are other uses and reasons why you would need to remux a file. This script can remux a single file or a directory of files while preserving the original file name. https://hastebin.teklynk.com/ebosahikeh.bash #freescriptfriday #bash #ffmpeg #linux #code
BTW: I broke my docker container and lost all of my previous FreeScriptFriday scripts/pastes. This should now be fixed moving forward.
Want to compress a video to a specific file size? Constrict is a new Linux tool built in Python and GTK4, and powered by FFmpeg that can do it.
https://www.omgubuntu.co.uk/2025/07/constrict-linux-video-compressor-ffmpeg-gui-ubuntu
Does anyone know how, in #ffmpeg using the drawtext filter, you can specify replaceable parameters in the text attribute for various metadata fields in the source (e.g. Artist, Album, Title, etc.)? I see examples for timestamp replaceable params but not for any metadata fields.
Alternately, how to use the ffmetadata switch to export the same info formatted into a text file for use by textfile option in drawtext filter along with reload, to get it to update while streaming?
Asking too much? :)
now... how to:
extract metadata from videos and overlay the text on the video stream using just #ffmpeg?
Playing with stereo pair labels in the waveform viz tool. So incredibly wild that #ffmpeg just lets me do all this
(short animation, no sound, ironically)
Another little motion extraction doodle, this time of coffee beans in my grinder...
Ok, any #video folks out there who know how to do what I want to do? I don't know what words to search for because I don't know what this technique is called. Boosts welcome, suggestions welcome.
I have a pool cleaning robot. Like a roomba, but for the bottom of the pool. We call it poomba. Anyways, I want to shoot an MP4 video with a stationary camera (a GoPro) looking down on the pool while the robot does its work. So I will have this overhead video of like 3-4 hours.
I want to kinda overlay all the frames of the video into a single picture. So the areas where the robot drove will be dark streaks (the robot is black and purple). And any area the robot didn't cover would show the white pool bottom. Areas the robot went over a lot would be darker. Areas it went rarely would be lighter.
I'm just super curious how much coverage I actually get. This thing isn't a roomba. It has no map and it definitely doesn't have an internet connection at the bottom of the pool. (Finally! A place they can't get AI, yet!) It's just using lidar, motion sensors, attitude sensors and some kind of randomizing algorithm.
I think of it like taking every frame of the video and compositing it down with like 0.001 transparency. By the end of the video the things that never changed (the pool itself) would be full brightness and clear. While the robot's paths would be faint, except where it repeated a lot, which would be darker.
I could probably rip it into individual frames using #ffmpeg and then do this compositing with #ImageMagick or something (I'm doing this on #Linux). But 24fps x 3600 seconds/hour x 3 hours == about 260K frames. My laptop will take ages to brute force this. Any more clever ways to do it?
If I knew what this technique/process was called, I'd search for it.
A developer managed to reverse pixelation in video using FFmpeg, GIMP and edge detection - no AI involved.
By analyzing motion and edges across frames, they could reconstruct original content from blurred areas.
It’s a reminder: pixelation is visual, not secure.
Code & demo: https://github.com/KoKuToru/de-pixelate_gaV-O6NPWrI
Let's go #ArchLinux, #FFmpeg-full with all the bells and whistles.
Converting all the copied Blurays and DVDs into usable formats, using much less space than the backups.
The other alternatives Ubuntu, Debian and Alpine don't have the necessary packages readily available for my use-case.
In that spirit: #Arch, btw.
Assume I have a single 10h long .mkv clip (#IYKYK) which I want to chop up at non-uniform parts, i.e. first chunk would be 14:05 long, the second 17:36 etc.
Provided I establish where to cut, can you provide me with a script that does exactly that? No need to re-encode or transcode, no need to modify neither the video nor the audio streams; no need to adjust sync either, just chop-chop-chop
I'm not looking for a GUI where I'd need to configure a zillion settings before I can perform the manual part, so #ffmpeg seems like an obvious choice.
Can any of you aficionados help me out please? Please boost for karma
So I have hundreds of videos of ~1 minute recorded from my phone ~10 years ago, and they generally don’t have that great compression, nor they are stored in a modern and advanced video format.
For archiving purposes, I want to take advantage of my workstation’s mighty GPU to process them so that the quality is approximately the same, but the file size would be strongly reduced.
Nevertheless, compressing videos is terribly hard, and way more complex than compressing pictures, so I wouldn’t really know how to do this, what format to use, what codec, what bitrate, what parameters to keep an eye on, etc.
I don’t care if the compression takes a lot of time, I just want smaller but good looking videos.
Any tips? (Links to guides and tutorials are ok too)
Also, unfortunately I am forced to use Windows for this (don’t ask me why ), but I know nothing about Windows because I hate it. Practical software suggestions are very much welcome, too!
Reading through FFmpeg Change Log
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.1:/Changelog
Playing with this amazing frontend again to understand FFmpeg better.
Because FFmpeg can do a multitude of operations on both the audio and the video of a stream, it takes or a lot of time and a significant amount of systematic effort to understand everything you need to know about this superb toolbox
I need to know a lot about it so I'll use any tool to assist me in this endeavor
@WeirdWriter
Must do a search on how to use #FFmpeg with Linux!
Finally got #FFmpeg working as a fully functional screen recorder, and podcast recorder too! No more downloading third party tools that can all be done in FFmpeg. Now maybe I can make PeerTube videos easier now.
I'm trying to free my audiobooks from the Audible ecosystem and have run into a little issue for which I'm looking for help.
After liberating books with "ffmpeg -y -activation_bytes <bytes> -i <book>.aax -codec copy <book>.m4b", some of them show a vastly longer duration in my library. One example goes from 14h34m44s to 777h28m46s. It's only a small portion of the books, and I haven't figures out a pattern yet.
Any ideas why?
Bit of a double whamy this time: Terra and Ultramarine users, read this if you're having trouble upgrading due to FFmpeg conflicts
https://blog.fyralabs.com/ffmpeg-upgrades-to-f42/
#tech #linux #foss #tech #ultramarinelinux #terra #fedora #ffmpeg