<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>视频下载 on KnightLi的博客</title>
        <link>https://knightli.com/tags/%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD/</link>
        <description>Recent content in 视频下载 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Wed, 10 Jun 2026 21:47:35 +0800</lastBuildDate><atom:link href="https://knightli.com/tags/%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>MeTube：给 yt-dlp 加一个浏览器下载面板</title>
        <link>https://knightli.com/2026/06/10/metube-yt-dlp-web-ui/</link>
        <pubDate>Wed, 10 Jun 2026 21:47:35 +0800</pubDate>
        
        <guid>https://knightli.com/2026/06/10/metube-yt-dlp-web-ui/</guid>
        <description>&lt;p&gt;MeTube 是一个给 &lt;code&gt;yt-dlp&lt;/code&gt; 做浏览器界面的自托管项目。它的价值很直接：把原本需要敲命令、记参数、处理路径和排错的下载流程，放到一个 Web 面板里完成。&lt;/p&gt;
&lt;p&gt;对已经熟悉 &lt;code&gt;yt-dlp&lt;/code&gt; 的人来说，MeTube 不是替代品，而是一个更适合日常使用和多人共用的外壳。对不想碰命令行的人来说，它把视频下载这件事降到了“粘贴链接、选择格式、提交任务”的复杂度。&lt;/p&gt;
&lt;h2 id=&#34;metube-适合解决什么问题&#34;&gt;MeTube 适合解决什么问题
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;yt-dlp&lt;/code&gt; 本身很强，支持 YouTube 和大量视频网站，也能处理音频、字幕、封面、播放列表和格式选择。但命令行工具的门槛也明显：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;参数多，常用配置需要记忆或保存脚本；&lt;/li&gt;
&lt;li&gt;下载路径、文件命名、音视频格式容易写错；&lt;/li&gt;
&lt;li&gt;给家人或团队使用时，很难要求每个人都学命令；&lt;/li&gt;
&lt;li&gt;订阅频道、批量下载、后台队列更适合用 Web 面板管理。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;MeTube 做的就是把这些能力集中到浏览器里。它背后仍然调用 &lt;code&gt;yt-dlp&lt;/code&gt;，前台则提供任务提交、队列管理、质量选择和配置入口。&lt;/p&gt;
&lt;h2 id=&#34;三类下载场景&#34;&gt;三类下载场景
&lt;/h2&gt;&lt;p&gt;MeTube 的常见用法可以分成三类。&lt;/p&gt;
&lt;p&gt;第一类是单个视频下载。把链接粘进去，选择视频质量或仅下载音频，再提交任务即可。它也可以同时处理字幕、封面缩略图等附加内容。&lt;/p&gt;
&lt;p&gt;第二类是播放列表和频道下载。输入播放列表或频道链接后，MeTube 会拉取条目列表，用户可以选择部分下载，也可以批量加入队列。这个场景很适合做课程、播客、公开课或视频资料归档。&lt;/p&gt;
&lt;p&gt;第三类是订阅自动下载。订阅某个频道或播放列表后，MeTube 会按设定间隔检查新内容，发现更新后自动加入下载队列。默认检查间隔是 60 分钟，也可以按自己的服务器负载和更新频率调整。&lt;/p&gt;
&lt;h2 id=&#34;docker-部署&#34;&gt;Docker 部署
&lt;/h2&gt;&lt;p&gt;最简单的部署方式是 Docker：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d -p 8081:8081 -v /path/to/downloads:/downloads ghcr.io/alexta69/metube
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这条命令做了两件事：把容器的 &lt;code&gt;8081&lt;/code&gt; 端口映射到主机，把主机下载目录挂载到容器内的 &lt;code&gt;/downloads&lt;/code&gt;。如果已经在 NAS 或家用服务器上使用 Docker，也可以改成 &lt;code&gt;docker-compose&lt;/code&gt;，方便和反向代理、存储目录、权限配置一起维护。&lt;/p&gt;
&lt;h2 id=&#34;yt-dlp-参数怎么管理&#34;&gt;yt-dlp 参数怎么管理
&lt;/h2&gt;&lt;p&gt;MeTube 对 &lt;code&gt;yt-dlp&lt;/code&gt; 参数的管理分成三层，从稳定默认值到临时覆盖逐级增强。&lt;/p&gt;
&lt;p&gt;第一层是全局配置。可以通过 &lt;code&gt;YTDL_OPTIONS&lt;/code&gt; 设置所有下载任务的默认行为，也可以指向一个 JSON 文件。文件更新后可以自动重载，不必每次都重启容器。&lt;/p&gt;
&lt;p&gt;第二层是预设。预设可以理解为命名的参数包，例如“嵌入字幕”“跳过 SponsorBlock 片段”“限速下载”“只取音频”。下载时在界面里选择对应预设即可，也可以组合多个预设。&lt;/p&gt;
&lt;p&gt;第三层是单次覆盖。临时任务可以在界面里输入 JSON 覆盖参数，它的优先级最高。这个功能默认关闭，开启前要考虑权限边界，因为它允许用户向容器内传入任意 &lt;code&gt;yt-dlp&lt;/code&gt; 选项。&lt;/p&gt;
&lt;p&gt;三层优先级可以简单记成：单次覆盖高于预设，预设高于全局配置。&lt;/p&gt;
&lt;h2 id=&#34;文件命名和目录&#34;&gt;文件命名和目录
&lt;/h2&gt;&lt;p&gt;MeTube 继承了 &lt;code&gt;yt-dlp&lt;/code&gt; 的文件名模板能力。常见配置包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;OUTPUT_TEMPLATE&lt;/code&gt;：控制单个视频的命名；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OUTPUT_TEMPLATE_PLAYLIST&lt;/code&gt;：控制播放列表下载，默认按列表名分目录；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OUTPUT_TEMPLATE_CHANNEL&lt;/code&gt;：控制频道下载，默认按频道名分目录；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AUDIO_DOWNLOAD_DIR&lt;/code&gt;：把音频文件单独放到指定目录。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果下载量较大，可以把临时目录放到 SSD，提高合并和转码过程的速度。也可以使用 &lt;code&gt;tmpfs&lt;/code&gt;，但要注意内存文件系统可能影响断点续传，适合短任务，不适合长时间大文件下载。&lt;/p&gt;
&lt;p&gt;MeTube 还支持自定义目录。开启后，下载界面会出现目录选择器，输入新目录名即可创建并保存到对应位置。对 NAS 用户来说，这比每次手写路径更方便，也更不容易把文件扔乱。&lt;/p&gt;
&lt;h2 id=&#34;浏览器扩展和外部集成&#34;&gt;浏览器扩展和外部集成
&lt;/h2&gt;&lt;p&gt;MeTube 不只局限于打开面板粘贴链接。它有 Chrome、Firefox 扩展，可以在视频页面右键发送到 MeTube；iOS 用户可以通过快捷指令从 Safari 分享菜单提交链接；也可以用书签脚本在任意网页一键发送当前地址。&lt;/p&gt;
&lt;p&gt;如果使用浏览器扩展，需要处理好 CORS 和 HTTPS。常见做法是在 MeTube 前面放一层 Nginx、Caddy 或 Apache 反向代理，让外部访问走 HTTPS，同时把跨域配置补齐。&lt;/p&gt;
&lt;h2 id=&#34;适合谁用&#34;&gt;适合谁用
&lt;/h2&gt;&lt;p&gt;MeTube 最适合这些场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有 NAS、家用服务器或长期运行的 Docker 主机；&lt;/li&gt;
&lt;li&gt;想搭一个统一的视频下载入口；&lt;/li&gt;
&lt;li&gt;需要自动归档 YouTube 频道或播放列表；&lt;/li&gt;
&lt;li&gt;觉得 &lt;code&gt;yt-dlp&lt;/code&gt; 命令行太繁琐，但又想保留它的能力；&lt;/li&gt;
&lt;li&gt;想给家人、同事或小团队提供一个不用学命令的下载界面。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它不太适合只偶尔下载一个视频的人。那种场景直接用命令行、桌面工具或临时脚本可能更轻。MeTube 的优势在于长期运行、队列管理、订阅检查和统一入口。&lt;/p&gt;
&lt;h2 id=&#34;使用时要注意的边界&#34;&gt;使用时要注意的边界
&lt;/h2&gt;&lt;p&gt;第一，MeTube 只是给 &lt;code&gt;yt-dlp&lt;/code&gt; 做 Web 化管理，下载能力仍然取决于 &lt;code&gt;yt-dlp&lt;/code&gt; 本身。目标网站规则变化、登录限制、地区限制、格式不可用等问题，最终还是要回到 &lt;code&gt;yt-dlp&lt;/code&gt; 的支持情况。&lt;/p&gt;
&lt;p&gt;第二，开放给多人使用前要考虑权限。尤其是单次覆盖参数、自定义目录和公网访问，都可能带来误操作或安全风险。更稳妥的做法是放在内网使用，公网访问时加反向代理、登录认证和访问限制。&lt;/p&gt;
&lt;p&gt;第三，下载目录要提前规划。播放列表、频道、音频、临时文件最好分开，不然用一段时间后文件会很快混在一起。&lt;/p&gt;
&lt;h2 id=&#34;结论&#34;&gt;结论
&lt;/h2&gt;&lt;p&gt;MeTube 的定位很清楚：它不是另一个全新下载引擎，而是把 &lt;code&gt;yt-dlp&lt;/code&gt; 变成一个适合长期运行的 Web 下载中心。对 NAS、家用服务器和需要批量归档视频资料的人来说，这比每次手敲命令更稳定，也更容易交给别人使用。&lt;/p&gt;
&lt;p&gt;如果你已经在用 Docker，又经常需要下载视频、音频、字幕或频道内容，MeTube 值得作为常驻工具试一下。&lt;/p&gt;
&lt;p&gt;参考来源：&lt;a class=&#34;link&#34; href=&#34;https://zhuanlan.zhihu.com/p/2045898393927603329?share_code=Y0OaTnUufqSR&amp;amp;utm_psn=2046579775909765249&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;知乎专栏原文&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
