Bonum Certa Men Certa

Self-Hosting Videos With Free Formats and Animated Previews, Watermarks/Logos and Translucency

Summary: We examine the power of video editing with ffmpeg, chained with command-line scripting and HTML5 features

The Web is a powerful platform -- to the point where it's a little 'too' powerful if put in the hands of malicious actors. But we're still using the Web by default; it's just what most people use. Video functionality on the Web improved a lot over the years, putting aside DRM/EME. So let's explore what we can accomplish with some command-line scripting and ffmpeg.



We're always trying to encourage digital autonomy, which is why we adopt self-hosting whenever possible. This includes videos. For the sake of example, in this post we use an old video about Gemini proxies. It was picked at random, no special reason at all. None.

Extracting bits of the video with ffmpeg isn't hard (check the official ffmpeg Web site; their documentation explains the pertinent options, which should be changed depending on the video):

ffmpeg -ss 600 -t 5 -i gemini-proxies.webm -vf "select=not(mod(n\,1)),fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 roy-talks.gif

This gets us started:



To add the resultant preview (known as "poster") to the video, consider using the following, based on the above example: poster="http://techrights.org/wp-content/uploads/2021/04/roy-talks.gif"

This attribute belongs in the <video> element as it is part of the standard.

Add the watermark/logo with ffmpeg:

ffmpeg -i roy-talks.gif -i mogz-video-poster-4-small.png -filter_complex "overlay=0:H-h--1" -codec:a copy roy-talks2.gif

We use artwork prepared by Mogz for us.

These two passes may be lossy and maybe possible to combine rather easily, but splitting it into two stages aids simplicity. Here it goes:



For center: overlay=(W-w)/2:(H-h)/2 Top left (with 5 pixels of padding): overlay=5:5 Top right: overlay=W-w-5:5 Bottom right: overlay=W-w-5:H-h-5 Bottom left: overlay=5:H-h-5

With improved quality and translucency:

ffmpeg -i roy-talks.gif -i mogz-video-poster-4-small.png -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.7[logo];[0][logo]overlay=0:H-h--1:format=auto" -codec:a copy roy-talks2.gif



The above scripts are possible to chain together and variables can be used, too. Let's change the time to one minute from the start (-ss 60) for a duration of 2 seconds (-t 2):

VIDEO_FILE='gemini-proxies' ffmpeg -ss 60 -t 2 -i $VIDEO_FILE.webm -vf "select=not(mod(n\,1)),fps=10,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 intermediate.gif ffmpeg -i intermediate.gif -i mogz-video-poster-4-small.png -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.7[logo];[0][logo]overlay=0:H-h--1:format=auto" -codec:a copy $VIDEO_FILE.gif

Of course it is also possible to use loops and batch-process many files in this way. Welcome to the power of GNU/Linux.



Voila. The translucency is easier to see because of the mug of coffee.

Recent Techrights' Posts

Slopfarms Slopping Away at "Linux" and Spreading Microsoft Misinformation
Slopfarms don't comprehend this as they lack actual comprehension, they're just parrots
GitHub the Company Has, in Effect, Just Died (Time to Look for Alternatives)
To Microsoft, what's left of GitHub after dismantling/folding it is some "training set" (people's code, without permission to "train" i.e. misuse under the guise of "GenAI" plagiarism)
Linux Foundation Says "Housekeeping", "Hung", "Normal", "Native Feature/Support" and "Girl/Girls" Are Offensive Words
Bombing people is OK, just use the right "terms"
It Looks More Like Microsoft GitHub Layoffs
GitHub is just losing loads of money
 
GitHub Will End Up like XBox and Skype
It is not likely that the XBox franchise will survive the next 5 years
Stones Thrown in Glass Houses
Projecting? You bet!
As Europe Gets Increasingly Serious About Software Freedom and Digital Sovereignty It Needs to Enforce a Ban on Software Patents ASAP
many councils in Europe move to Free software and US policy/companies cannot be trusted
Windows 12 in Bahrain (Microsoft "Market Share" Down to 12%, an All-Time Low)
They really ought to get away from Windows even faster
The Web Needs 'Pest Control' When It Comes to LLM Slopfarms
The goal is to discourage more sites becoming slopfarms
Microsoft Can Now Stop Reporting the GitHub Layoffs (Even When They Happen)
GitHub's original staff will see the true cost of becoming "b0rged" - something that Microsoft earned a bad reputation for
How to Get Very Bad or Even Malicious Code Into Linux? Write it in a Language That Linus Torvalds and Most Other Linux Developers Don't Understand.
One point nobody brings up is, what if code gets committed while evading audits and scrutiny?
Links 12/08/2025: Wikipedia Fails at UK High Court, Perlmutter Still Fights to Squash the Slop Lobby
Links for the day
Gemini Links 12/08/2025: Field Recording and Digital Legacy
Links for the day
Links 12/08/2025: WinRAR Zero-Day, SonicWall Does More Harm Than Good
Links for the day
Links 12/08/2025: More Sabotage of Underwater Cable Ahead of Russian Alaska Summit
Links for the day
Richard Stallman Will Not Miss Microsoft GitHub, It Was Only Good at Harvesting a Lot of Code for Plagiarism-as-a-Service
investors are apparently willing to lose money for buzzwords
Links 12/08/2025: Science, Hardware, and Ukraine Excluded From Negotiations About Its Future
Links for the day
Gemini Links 12/08/2025: Meditation, OpenStreetMap, Smolweb, and More
Links for the day
Google News is Dying: Most of Its Top Stories Now Are LLM Slop With Slop Images (i.e. 100% Fake 'Content')
Google News has been drowning in this sort of stuff for quite some time
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, August 11, 2025
IRC logs for Monday, August 11, 2025
Our Predictions Were Right: GitHub Dying as Losses Pile Up (as a Company It Cannot Continue to Exist, It's Not 'Free Hosting')
GitHub always lost money
Links 11/08/2025: Meritless Twitter Suspensions and Disney Scraps Deepfake Dwayne Johnson
Links for the day
Gemini Links 11/08/2025: Upgrading Debian Bookworm and Better Quality PDFs From Gemini Pages
Links for the day
Currys PCWorld Lied a Decade Ago, 10 Years Later It Still Effectively Voids Your Warranty for Installing GNU/Linux Despite It Being Increasingly Mainstream
Microsoft gatekeepers
Team GNOME Has Libeled Me for Nearly 20 Years
we are not dealing with sane people
Experience With Airlines in 'Web Sites' and in 'Apps'
In a lot of ways, Stallman Was Right about what JavaScript would turn out to be
Open Does Not Mean Free
wiser to ask if some program is freedom-respecting
The Register MS Takes Money From Companies Banned by the Biden and Trump Administrations (National Security Risk)
today's sponsor
Sabotaging GNU/Linux PCs (and Users) is Not a 'Joke'
maybe cruelty is the very objective
How We Process Screenshots of Slop to Suitably Tag Them as Slop
everything is a single command
Links 11/08/2025: Data Breaches, Politics, and Climate
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, August 10, 2025
IRC logs for Sunday, August 10, 2025
Gemini Links 11/08/2025: Tea Caffeine Hot and Super ZZ Zero
Links for the day
Slopwatch: LinuxSecurity, Brian Fagioli, and Other Serial Sloppers
Maybe Microsoft wants to dub this "Web5"
Gemini Links 10/08/2025: Residents Management Company, Automation, and Politics
Links for the day
Links 10/08/2025: AOL Ending Dial-up
Links for the day
Seductive Mirage or Allure of Complex, Proprietary Coffee Machines (or Similar White Elephants)
Software is a lot like those things
Links 10/08/2025: Webrings, “AI Sunglasses” and “AI Eyeglasses”, US Administration Intensifies Attacks on Science and Research
Links for the day
Sometimes Newer is Worse
We generally need to reject this dumb notion that "old" means bad
The Code Used to Make Techrights Fits on a Seventh of a Floppy Disk (or 100KB When Compressed)
For the sake of comparison I've just downloaded the latest version of WordPress. The ZIP file is 27.2MB in size, or ~27,200KB.
What They Tell Young Programmers
Coding in 2025
Simpler is Better When Simple is Enough
Over-complicating things to "sell" new versions is so 1990s
Links 10/08/2025: From Social Control Media to Prison, New Examples of Windows TCO
Links for the day
Sloppy Reporting About Slop, or How The Register MS Lowers Its Standards
Maybe the management isn't even aware of this
IBM's Strategy: Cull 'Expensive' Workers, Replace Them With Cheaper Ones
So far we saw not even one rebuttal or challenge to the claim of Red Hat layoffs scheduled for tomorrow
If You Attack Somebody Too Much You Legitimise and Strengthen That Somebody
at the end those attacks add up to a "martyr" status
The Man Who Helped Microsoft Kill Linux is Trying to Delay Our Lawsuits Against Him
By conservative estimates, and based on court documents submitted by them, they're prepared to spend over a million dollars on lawyers, fighting against me and my wife
Gemini Links 10/08/2025: Gen Con 2025 and Framework Laptop
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, August 09, 2025
IRC logs for Saturday, August 09, 2025