Making video for the web isn’t just about exporting a file. It’s about building a pipeline—a sequence of steps that carries raw footage from your camera through editing, colour grading, audio sweetening, encoding, and finally onto a site, whether you self-host or use a third-party player. For European indie creators, small studios, and anyone who cares about the open web, the usual commercial suites come with strings attached: recurring fees, updates that change things without asking, and formats that quietly lock you into one vendor’s world. The open-source ecosystem offers a different path. One where you control the tools, the formats, and how you deliver. This article maps out a reproducible, field-tested workflow using free software that respects accessibility standards, keeps your media portable, and avoids lock-in. We’ll look at capture and ingest, non-linear editing with Blender’s video sequence editor, audio sweetening in Ardour, encoding with FFmpeg, and embedding with the HTML5 element—all while keeping an eye on the European Accessibility Act and WCAG requirements for time-based media.

Why an Open-Source Video Stack Matters for Web Creators
For many European indie creators, the choice of tools isn’t just about cost. It’s about sovereignty, long-term access to your own projects, and the ability to meet regional regulations without depending on a vendor’s roadmap. Proprietary video editors often bundle codecs, effects, and export presets in ways that make it difficult to understand what’s happening under the hood. When the Web Content Accessibility Guidelines (WCAG) 2.2 require captions, audio descriptions, and keyboard-navigable players, you need a stack that gives you full control over every output stream. Open-source tools let you inspect, script, and automate those outputs. They also align with the European Union’s push for digital sovereignty and open standards, making your content more future-proof for public-sector clients, cultural institutions, and educational platforms.
Ingest and Media Management: Starting with Clean, Documented Assets
Before you open a timeline, your footage needs a home. A common mistake is to dump files into a folder named after the project and hope for the best. Instead, adopt a consistent directory structure that mirrors the stages of post-production. I use a top-level folder with the project slug, then subfolders: 01_raw, 02_proxies, 03_audio, 04_graphics, 05_exports. This structure is tool-agnostic and makes it easy to move between Blender, Ardour, and FFmpeg without breaking links.
For proxy generation, FFmpeg is the backbone. Creating lightweight editing proxies from high-resolution source files saves storage and lets you edit smoothly on modest hardware. A typical command might look like:
ffmpeg -i input.mov -c:v libx264 -preset fast -crf 23 -c:a aac -b:a 128k proxy.mp4
This step also gives you a chance to embed timecode and reel names, which become critical if you later need to conform back to camera originals for colour grading or mastering. The open-source tool MediaInfo is invaluable here for inspecting file metadata and verifying that your proxies match the source’s frame rate, aspect ratio, and audio channel layout.
Editing in Blender: More Than a 3D Tool
Blender’s Video Sequence Editor (VSE) is often overlooked because of the software’s reputation as a 3D powerhouse. But for web video, the VSE is a capable, non-destructive editor that handles multiple tracks, transitions, keyframed effects, and audio mixing. It works natively with open formats like PNG image sequences, FLAC audio, and Matroska (MKV) containers, which means you can build an entire project without touching a proprietary codec.
Start by setting your project to the correct resolution and frame rate under the Output Properties tab. For web delivery, 1920×1080 at 25 fps (PAL standard) or 24 fps (film standard) is common in Europe. Blender’s VSE lets you stack strips—video, audio, images, and even other Blender scenes—on multiple channels. You can apply real-time effects like crossfades, colour balance, and speed changes, all of which are rendered on the fly using Blender’s GPU-accelerated compositor.
One underappreciated feature is the ability to use Blender’s node-based compositor directly on VSE strips. This means you can apply advanced colour correction, masking, and even green-screen keying without leaving the application. For web creators who need to deliver consistent branding, you can save node groups as presets and reuse them across projects—a workflow that avoids vendor lock-in and keeps your look reproducible.

Audio Sweetening with Ardour: Accessibility Starts with Clear Sound
Web video often neglects audio, but for European public-sector projects and anyone aiming for WCAG compliance, clear speech and balanced sound are not optional. Ardour is a professional digital audio workstation (DAW) that runs on Linux, macOS, and Windows. It can record, edit, mix, and master audio tracks, then export them in broadcast WAV or FLAC for lossless archiving.
My typical workflow: export a reference video with guide audio from Blender, import it into Ardour as a video timeline, then replace the guide track with properly recorded voice-over, room tone, and sound effects. Ardour’s loudness analysis tools help you hit the EBU R128 standard, which is the European broadcast norm and a good target for web content. I aim for an integrated loudness of -23 LUFS with a true peak of -1 dBTP. This ensures your video won’t blast viewers when they switch from a streaming service to your embedded player.
Once mixed, export each audio stem as a 24-bit WAV and bring it back into Blender for final sync. This round-trip is smooth because both applications respect timecode and sample rate. For creators who need captions, you can use Subtitle Edit to author WebVTT files, which are the standard for HTML5 video and required by the European Accessibility Act for pre-recorded content.
Encoding for the Open Web with FFmpeg
FFmpeg is the engine that powers most open-source video tools, but using it directly gives you the finest control over your output. For web delivery, you want a codec that is widely supported, royalty-free, and efficient. AV1, developed by the Alliance for Open Media, is the modern choice, but hardware decoding is still not universal. A safer baseline is VP9 in a WebM container, paired with Opus audio. This combination plays natively in Firefox, Chrome, and Edge, and it avoids the licensing fees associated with H.264/AAC.
Here is a two-pass VP9 command that balances quality and file size for a 1080p video:
ffmpeg -i input.mov -c:v libvpx-vp9 -b:v 2M -pass 1 -an -f null /dev/null && \
ffmpeg -i input.mov -c:v libvpx-vp9 -b:v 2M -pass 2 -c:a libopus -b:a 128k output.webm
For maximum compatibility, you can also produce an H.264 fallback in an MP4 container. The key is to avoid proprietary encoding presets that tie your archive to a specific application. By scripting your FFmpeg commands, you create a reproducible recipe that can be version-controlled alongside your project files. This is the kind of field-tested, transparent workflow that public broadcasters and cultural foundations appreciate when they audit your deliverables.

Embedding Video with Accessibility in Mind
The final step is embedding your video on a WordPress site. The HTML5 element is the foundation, but a bare tag is not enough for accessibility. You need to include elements for captions, subtitles, and audio descriptions. A complete embed might look like this:
<video controls preload="metadata" width="1920" height="1080">
<source src="video.webm" type="video/webm">
<source src="video.mp4" type="video/mp4">
<track src="captions_en.vtt" kind="captions" srclang="en" label="English" default>
<track src="subtitles_de.vtt" kind="subtitles" srclang="de" label="Deutsch">
<track src="descriptions_en.vtt" kind="descriptions" srclang="en" label="Audio descriptions">
</video>
WordPress does not natively support WebM uploads in the media library, but you can enable the file type with a small snippet in your theme’s functions.php or a plugin like WP Extra File Types. For self-hosted video, I recommend storing files outside the media library—perhaps in a CDN-backed bucket—to avoid bloating your WordPress database. This also makes it easier to update video files without touching the CMS.
Keeping Your Workflow Reproducible and Future-Proof
A reproducible workflow is one you can document, share, and revisit years later without scratching your head. I keep a plain-text README in each project folder that lists the software versions used, the FFmpeg commands, and any custom Blender or Ardour settings. This practice has saved me more than once when a client asked for a revised version of a video I had archived two years earlier. Because I used open formats and documented my steps, I could rebuild the project exactly, even though my operating system and software had been updated in the meantime.
For teams, consider using a version-control system like Git to track project files, edit decision lists, and encoding scripts. Binary media files are too large for Git, but you can store checksums to verify file integrity over time. This level of care signals to collaborators and clients that you take archival seriously—a quality that European cultural heritage institutions and public broadcasters increasingly require.
Common Pitfalls and How to Avoid Them
Ignoring Colour Management
Web video is almost always delivered in the sRGB colour space, but your source footage may be log-encoded or in a wider gamut like Rec. 2020. If you do not apply the correct colour transform, your video will look washed out or over-saturated on standard displays. In Blender, use the Colour Management settings under the Render Properties tab to set your display device to sRGB and your view transform to Standard. For log footage, apply a conversion LUT in the compositor before grading.
Overlooking Audio Normalisation
Loudness normalisation is not the same as peak normalisation. Simply raising the volume until the waveform hits 0 dBFS will result in a harsh, fatiguing mix. Use Ardour’s loudness meter or the standalone ffmpeg-normalize tool to measure integrated loudness and adjust gain accordingly. For web content, -16 LUFS is a common target, but I prefer -23 LUFS for consistency with European broadcast standards.
Forgetting About Mobile Bandwidth
Many viewers will watch your video on a mobile connection. A 10 Mbps 1080p file may look pristine on a desktop, but it will stutter on a 3G network. Use FFmpeg to create adaptive bitrate streams with HLS or DASH. While DASH is more codec-agnostic, HLS has broader support, especially on iOS devices. The open-source tool ffmpeg can generate both formats, and you can pair them with a free player like Video.js for smooth playback.
FAQ: Open-Source Web Video Production
Can I use open-source tools for professional client work?
Yes, and many European studios already do. Blender, Ardour, and FFmpeg are used in commercial animation, broadcast, and web content production. The key is to document your workflow so clients can see the professional standards you meet. Some clients may request project files in a specific proprietary format; in those cases, you can export an AAF or XML from Blender for interchange, though you should test the round-trip beforehand.
What is the best open-source codec for web video in 2025?
VP9 remains the most practical choice for broad compatibility, but AV1 is gaining ground quickly. If your audience uses modern browsers, AV1 in WebM with Opus audio offers excellent compression and quality. For a fallback, H.264 in MP4 is still the safest option. The important thing is to avoid codecs that require patent licensing fees, as these can create legal risks for public-facing projects in the EU.
How do I make my web videos accessible under European law?
The European Accessibility Act requires that pre-recorded video content on websites and mobile applications include captions, audio descriptions, and a transcript. Use WebVTT files for captions and descriptions, and embed them with the element. Ensure your video player is keyboard-navigable and works with screen readers. Open-source players like Video.js and Plyr can be customised to meet these requirements.
Do I need a powerful computer to run these tools?
Not necessarily. Blender and Ardour run on mid-range hardware, and using proxy files in editing reduces the load significantly. FFmpeg encoding can be time-consuming on older machines, but you can offload rendering to a remote server or use a render farm like RenderStreet, which supports Blender projects. The open-source stack is designed to be flexible, so you can scale your hardware to your needs.
What Comes Next: Building a Self-Hosted Video Platform
Once you have a reliable production workflow, the natural next step is to think about distribution. Self-hosting your videos—rather than relying solely on YouTube or Vimeo—gives you full control over branding, accessibility, and data privacy. In a future article, I will walk through setting up a lightweight video platform using open-source tools like PeerTube, which uses WebTorrent to reduce bandwidth costs and aligns with the decentralised web principles that many European creators value. For now, the workflow described here gives you a solid foundation: capture, edit, mix, encode, and embed, all with tools that respect your freedom and your audience’s rights.