MeTube: Add a Browser Download Panel to yt-dlp

A concise look at MeTube: a self-hosted Web panel around yt-dlp that supports video, audio, subtitles, playlists, channel subscriptions, and layered download options for NAS and home server users.

MeTube is a self-hosted project that gives yt-dlp a browser interface. Its value is straightforward: it moves a download workflow that normally requires commands, parameters, paths, and troubleshooting into a Web panel.

For people already familiar with yt-dlp, MeTube is not a replacement. It is a shell that is easier to use day to day and easier to share with others. For people who do not want to touch the command line, it reduces video downloading to “paste a link, choose a format, submit the task.”

What MeTube Is Good For

yt-dlp is powerful. It supports YouTube and many other video sites, and it can handle audio, subtitles, thumbnails, playlists, and format selection. But command-line tools still have clear friction points:

  • There are many parameters, and common settings often need to be memorized or saved as scripts;
  • Download paths, file names, and audio/video formats are easy to mistype;
  • It is hard to ask family members or a small team to learn the command line;
  • Channel subscriptions, batch downloads, and background queues are easier to manage through a Web panel.

MeTube brings these abilities into the browser. It still calls yt-dlp in the background, while the front end provides task submission, queue management, quality selection, and configuration entry points.

Three Download Scenarios

Common MeTube usage falls into three scenarios.

The first is single-video downloading. Paste the link, choose a video quality or audio-only mode, and submit the task. It can also handle subtitles, cover thumbnails, and other extra files.

The second is playlist and channel downloading. After you enter a playlist or channel link, MeTube fetches the item list. You can pick specific entries or add everything to the queue. This is useful for archiving courses, podcasts, open classes, or video reference material.

The third is automatic subscription downloading. After subscribing to a channel or playlist, MeTube checks for new content at a configured interval and adds updates to the download queue automatically. The default interval is 60 minutes, and you can adjust it based on server load and update frequency.

Docker Deployment

The simplest deployment method is Docker:

1
docker run -d -p 8081:8081 -v /path/to/downloads:/downloads ghcr.io/alexta69/metube

This command maps the container’s 8081 port to the host and mounts the host download directory to /downloads inside the container. If you already use Docker on a NAS or home server, you can switch to docker-compose and manage it together with reverse proxy, storage, and permission settings.

Managing yt-dlp Options

MeTube manages yt-dlp options in three layers, from stable defaults to temporary overrides.

The first layer is global configuration. You can use YTDL_OPTIONS to define default behavior for all download tasks, or point it to a JSON file. When the file changes, it can be reloaded automatically without restarting the container.

The second layer is presets. A preset is a named option bundle, such as “embed subtitles,” “skip SponsorBlock segments,” “limit download speed,” or “audio only.” You select presets from the interface when downloading, and multiple presets can be combined.

The third layer is per-task overrides. For temporary needs, you can enter JSON override options directly in the interface. This layer has the highest priority. The feature is disabled by default, and you should think through permissions before enabling it because it lets users pass arbitrary yt-dlp options into the container.

The priority is simple: per-task overrides beat presets, and presets beat global configuration.

File Naming and Directories

MeTube inherits the file name template capability from yt-dlp. Common settings include:

  • OUTPUT_TEMPLATE: controls file names for single videos;
  • OUTPUT_TEMPLATE_PLAYLIST: controls playlist downloads, usually grouped by playlist name;
  • OUTPUT_TEMPLATE_CHANNEL: controls channel downloads, usually grouped by channel name;
  • AUDIO_DOWNLOAD_DIR: stores audio files in a separate directory.

If you download a lot, you can place the temporary directory on an SSD to speed up merging and transcoding. You can also use tmpfs, but memory-backed storage may affect resume support, so it is better suited to short tasks than long large-file downloads.

MeTube also supports custom directories. Once enabled, the download interface shows a directory selector, and entering a new directory name creates and saves files there. For NAS users, this is more convenient than typing paths by hand and makes it harder to scatter files everywhere.

Browser Extensions and Integrations

MeTube is not limited to opening the panel and pasting links. It has Chrome and Firefox extensions that let you send a video page to MeTube from the right-click menu. iOS users can submit links from Safari through Shortcuts. Bookmark scripts can also send the current page address from almost any webpage.

If you use browser extensions, you need to handle CORS and HTTPS properly. A common setup is to put Nginx, Caddy, or Apache in front of MeTube as a reverse proxy, expose HTTPS externally, and complete the cross-origin configuration there.

Who It Is For

MeTube is best suited to these scenarios:

  • You have a NAS, home server, or long-running Docker host;
  • You want a unified video download entry point;
  • You need to automatically archive YouTube channels or playlists;
  • You find the yt-dlp command line too tedious but still want its capabilities;
  • You want to give family members, colleagues, or a small team a download interface that does not require learning commands.

It is less suitable for someone who only downloads a single video once in a while. In that case, a command line, desktop tool, or temporary script may be lighter. MeTube’s advantage is long-running service, queue management, subscription checks, and a unified entry point.

Boundaries to Keep in Mind

First, MeTube is only Web-based management for yt-dlp. Its download capability still depends on yt-dlp itself. Site rule changes, login requirements, regional restrictions, and unavailable formats ultimately come back to yt-dlp support.

Second, consider permissions before opening it to multiple users. Per-task overrides, custom directories, and public access can all introduce misuse or security risks. A steadier approach is to keep it on the LAN; if public access is needed, add a reverse proxy, authentication, and access restrictions.

Third, plan download directories in advance. Playlists, channels, audio files, and temporary files should be separated, otherwise the directory will become messy very quickly.

Conclusion

MeTube has a clear role: it is not a new download engine, but a way to turn yt-dlp into a long-running Web download center. For NAS users, home servers, and people who need to archive video material in batches, it is steadier than typing commands every time and easier to hand off to others.

If you already use Docker and often need to download video, audio, subtitles, or channel content, MeTube is worth trying as a resident tool.

Reference: Original Zhihu column

记录并分享
Built with Hugo
Theme Stack designed by Jimmy