TV4 is one of Sweden's longest-running commercial broadcasters, and its streaming platform has quietly become a substantial archive of news, drama, sport and documentary programming. That content, however, is delivered as an ephemeral stream rather than a file you keep. Episodes rotate out of the catalogue, licensing windows close, and a URL that resolves today can return a 404 within months. For anyone treating TV4 as a research source or a personal media library, the only durable artifact is a locally stored copy. This guide examines three practical ways to create one in 2026, with an emphasis on fidelity, reliability and long-term preservation rather than quick one-off grabs.
Technically, TV4's player does not hand you a single MP4. It negotiates segmented delivery, typically splitting video into short DASH or HLS chunks served over HTTPS, often with separate audio and subtitle tracks that must be reassembled client-side. Modern titles may be offered at 1080p, 4K, or up to 60 frames per second for sport, and each quality tier is a distinct manifest. Platforms also apply adaptive throttling, per-IP concurrency limits and rolling signed tokens, which is why naive downloaders stall midway or silently fall back to a low-resolution rendition. Handling this properly requires manifest parsing, parallel fragment retrieval and a muxer capable of joining streams without re-encoding.
On legality: downloading streamed material sits in a grey zone that varies by jurisdiction. In Sweden and much of the EU, private copying of lawfully accessed content for personal, non-commercial use is generally tolerated, and fair-use style exemptions cover commentary, criticism and teaching excerpts. Republishing, redistributing or monetising captured material is a different matter entirely and is not covered here. The intent of this guide is archival: preserving access to content you are entitled to watch, before link rot, regional restriction or a platform takedown erases it permanently. With that framing, the three methods below are compared on four axes: output fidelity, subtitle and audio handling, resilience against throttling, and privacy.
yt-dlp app (Recommended Desktop GUI)
The yt-dlp app is a proprietary desktop application for Windows, macOS and Linux that wraps battle-tested upstream engines in a native graphical shell. It is built on Tauri v2 with a Rust backend, so the interface renders in the system webview and the heavy lifting happens in compiled native code rather than in a bundled browser runtime. Settings, download history and queue state are written to local JSON files on your own disk. There is no account system, no telemetry pipeline and no server-side copy of what you queue.
Under the hood it orchestrates yt-dlp for extraction, aria2c for multi-connection fragment retrieval, and FFmpeg for muxing and remuxing. That combination is what makes TV4's segmented 4K and 60fps tiers practical: fragments are pulled across many concurrent connections so a throttled session does not collapse into a single slow trickle, separate audio and subtitle tracks are fetched and then merged into one container without re-encoding, and subtitle streams can be embedded as selectable tracks or saved as standalone SRT/VTT files. Playlist and series URLs expand automatically into ordered queues with filenames derived from episode metadata.
Step-by-Step Instructions
Step 1: Download and launch yt-dlp app
Install the desktop build for your platform and open it. On first run, confirm that FFmpeg and aria2c are detected in the dependency panel.
Step 2: Paste the TV4 URL
Copy the episode, film or series page address from your browser and paste it into the queue field. Playlist URLs are expanded into individual items automatically.
Step 3: Choose quality and tracks
Select the highest available video tier, ideally 4K or 60fps where offered, then tick the audio language and any subtitle tracks you want embedded.
Step 4: Set container and output folder
Pick MP4 or MKV for maximum player compatibility and choose a destination folder on a drive with sufficient free space for large files.
Step 5: Start the queue and verify
Begin the download and let the fragment engine run. When it finishes, play the file back to confirm video, audio and subtitle tracks are all present.
Advantages
- ✓ Native Tauri/Rust desktop app with aria2c multi-connection acceleration for fast, resumable fragment downloads
- ✓ Automatic FFmpeg muxing for 4K/60fps video, separate audio tracks and embeddable subtitle streams
- ✓ Zero telemetry with all settings and history stored locally in JSON on your own filesystem
Drawbacks
- ✗ Requires desktop installation
Ready to download yt-dlp app? 🚀
Experience native speed, 4K/8K stream extraction, and zero telemetry video archiving on Windows, macOS, and Linux. ✨
Get yt-dlp appyt-dlp (Command Line Interface)
The upstream yt-dlp CLI is the open-source engine most of the ecosystem depends on, a Python-based extractor that supports thousands of sites and is updated constantly as platforms change their delivery. Invoked from a terminal, it exposes format selection, subtitle retrieval, cookie injection, rate limiting and post-processing hooks through flags and configuration files. For anyone archiving systematically, the CLI's precision is unmatched.
It is also the least forgiving entry point. You assemble your own stack, typically installing Python, yt-dlp, FFmpeg and optionally aria2c, then keeping each of them updated. A single mistyped flag can produce an audio-only file or a fragmented container that will not play. Once configured, though, a saved command or shell script can mirror an entire series night after night with consistent naming, which is exactly what long-term preservation work demands.
Step-by-Step Instructions
Step 1: Install the toolchain
Install Python, then yt-dlp via pip or a package manager, plus FFmpeg and optionally aria2c on your system path.
Step 2: Inspect available formats
Run the list-formats command against the TV4 URL to review video, audio and subtitle streams and their resolution tiers.
Step 3: Select streams with a format string
Compose a format selector that picks the best video plus best audio, and add subtitle flags for the languages you need.
Step 4: Route fragments through aria2c
Enable the external downloader option for aria2c to pull segments over multiple concurrent connections.
Step 5: Mux and archive
Let FFmpeg merge the selected streams into MP4 or MKV, then move the output into your archive structure.
Advantages
- ✓ Fully scriptable and automation-friendly for scheduled or batch archival of entire series
- ✓ Granular control over format selection, subtitle embedding, cookie authentication and post-processing
- ✓ Actively maintained open-source extractor that adapts quickly when a platform changes its delivery
Drawbacks
- ✗ Steep learning curve: flags, format strings and post-processing options require genuine terminal familiarity
- ✗ Manual dependency management for Python, FFmpeg, aria2c and frequent updates across all of them
Web-Based Online Converters
Browser-based downloader sites require nothing but a URL and a click. Paste the TV4 link, wait while a remote server fetches and repackages the stream, then save the resulting file. For a single low-stakes clip on a machine where you cannot install software, this is genuinely the fastest route to a file.
The trade-offs are severe for archival use. These services operate on someone else's hardware, so your request and the target URL pass through an unknown third party, and the pages themselves are typically dense with redirect ads and tracking scripts. Output is commonly capped at 720p or 1080p with aggressive compression, audio is downmixed, subtitle tracks are usually discarded entirely, and long or 4K sources frequently fail outright against server-side rate limits. Files may also be deleted from remote storage within hours, leaving you with a broken link instead of a copy.
Advantages
- ✓ No installation or technical setup required; works from any browser on any device
- ✓ Fast and adequate for a one-off low-resolution clip where nothing better is available
Drawbacks
- ✗ Intrusive pop-up ads, redirect chains and aggressive third-party tracking scripts
- ✗ Serious privacy exposure since the target URL and your request pass through an unknown remote server
- ✗ Strict resolution caps and re-compression: 4K, 60fps, multi-track audio and subtitles are typically unavailable