CBS Local stations publish a steady stream of news segments, weather updates, investigative reports, and community features across dozens of regional properties. The problem for archivists is that this content is fundamentally ephemeral. Local news pages are routinely restructured, older slugs are retired, CDN tokens expire within hours, and segments that were live on Tuesday frequently return a 404 by the following season. For anyone documenting civic life, a link saved today is not a copy preserved tomorrow.
Technically, CBS Local playback is not a single downloadable file. Video arrives as a manifest-driven stream, typically DASH or HLS, split into hundreds of short fragments delivered sequentially with signed URLs. Modern players often negotiate adaptive bitrates, switching between 1080p, 4K, and higher frame-rate renditions mid-playback, while separate audio and subtitle tracks ride alongside in their own fragment sets. Grabbing a stream therefore means enumerating a manifest, fetching every chunk in order, reassembling them, and muxing the correct video, audio, and caption tracks into one container. Naive downloaders that capture a single fragment produce broken, truncated files.
On the legal side, downloading publicly available broadcast material for personal study, criticism, commentary, teaching, or preservation falls within the broad tradition of fair use in the United States, though the precise boundaries vary by jurisdiction and by how the material is redistributed. Archiving for yourself, with no public re-upload or commercial exploitation, is the posture this guide assumes. Nothing here bypasses paywalls, authentication, or DRM; it addresses openly streamed pages that a normal browser can already display.
This guide compares three practical approaches available in 2026. The first is a desktop graphical application built on Tauri v2 and Rust that wraps the mature yt-dlp extraction core, FFmpeg, and aria2c into a native window with no telemetry and local JSON-based settings. The second is the upstream yt-dlp command-line tool itself, which remains the most flexible and scriptable engine for people comfortable in a terminal. The third is the category of browser-based online converters, which promise one-click convenience at real cost to privacy and quality. Each method is evaluated on resolution fidelity, subtitle and audio handling, multi-fragment acceleration, playlist support, and long-term reliability for genuine archival work.
yt-dlp app (Recommended Desktop GUI)
This is a proprietary desktop application that bundles proven upstream components behind a native interface. The window is rendered with Tauri v2 and the core logic is written in Rust, so the application launches quickly, uses modest memory, and writes its configuration and job history to local JSON files on your own disk. There is no account system, no cloud sync, and no telemetry: everything you queue stays on the machine you are sitting at.
Under the hood, the app drives a multi-connection fragment engine through aria2c, which fetches many DASH or HLS segments in parallel instead of one at a time, dramatically shortening long CBS Local broadcasts. FFmpeg is invoked automatically to mux the selected video rendition with its matching audio track and to embed subtitle streams as soft captions, producing a clean MP4 or MKV. Because it is a packaged GUI, it never calls itself open source and carries no warranty of perpetual free availability.
Step-by-Step Instructions
Step 1: Download and launch yt-dlp app
Obtain the installer from the official yt-dlp.app distribution page for Windows, macOS, or Linux, then launch the application so it initializes its local settings file.
Step 2: Paste the CBS Local video or playlist URL
Copy the page address from your browser and drop it into the URL field; the app detects playlists and offers to queue every entry at once.
Step 3: Choose format, resolution, and subtitle tracks
Select the highest rendition available, confirm the frame rate, and tick the caption languages you want embedded as soft subtitles rather than burned in.
Step 4: Enable multi-connection acceleration and start
Leave the aria2c parallel fragment setting on for faster segment retrieval, pick an output folder on a drive with ample space, and begin the job.
Step 5: Verify the finished file
Play the completed file locally to confirm audio sync, caption rendering, and full duration before you archive it or move it to cold storage.
Advantages
- ✓ Native Tauri v2 and Rust build with zero telemetry and local JSON storage
- ✓ Parallel aria2c fragment engine plus automatic FFmpeg muxing for 4K, 60fps, and subtitle tracks
- ✓ Preserves full playlists and season groupings with consistent naming for long-term archives
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 command-line tool is the open-source extraction engine that most other downloaders, including many graphical front ends, ultimately depend on. It supports an enormous range of sites, exposes fine-grained format selection syntax, and can be scripted, scheduled, or chained into larger preservation pipelines. For bulk harvesting of an entire CBS Local station archive, a well-written shell script is often unbeatable.
The tradeoff is that it assumes fluency with terminals. You must install and update Python or a standalone binary, keep FFmpeg on your PATH for muxing, and optionally configure aria2c as an external downloader to gain parallel fragment fetching. Nothing is broken by default, but nothing is explained either: a missing dependency surfaces as a cryptic error rather than a friendly prompt.
Step-by-Step Instructions
Step 1: Install the binary and dependencies
Install the yt-dlp executable plus FFmpeg on your PATH, and add aria2c if you intend to use parallel fragment downloads.
Step 2: Inspect available formats
Run the tool with the list-formats flag against the CBS Local URL to see the exact rendition IDs for 1080p, 4K, and the separate audio and caption streams.
Step 3: Compose your download command
Build a command selecting a preferred video height, best audio, and desired subtitle languages, with an output template that names files by date and title.
Step 4: Add acceleration and archive options
Append the aria2c external-downloader flag with a sensible connection count, and enable the archive file so repeated runs skip already-saved videos.
Advantages
- ✓ Fully open-source and extraordinarily configurable through format and output template syntax
- ✓ Excellent for automation, cron jobs, and batch archival of large station playlists
- ✓ Supports external downloaders, cookies, sponsor removal, and metadata embedding flags
Drawbacks
- ✗ Steep learning curve for anyone unfamiliar with terminal commands and flag syntax
- ✗ Manual dependency management for FFmpeg, aria2c, and Python or binary updates
Web-Based Online Converters
Browser-based converter sites ask for nothing more than a pasted URL and a click. They handle the manifest parsing on their own servers and hand you back a single finished file, which makes them attractive for a one-off grab on a borrowed laptop where you cannot install anything.
That convenience carries significant costs. These services are typically funded by aggressive advertising, pop-under windows, and redirect chains, and their terms often permit retaining the URLs you submit. Resolution is commonly capped at 720p or 1080p, subtitles are frequently ignored or burned in, and long streams may time out under server-side session limits. Quality is often re-encoded, further degrading the copy you wanted to preserve.
Step-by-Step Instructions
Step 1: Locate a converter
Search for a browser-based downloader and expect heavy advertising; treat any page requesting payment or an extension install as a red flag.
Step 2: Paste the URL and wait
Submit the CBS Local link and accept that server-side processing may fail on longer segments or throttled manifests.
Step 3: Download the returned file
Save the generated file and check its resolution, duration, and audio sync before assuming it is a faithful copy.
Advantages
- ✓ No installation required and usable from any browser on any operating system
- ✓ Simple single-file output that needs no post-processing or muxing knowledge
Drawbacks
- ✗ Intrusive ads, pop-ups, and redirect chains that can be difficult to navigate safely
- ✗ Unclear privacy practices, with submitted URLs and IP addresses often retained or shared
- ✗ Strict resolution caps, re-encoding that lowers quality, and no reliable subtitle or playlist support