Video/Formats/Technology
Why Is Your Video Download So Slow? Causes and Practical Fixes

You choose a video, start the download, and then watch the progress crawl.
Sometimes the problem really is your internet connection. But that is only one possibility.
A slow video download can also be caused by the size of the file, Wi-Fi conditions, mobile-data congestion, network routing, the original source server, rate limiting, or the download service itself.
With a server-based downloader such as MediaFetches, there is another important factor: the transfer can involve more than one network connection.
The basic path looks like this:
Your device → your network → MediaFetches → original source
So before changing DNS settings, switching browsers, or repeatedly restarting the same download, it is worth finding out where the slowdown is actually happening.
What Download Speed Actually Means
Download speed describes how quickly data is transferred to you.
You will commonly see it measured in Mbps or MB/s.
They are not the same unit.
Mbps vs MB/s
The lowercase b means bits.
The uppercase B means bytes.
There are 8 bits in 1 byte.
So:
8 Mbps = approximately 1 MB/s
Likewise:
100 Mbps = approximately 12.5 MB/s
That 100 Mbps figure is a simple decimal conversion, not a guarantee that every download will actually run at 12.5 MB/s.
Real-world throughput can be lower because the complete network path has its own limits, including congestion, latency, packet loss, server capacity, protocol behavior, and competing traffic. The IETF's work on throughput measurement specifically emphasizes measuring end-to-end throughput rather than assuming that a nominal bandwidth figure represents the user's actual experience.
Why Your Internet Plan Is Not a Guaranteed Download Rate
Suppose your internet package is advertised as 100 Mbps.
That tells you something about the connection's available capacity under the provider's conditions. It does not mean every website or server will send you data at 100 Mbps.
If the remote server can only deliver 30 Mbps to your connection, the download cannot magically become 100 Mbps.
Likewise, if your Wi-Fi is performing poorly, other devices are consuming bandwidth, or the route between you and the service is congested, your actual transfer rate can be lower.
This is why a speed test and an individual download can produce very different results.
How File Size Affects Download Time
A larger file normally takes longer to transfer at the same sustained download rate.
This is simple physics.
If one video contains twice as much data as another and both transfers maintain the same average throughput, the larger file takes roughly twice as long.
For example, imagine a video is approximately 600 MB and your actual transfer rate is around 10 MB/s.
A simple estimate is:
600 MB ÷ 10 MB/s = about 60 seconds
That is an illustrative calculation, not a guaranteed completion time.
Real downloads also have connection setup, protocol overhead, changing throughput, server-side behavior, and other conditions.
Why Higher Quality Often Takes Longer
Higher-quality video options frequently contain more data.
A 4K version may therefore take much longer to download than a 720p version of the same video.
But resolution alone does not determine file size.
Duration, codec, bitrate, audio, frame rate, and the source's actual encoding all matter.
This is why it is better to compare the actual or estimated file size of the available options rather than assuming that "1080p always equals a particular number of megabytes."
For users trying to manage large downloads, this connects directly with the practical file-size decisions discussed in our guide on reducing video file size.
The MediaFetches Download Path
MediaFetches is a server-based downloader.
That means the process is different from downloading a file directly from the original website.
A simplified path is:
You → MediaFetches → Source
There can therefore be several independent bottlenecks.
Your Device and Network
Your phone, laptop, browser, Wi-Fi connection, mobile connection, router, ISP, and network route can all influence how quickly data reaches you.
The MediaFetches Server
MediaFetches has to retrieve and prepare the requested media before delivering the finished result.
If the service is handling several expensive download jobs at once, some requests can wait for an available download slot.
The Original Source Server
MediaFetches also depends on the source platform being able to provide the media.
If the original source is slow, congested, temporarily limiting traffic, or otherwise delivering the media slowly, MediaFetches cannot create bandwidth that the source does not provide.
This is the central idea to remember:
A slow video download does not automatically mean your internet is slow.
Why a Video Download Can Be Slow
There are several common possibilities.
1. Your Internet Connection Is Slow
The simplest explanation is sometimes the correct one.
If normal downloads and other network activity are also slow, your own connection becomes a strong suspect.
Run a speed test and compare the result with what you normally expect from your connection.
Do not compare your advertised Mbps directly with a download application's MB/s number without converting the units first.
2. Wi-Fi Is Limiting the Connection
Your internet plan can be fast while the Wi-Fi connection between your device and router is poor.
Possible factors include:
- Distance from the router
- Walls or obstacles
- Wireless interference
- Other devices using the same network
- Router limitations
- Temporary wireless instability
The useful test is simple: compare the download under a different network condition if possible.
For example, if the download is slow in one room but behaves normally when the device is closer to the router, the Wi-Fi link deserves attention.
You do not need to change complicated network settings immediately.
First determine whether the problem follows the Wi-Fi connection.
3. Mobile Data Conditions Are Poor
Mobile downloads can vary substantially depending on signal conditions and the network environment.
A strong connection at one location does not guarantee the same throughput somewhere else.
Apple's networking documentation notes that devices can move between Wi-Fi and cellular interfaces and that different networks have different characteristics. Android's networking documentation similarly emphasizes measuring and monitoring network traffic rather than assuming that connectivity alone tells you how well a transfer will perform.
If a large download is slow on mobile data, compare it with a stable Wi-Fi connection when practical.
4. Other Devices or Apps Are Using Bandwidth
Your download is sharing the available network capacity with other activity.
Examples include:
- Another large file download
- Cloud synchronization
- Operating-system updates
- Video streaming
- Game updates
- Multiple users on the same Wi-Fi connection
If several devices are transferring data simultaneously, your video download may receive less of the available capacity.
Before troubleshooting the downloader itself, pause obvious competing transfers and test again.
5. Network Latency or Routing Is Adding Delay
Latency is the time it takes for data to travel between network endpoints.
It is different from bandwidth.
A connection can have substantial bandwidth while still experiencing high latency or other path-quality problems.
MDN explains that latency can include DNS lookup, TCP connection setup, TLS negotiation, and the round-trip delay between client and server. The IETF also treats latency, packet loss, and throughput as related measurements when evaluating network quality.
For a large, sustained transfer, bandwidth and server delivery rate usually matter heavily. But poor network conditions can still affect how efficiently the connection operates.
6. The Source Server Is Slow
Sometimes your network is perfectly healthy.
The original source may simply be delivering the media slowly.
This can happen because of:
- Temporary server load
- Traffic congestion
- Source-side bandwidth limits
- Rate limiting
- Changes in the source platform
- Conditions affecting the particular media request
This is especially important with server-based downloaders.
If MediaFetches has to retrieve the source at a slow rate, the final download cannot necessarily be prepared and delivered instantly.
7. The Source Is Rate-Limiting Requests
Rate limiting is a deliberate restriction on how frequently or how quickly requests are handled.
The HTTP standard includes 429 Too Many Requests for situations where a client has sent too many requests in a given period. A server may also send a Retry-After value telling the client how long it should wait.
Source platforms can also have their own traffic-management behavior.
This does not mean you should try to bypass the restriction.
If a source is limiting traffic, repeatedly sending requests or attempting to evade the limit can make the situation worse.
A controlled retry later is more sensible.
8. MediaFetches Is Busy
The current MediaFetches project deliberately limits simultaneous download work.
By default, it allows 3 concurrent download processes.
It also has a bounded waiting queue with a default maximum of 20 queued jobs.
These are configuration defaults, not universal platform guarantees. They can be changed through environment configuration.
When all active download slots are occupied, a new job can wait for an available slot.
The MediaFetches job system exposes a queued state with the user-facing message:
"Waiting for a free slot…"
This is important because queue time is not download speed.
If your job is waiting for a slot, changing Wi-Fi settings will not make that particular queue wait disappear.
Once a slot is available, the job moves into preparation and then downloading.
If the queue itself is full, the project can return:
"The server is busy right now. Please try again in a minute."
That is a server-capacity condition rather than evidence that your home internet is slow.
9. The Selected Video Is Simply Large
A download can be working normally and still take a long time.
For example, a long 4K video can contain substantially more data than a short 720p clip.
The important question is therefore not simply:
"How many minutes has this download taken?"
Instead ask:
"How large is the file, and what sustained transfer rate am I actually getting?"
A large file at a healthy transfer rate can be perfectly normal.
10. Preparation Takes Time Before Transfer
MediaFetches does not always have a finished file ready immediately.
The current job lifecycle includes:
queuedpreparingdownloadingprocessingreadyfailedcancelled
The download job reports progress information including bytes, total bytes when available, speed, and estimated time remaining.
This means the visible experience can contain different kinds of waiting.
For example:
Queued: waiting for a server slot.
Preparing: the server is preparing the media.
Downloading: media is actively being retrieved.
Processing: the server is completing media processing.
Ready: the finished file is available to collect.
Do not judge network throughput from the entire time between clicking Download and receiving the final file.
The actual transfer phase is only one part of that process.
11. VPN or Proxy Routing Is Affecting the Path
A VPN changes the path traffic takes between your device and the destination.
That can improve or reduce performance depending on the situation.
A VPN can add latency because traffic may travel through an additional server or a less direct route. VPN server load and encryption processing can also affect performance. Cloudflare documents these performance trade-offs while also noting that a VPN can sometimes improve performance in specific situations, such as when a particular network path is being throttled.
So the correct advice is not:
"VPNs always make downloads slower."
And it is also not:
"A VPN will make downloads faster."
Instead, treat the VPN as one variable.
If you already use a VPN and the slowdown appears only while it is active, comparing the same download with and without the VPN can help identify whether the VPN path is involved.
Do not use a VPN to bypass source restrictions, rate limits, or access controls.
12. DNS Is Causing Connection Problems
DNS translates a hostname into an IP address.
A DNS problem can delay or prevent the initial connection.
Node.js documents ENOTFOUND as a DNS lookup failure, while ETIMEDOUT can indicate that a connection or send operation timed out.
But DNS needs to be understood correctly.
Changing DNS is not a universal download-speed booster.
If the download is already connected and transferring data steadily, changing DNS does not magically create more bandwidth.
DNS is more relevant when:
- A hostname cannot be resolved
- Connection setup is unusually slow
- One resolver is having trouble
- The wrong endpoint or route is being selected
Treat DNS as a connectivity diagnostic, not a magic speed setting.
Why a Download Can Start Fast and Then Slow Down
This is one of the most confusing symptoms.
You may see:
10 MB/s → 8 MB/s → 4 MB/s → 2 MB/s
That does not automatically mean something has broken.
Several things can cause a changing transfer rate.
Network conditions can change
Wi-Fi interference or mobile-network conditions can fluctuate.
Other traffic can appear
Another device may start streaming, syncing, or downloading.
The source may change its delivery rate
The source server may become busier or apply traffic controls.
The connection may encounter congestion
Network paths are shared infrastructure. Conditions can change while a transfer is running.
The displayed speed may be an instantaneous or short-term measurement
A progress interface may calculate speed over a recent interval rather than the entire download.
MediaFetches exposes speedBps and estimated remaining time while a job is downloading, so the displayed value can naturally change as conditions change.
The important number is the sustained average result over the whole transfer, not one brief peak.
How to Tell Whether Your Internet or the Server Is the Problem
You do not need complicated networking tools to get a useful first diagnosis.
Try to isolate the variables.
Test 1: Check Your Internet
Run a reputable internet speed test.
If the result is much lower than expected and other downloads are also slow, investigate your own network first.
Test 2: Check Another Large Download
Download a legitimate large file from another reliable service.
If everything is slow, the problem is more likely to be your connection, local network, ISP, or device.
If other downloads are fast but one MediaFetches job is slow, the problem may be farther along the path.
Test 3: Try a Different Source
If one source is consistently slow while another behaves normally, that is evidence that the problem may be source-specific.
It is not proof, because the two files may have different sizes and delivery characteristics, but it is a useful comparison.
Test 4: Compare Another Quality
If a source offers several quality levels, compare the estimated file sizes.
A 720p option may contain substantially less data than a 1080p or 4K option.
This does not mean lower quality is always the correct choice. It simply lets you determine whether the extra data is worth the additional transfer time.
Test 5: Check MediaFetches Queue Status
If the job reports that it is waiting for a free slot, the issue is not your internet speed at that moment.
The server is waiting for capacity.
Once the job begins downloading, its reported speed becomes more useful for diagnosing the transfer itself.
Test 6: Compare at Another Time
If the same source is fast at one time and slow at another, temporary congestion or server-side conditions become more plausible.
Do not repeatedly hammer the same request.
Make one controlled comparison later.
A Simple Diagnostic Flow
Use this order instead of changing ten settings at once.
Step 1: Check the file size
A large file naturally takes longer.
Step 2: Check your actual network speed
Remember that Mbps and MB/s are different units.
Step 3: Pause competing downloads
Remove obvious bandwidth competition.
Step 4: Check Wi-Fi or mobile conditions
Try a more stable connection if available.
Step 5: Test another legitimate large download
This helps determine whether the problem is general or service-specific.
Step 6: Try another source
If only one source is slow, the source may be contributing to the problem.
Step 7: Look at MediaFetches job state
If it is queued, you are waiting for server capacity rather than transferring data.
Step 8: Check the selected quality
A much larger file will naturally require more transfer time.
Step 9: Consider VPN/proxy involvement
If you use one, compare the connection behavior with and without it when appropriate.
Step 10: Wait if the problem looks temporary
If the network and source both appear healthy but the service is temporarily slow, waiting can be more effective than repeatedly restarting the same request.
What MediaFetches Actually Does During a Download
The current MediaFetches implementation uses a job-based server-side download system.
The process is broadly:
- You submit a source URL and select a format.
- MediaFetches creates a download job.
- The job waits for a download slot if the concurrent limit is already reached.
- The server prepares the source.
- yt-dlp retrieves the requested media.
- Progress information is reported.
- If necessary, video and audio streams are combined.
- The finished file is stored temporarily.
- The file becomes available through the job's file endpoint.
- Your device retrieves the finished file.
The server's default configuration currently includes:
- 3 concurrent download processes
- 20 maximum queued jobs
- 30-minute job timeout
- 2 GB maximum output file
- 8 GB temporary-storage ceiling
- 30-minute default finished-file TTL
These values are configuration defaults, not immutable limits of the MediaFetches concept.
The job system also reports actual transfer speed and estimated remaining time when available.
MediaFetches Also Uses Source Download Settings
The current MediaFetches yt-dlp configuration uses:
- 15-second socket timeout
- 3 retries
- up to 8 concurrent fragments where the source format supports fragmented delivery
These are server-side implementation details, not guarantees that every source will download at a particular speed.
The number of concurrent fragments is not the same thing as giving every user eight times the download speed.
The source, network, server resources, and actual media format still determine the result.
yt-dlp itself exposes options for concurrent fragments, retries, rate limits, and fragment retries, which illustrates why download performance is affected by more than a user's nominal internet package.
What Happens After the Server Finishes Preparing the File?
The current MediaFetches job endpoint supports normal HTTP range requests for the finished file.
The response advertises:
Accept-Ranges: bytes
This matters for transfer reliability because HTTP range requests allow a client to request only part of an already available file.
MDN documents range requests as a mechanism used by download managers to pause and resume transfers.
There is an important distinction, however.
Range support for the finished file is not the same as resuming the server-side extraction from exactly where it stopped.
MediaFetches first prepares the file on the server. Once that finished file exists, the collection endpoint can serve byte ranges.
So do not interpret this as a promise that every interrupted source extraction will resume from the exact previous extraction point.
What You Can Safely Do to Improve a Slow Download
Start with the least complicated changes.
Use a stable network
If Wi-Fi is unstable, improve the connection or compare with another network.
Reduce competing traffic
Pause unnecessary large transfers.
Choose a suitable quality
If you do not need the highest available quality, a smaller source format may reduce the amount of data that has to move.
Avoid unnecessary VPN routing
If your VPN is causing a poor route, compare the same situation without it when appropriate.
Give temporary server conditions time
If a service or source is overloaded, there may be nothing useful you can change locally.
Avoid repeated rapid retries
Repeated requests can contribute to rate limiting and do not fix a bottleneck that is still present.
When Waiting Is the Correct Fix
Sometimes there is no setting you can change.
If:
- your internet is performing normally,
- other downloads are fast,
- your Wi-Fi is stable,
- the selected file is not unusually large,
- the MediaFetches queue is not overloaded,
- and the source is still delivering slowly,
then the remaining bottleneck may simply be outside your control.
The source may be busy.
The network path may be congested.
The service may be temporarily under load.
A rate limit may be active.
HTTP itself recognizes temporary service overload with 503 Service Unavailable, while 429 Too Many Requests represents rate limiting. In both situations, repeatedly forcing requests is not the appropriate solution; temporary conditions may require waiting.
Frequently Asked Questions
Why is my video download so slow when my internet is fast?
Your internet connection is only one part of the path.
The source server, MediaFetches server, routing conditions, queue, file size, and rate limiting can all affect the final result.
Is 100 Mbps equal to 100 MB/s?
No.
100 Mbps is approximately 12.5 MB/s under the simple decimal bit-to-byte conversion.
Real-world download throughput can be lower.
Why does a 4K video download take so long?
A 4K source may contain much more data than a lower-quality version.
Longer duration, bitrate, codec, audio, and source encoding also affect the actual file size.
Does lower video quality always download faster?
Not automatically, but a lower-quality option often contains less data.
The correct comparison is the actual or estimated size of the available source formats.
Why does my download start fast and then slow down?
Network conditions, source-server load, competing traffic, rate limiting, routing conditions, or changing throughput can cause the speed to fluctuate.
One fast initial burst does not guarantee that the same rate will continue for the entire file.
Can changing DNS make my download faster?
Sometimes DNS can affect connection setup or resolve a connectivity problem.
It is not a universal way to increase sustained download throughput.
If the transfer is already connected and receiving data normally, changing DNS is unlikely to create additional bandwidth.
Can a VPN make downloads slower?
It can.
A VPN may introduce additional routing distance, server load, or encryption overhead.
But it is not correct to say that every VPN always slows every download. The result depends on the particular VPN, route, destination, and network conditions.
Why does MediaFetches sometimes say "Waiting for a free slot"?
The current server has a default limit of three simultaneous download processes.
If those slots are occupied, additional jobs can wait in the queue.
The queue is a server-capacity mechanism, not an indication that your internet connection is slow.
Does MediaFetches guarantee a particular download speed?
No.
The project does not guarantee a fixed Mbps or MB/s rate.
Actual performance depends on the source, network path, server load, selected file, and other conditions.
Why is one video slow while another is fast?
The two videos may use different source servers, formats, file sizes, delivery methods, or network conditions.
A fast download from one source does not prove that every source will provide the same throughput.
Is a slow download always a problem?
No.
A large file can take a long time while downloading normally.
The better question is whether the transfer rate is reasonable relative to the file size and your actual network conditions.
Related MediaFetches guides
For related guidance, see stuck download troubleshooting and download restart troubleshooting.
Final Takeaway
A slow video download does not automatically mean your internet is slow.
The actual speed depends on the file size, your real network throughput, the MediaFetches server, the original source server, routing conditions, rate limiting, server queue, and the current state of the download.
When diagnosing a slow transfer, work from the simplest explanation outward:
Check the file size → check your real connection → remove competing traffic → compare another download → check the MediaFetches job state → compare another source → consider temporary server or network conditions.
Do not confuse Mbps with MB/s, and do not assume that changing DNS, VPN settings, browser settings, or other technical options will automatically make a slow source faster.
Sometimes the best solution is a better network.
Sometimes it is choosing a smaller available video.
Sometimes the MediaFetches server is waiting for capacity.
And sometimes the source itself is the bottleneck.
The important thing is to identify where the slowdown is happening before trying to fix it.


