MediaDocks

Under the hood

How MediaDocks works

Four stages sit between pasting a link and saving a file: validation, format enumeration, muxing, and ephemeral streaming. This page walks through each one, then covers the AI transcription pipeline, where to copy a link in every supported app, and what each error message means.

The pipeline

From a pasted URL to a file on your disk

Written out in order, including the parts that explain why some downloads are instant and others make you wait.

Stage 01

Validating the link before anything is fetched

The first thing that happens to a pasted URL is that it gets taken apart rather than trusted. The string is length-checked, parsed into a real URL object, and matched against the set of hosts the service knows how to handle. A URL that does not parse, or that points somewhere unexpected, is rejected at this boundary before a single outbound byte is sent.

Short links need an extra step. A youtu.be, pin.it or fb.watch address does not contain the identifier the extractor needs, so it has to be followed to its destination. Those redirects are followed deliberately rather than blindly: each hop is re-validated against the same host allow-list, which stops a short link from being used to point the server at an address it would never accept directly.

Only once the final URL is known and permitted does the extractor run. This ordering matters more than it sounds — a media service that fetches first and validates second is a server-side request forgery waiting to happen.

Stage 02

Reading the real format ladder

With a validated URL, the extractor queries the platform for the renditions it publishes for that one item. What comes back is a list of concrete streams, each with its own container, codec, resolution, bitrate and file size. That list is what you see in the format picker — it is read from the source, not generated from a template.

This is why two links from the same platform can offer different choices. A clip uploaded at 720p exposes no 1080p rendition, so none is listed. Showing one anyway would mean upscaling: a larger file carrying exactly the same detail, which is a worse outcome dressed up as a better one.

Metadata arrives in the same pass — title, creator, duration and thumbnail — which is why the result card can show you what you are about to download before you commit to it. Duration is also where a source longer than the one-hour extraction ceiling gets caught and reported early, rather than after you have waited through a doomed transfer.

Stage 03

Muxing: why high resolutions cost more time

Below roughly 360p, most platforms still serve a progressive file — one container holding both picture and sound. Those downloads are close to a straight pass-through, which is why they feel instant.

Above that, the model changes. YouTube and several others adopt DASH, publishing video and audio as entirely separate streams so a player can switch quality on the fly without re-buffering the soundtrack. It is an excellent design for streaming and an inconvenient one for downloading, because neither stream on its own is a usable file: the video track is silent and the audio track has no picture.

To hand you one playable file, the server fetches both streams and muxes them — interleaving the two into a single MP4 container using FFmpeg. Muxing is not re-encoding. The compressed frames are copied across untouched, so there is no generational quality loss; only the wrapper changes. What it does cost is time, because a meaningful portion of both streams has to be on hand before output can begin. A ten-minute 1080p video typically takes about two minutes end to end, and that gap between picking 1080p and seeing the save dialog is almost entirely this step.

Audio-only requests skip the video stream altogether. That is why extracting an MP3 from a long video finishes far quicker than any video rung — there is simply far less to move. MP3 output is the one place a genuine re-encode happens, and the available bitrates are capped at whatever the source track actually carries, because transcoding 128 kbps up to 320 kbps produces a bigger file and not one extra decibel of detail.

Stage 04

Streaming out, then deleting

Output is piped to your browser as it is produced rather than assembled into a finished file and then served. The practical effect is that the download starts moving as soon as there is something to send, and the server never needs to hold a complete copy of your media.

Whatever temporary working files the muxer needed live in a directory scoped to that single request, and that directory is removed when the request ends — on the error path as well as the success path. There is no media library, no cache of completed downloads and no archive to browse, which is the whole reason the privacy claim on this site is a structural fact rather than a promise.

The descriptor produced when a link resolves is valid for thirty minutes. After that it expires and the URL has to be pasted again. A short window is what makes it safe to keep nothing: there is no long-lived handle pointing at anything.

Speech to text

How the transcription side works

The AI tools take a file rather than a link, so they run a different pipeline. Limits are 100 MB and two hours per upload.

  1. 1

    Normalise the audio

    Whatever you upload is decoded and resampled to 16 kHz mono. Speech models are trained at that rate, and stereo carries no information a transcriber can use, so this step shrinks the payload substantially without costing accuracy.

  2. 2

    Split into chunks

    Long recordings are cut into sequential segments small enough to fit the model's context. This is why a two-hour lecture spends a while in a processing state — it is being handled piece by piece, not in one shot.

  3. 3

    Transcribe and stitch

    Each segment is sent for recognition, then the returned text is reassembled in order. Language is detected automatically rather than being something you have to declare up front.

  4. 4

    Time-align for subtitles

    When you ask for subtitles, the recognised words are paired with their timings and written as cues, then emitted as SRT for editors and social platforms or WebVTT for the browser's native track element.

Accuracy is strong on clear single-speaker audio and degrades with background music, crosstalk and heavy reverb. Treat a transcript as a solid first draft — the full guide to how speech recognition works explains where the remaining errors come from and why.

Technical Capabilities

Verified outputs & format studio

Explore live calculated file sizes, bitrates, codecs, and verified platform capabilities.

Interactive Format & Bandwidth Estimator

Simulate bitrate parameters and expected file size based on content duration.

Estimated Payload72 MB
Est. Stream Time~4s @ 20MB/s
4 min
30s Reel5m Video15m Show60m Podcast

Per-Platform Extraction Matrix

PlatformAvailable Output FormatsExtraction Protocol & Notes
YouTube144p → 4K MP4 · M4A · MP3Full resolution ladder plus audio-only MP3 and M4A.
InstagramReel MP4 · MP3 · JPEGPublic reels as MP4 with audio, and post images.
XMP4 renditions · MP3 · JPEGPost videos at every published rendition, and photos.
PinterestJPEG / PNG · video Pin MP4Pin images at published size, and video Pins.
FacebookMP4 · MP3Public videos and reels as MP4, when not behind a login.
500 MB

Maximum Single Payload

Ample headroom for ~60 minutes at 1080p Full HD. Larger sources resolve at slightly lower rungs.

30 min

Stream Token Lifetime

Resolved stream links expire after 30 minutes to preserve origin token freshness and security.

0 bytes

Persistent Server Retention

Ephemeral in-memory streaming pipelines. Zero user files or media archives reside on disk.

Interactive Troubleshooting

Instant diagnostic & fix finder

Search any symptom or error message to get the exact reason and instant resolution.

This link has expired

Why this happens: A resolved link is only valid for 30 minutes, so zero residual data lingers on the server.

Paste the same URL again to generate a fresh stream descriptor.

Only 360p / 720p is offered on a video you know is 4K / HD

Why this happens: Higher resolutions arrive as separate video and audio streams that must be combined on demand.

Pick the highest offered rung or check back in a moment while the stream indexes.

This content is private or unavailable

Why this happens: The post is behind a login, restricted to private followers/friends, age-gated, or has been removed.

Ensure the content is publicly visible without logging into an account.

This file is larger than the limit (500 MB)

Why this happens: Single downloads are capped at 500 MB to keep the streaming pipeline ultra-fast for everyone.

Pick a lower resolution (e.g. 1080p instead of 4K), or download the audio MP3 track.

The download sits at 'Preparing' for a while

Why this happens: Video and audio streams are being fetched, muxed, and buffered before sending to your browser.

Give it 15-60 seconds for long HD videos. Lower rungs and audio download almost instantly.

Please wait a moment and try again

Why this happens: A light rate limit allows up to 5 concurrent downloads per minute per visitor.

Wait about 45 seconds, then resume your downloads.

Instant & Watermark-Free

Got a link? That is the entire setup.

No account required, no software installation, no hidden limits. Paste a public media link and pick the resolution you want.