Skip to content

media downloads

Alexander Herling edited this page Oct 16, 2026 · 10 revisions

Video and audio downloads

Media pages are resolved and downloaded through the external tools yt-dlp, ffmpeg and ffprobe. Around fifty sites are preconfigured — YouTube, Vimeo, Twitch, SoundCloud, TikTok, Instagram, Facebook, X/Twitter, Reddit, ARD Mediathek, ZDF, Arte, ORF, SRF, BBC, France.tv, Rai, RTVE, Archive.org and others — and the host list is editable under Settings → Media → Media.

The tools are not bundled with the native builds. Install them, or let rDownloader manage them: see External tools. The Docker image already contains them.

Without ffmpeg and ffprobe, only formats that already carry both video and audio are offered, and a page without such a format says so before anything is queued.

Adding a media link

Paste the page address into the LinkGrabber. The link is analysed with yt-dlp and appears with its title, duration, uploader and thumbnail.

A playlist or channel expands into one link per video, up to 200 of them. They come from one quick listing of the playlist rather than from opening every video, so even a long playlist is read well within the probe timeout, and one video that cannot be fetched does not fail the rest. YouTube's placeholders for private and deleted videos are left out. After the online check the videos of one playlist form one package named after the playlist — or after the channel when the playlist has no title — tidied by the package-name rules, instead of a package named after the site. Channel and playlist subscriptions read them the same way.

When a check fails, the row says why — yt-dlp's own error message, or its exit code when it gave none — in the language of the interface, with yt-dlp's detail quoted in it.

Two quick choices sit on the row:

  • Media variant — Best, 2160p, 1440p, 1080p, 720p, 480p.
  • Switch to MP3 audio — audio only, converted to MP3. For another audio format, use Audio format in the format selector below.

For anything finer, expand the row: it opens the format selector.

Pages that name no codecs offer a quality too (dumpert.nl, arte.tv): where no quality resolves, Best hands the choice to yt-dlp. Where there is nothing to choose at all — no downloadable format, or video without a single audio track — the selector says This page offers nothing to choose from and the link is refused when you queue it.

The format selector

Per link, filter on:

Criterion Values
Container as the page offers
Video codec
Audio codec
HDR mode SDR, HDR10, HDR10+, HLG, Dolby Vision
Frame rate
Bitrate
Audio language

The estimated size and the resulting format update live.

Audio format extracts the sound alone as MP3, M4A, Opus or FLAC; Keep the video downloads the video as usual. It is offered only where ffmpeg is installed.

A combination that matches nothing is explained. The selector shows how many formats each criterion would keep on its own, which distinguishes "this page has no HDR" from "it has AV1 and HDR, but never in the same format".

A selection is either:

  • preferred — criteria are dropped in a fixed order until something matches, and the relaxations are named; or
  • required — the download fails with a stable error instead of quietly substituting something else.

Why the choice survives the site changing

What is stored is the selection criteria, not the site's format id, and they are resolved again at download time — so a format the site renamed meanwhile falls back to an equivalent one instead of failing.

Only a section of a video

Only a section in the format selector downloads part of a video: From and To take a time as seconds, m:ss or h:mm:ss (90, 1:30, 1:02:03); leave From empty for the beginning or To empty for the end. The end must come after the start. The cut lands on the nearest keyframe, without re-encoding, so it may start a moment early. It needs ffmpeg; without it the field is shown but disabled.

Pauses between requests

Some sites refuse a client that asks too fast. yt-dlp can wait:

  • Pause between requests — seconds between the requests it makes while reading a page;
  • Pause before each download — seconds before a media download starts.

Both are set globally under Settings → Media → Media (0–600 seconds, 0 = no pause, the default). For one link, tick Own pauses for this link in the format selector and set Between requests and Before the download; left unticked, the settings apply. The quick look-up when a link arrives in the LinkGrabber never pauses.

Audio tracks and subtitles

Multiple audio tracks per file, selected by language, where the container permits them.

Subtitles can be a separate file, embedded in the container, or both, optionally converted to SRT, VTT or ASS.

Manual and auto-generated tracks are kept apart. Auto-generated ones are off by default and are only included when you pick them.

Container limits and missing languages are reported as warnings before queueing, not discovered afterwards.

Embedding metadata

Cover image, chapter markers, tag metadata and the description with its source URL can each be embedded individually.

A source URL carrying a signature or token is never written into the file, because the signature is a credential.

SponsorBlock

SponsorBlock segments can be marked as chapters or removed. Both are off by default and limited to sponsor segments unless you choose more categories.

Removing re-encodes the file, and the interface says so. Marking leaves the media untouched.

Private and age-restricted pages

An approved browser session can be attached per link, before it is queued. The safeguards:

  • Only cookies within the profile's scope are handed to yt-dlp; cookies for other domains are dropped. See Where a cookie may go.
  • The cookie file is created owner-only, carries no site name, and is removed when the download ends — whether it succeeded, failed or was cancelled.
  • A pinned profile that is disabled, expired or scoped to another site fails the download instead of silently fetching the public version of the page.
  • The LinkGrabber's online check uses the same profile as the download will: the one the link is pinned to, none when it is set to None, otherwise the approved profile for the site. A page that only shows itself to a signed-in visitor therefore passes the check once its cookies are there. A disabled or expired profile is never picked on its own.

See Security and privacy.

When a site wants its cookies

Some sites refuse yt-dlp unless it brings the cookies a browser collects on a visit — Bilibili's bot check, for instance, answers HTTP 412 Precondition Failed without them. Retrying would only provoke the check further, so rDownloader does not: the download goes to Blocked with The site refuses yt-dlp without its cookies (HTTP 412), followed by yt-dlp's own error line.

Give rDownloader the site's cookies in one of two ways:

  • An authentication profile — add the site's browser cookies as a browser-session profile under Settings → Accounts → Site logins (Authentication profiles). See Authentication profiles.
  • The browser extension — on the site, Share session for this site with rDownloader in the page's context menu sends the cookies your browser holds for it; the profile arrives disabled and is approved in the web interface. See Sharing a site's session.

Then resume the download. With Authentication in the download's details left at Automatic (by domain), it uses the approved profile for the site on its own; set to another profile or to None, switch it first.

When a site shows a video only when you are signed in

Facebook gives out a reel only to a signed-in visitor; without a session yt-dlp reports Cannot parse data and asks for a bug report, although nothing is broken. rDownloader reads that as what it is: the link or download goes to Blocked with This video on facebook is only shown to a signed-in session, without the request to report it, and is not retried every two minutes.

Hand over your Facebook session the same two ways as above — Share session for this site with rDownloader in the extension, or an authentication profile with the site's browser cookies — and check the link again or resume the download. If a profile was already in use, its cookies have probably expired: share the session again.

HLS and DASH manifests

Direct .m3u8 (HLS) and .mpd (MPEG-DASH) addresses are media sources too, recognised from the document, not the file extension.

  • Variants, alternate audio languages and subtitles feed the ordinary format selector.
  • A live manifest is routed to the recorder rather than the file downloader.
  • A manifest's credentials are not sent on to a CDN on another origin.
  • DRM-protected streams are detected and refused with a stated reason. Ordinary AES-128 encryption is not DRM and works.

Output templates

Arrange files with a template, globally under Settings → Media → Media or per link, with a live preview against the real metadata:

{uploader}/{upload_year}/{title}

The syntax is rDownloader's own, not yt-dlp's -o. These fields are available:

title · uploader · upload_date · upload_year · extractor · id · resolution · ext

Unknown fields are refused while you type. Absolute paths, drive letters and .. are refused, and every segment is sanitised like any file name.

Settings

Settings → Media, galleries & streams: yt-dlp and ffmpeg with the version and place each was found and a link to Tools › Custom paths, the default variant, the output template and the list of media hosts

Settings → Media → Media:

Setting Default
Default variant or full default criteria Best
Parallel media jobs 2 (1–8)
Probe timeout 60 seconds (5–600)
Host list ~50 presets, editable
Output template —
Pause between requests 0 seconds (0–600)
Pause before each download 0 seconds (0–600)

The paths to yt-dlp and ffmpeg are set with the other program paths under Settings → Tools → Paths; empty means the vendor folder, then PATH.

File names and paths are sanitised for the current platform and shortened to the permitted path lengths.

Which version of the tool you have matters

Settings → Tools → Status shows each tool's version and a verdict — Supported, Too old, Known bad or Version unknown — and, where a tool is behind, which capabilities that blocks; everything else keeps downloading. rDownloader can also download and update the tools itself, off unless you switch it on. Both are explained on External tools.

Switching media downloads off

Settings → Services → Media downloads. Matching links are refused at intake and anything queued moves to Blocked.

Related pages

Clone this wiki locally