MeTube:給 yt-dlp 加一個瀏覽器下載面板

整理 MeTube 的核心用法:它把 yt-dlp 封裝成自託管 Web 面板,支援影片、音訊、字幕、播放清單、頻道訂閱和多層下載參數配置,適合 NAS 或家用伺服器使用者搭建統一下載入口。

MeTube 是一個給 yt-dlp 做瀏覽器介面的自託管專案。它的價值很直接:把原本需要敲命令、記參數、處理路徑和排錯的下載流程,放到一個 Web 面板裡完成。

對已經熟悉 yt-dlp 的人來說,MeTube 不是替代品,而是一個更適合日常使用和多人共用的外殼。對不想碰命令列的人來說,它把影片下載這件事降到了「貼上連結、選擇格式、提交任務」的複雜度。

MeTube 適合解決什麼問題

yt-dlp 本身很強,支援 YouTube 和大量影片網站,也能處理音訊、字幕、封面、播放清單和格式選擇。但命令列工具的門檻也明顯:

  • 參數多,常用配置需要記憶或保存腳本;
  • 下載路徑、檔案命名、音影片格式容易寫錯;
  • 給家人或團隊使用時,很難要求每個人都學命令;
  • 訂閱頻道、批次下載、背景佇列更適合用 Web 面板管理。

MeTube 做的就是把這些能力集中到瀏覽器裡。它背後仍然呼叫 yt-dlp,前台則提供任務提交、佇列管理、品質選擇和配置入口。

三類下載場景

MeTube 的常見用法可以分成三類。

第一類是單一影片下載。把連結貼進去,選擇影片品質或僅下載音訊,再提交任務即可。它也可以同時處理字幕、封面縮圖等附加內容。

第二類是播放清單和頻道下載。輸入播放清單或頻道連結後,MeTube 會拉取條目列表,使用者可以選擇部分下載,也可以批次加入佇列。這個場景很適合做課程、Podcast、公開課或影片資料歸檔。

第三類是訂閱自動下載。訂閱某個頻道或播放清單後,MeTube 會按設定間隔檢查新內容,發現更新後自動加入下載佇列。預設檢查間隔是 60 分鐘,也可以按自己的伺服器負載和更新頻率調整。

Docker 部署

最簡單的部署方式是 Docker:

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

這條命令做了兩件事:把容器的 8081 連接埠映射到主機,把主機下載目錄掛載到容器內的 /downloads。如果已經在 NAS 或家用伺服器上使用 Docker,也可以改成 docker-compose,方便和反向代理、儲存目錄、權限配置一起維護。

yt-dlp 參數怎麼管理

MeTube 對 yt-dlp 參數的管理分成三層,從穩定預設值到臨時覆蓋逐級增強。

第一層是全域配置。可以透過 YTDL_OPTIONS 設定所有下載任務的預設行為,也可以指向一個 JSON 檔案。檔案更新後可以自動重新載入,不必每次都重啟容器。

第二層是預設。預設可以理解為命名的參數包,例如「嵌入字幕」「跳過 SponsorBlock 片段」「限速下載」「只取音訊」。下載時在介面裡選擇對應預設即可,也可以組合多個預設。

第三層是單次覆蓋。臨時任務可以在介面裡輸入 JSON 覆蓋參數,它的優先級最高。這個功能預設關閉,開啟前要考慮權限邊界,因為它允許使用者向容器內傳入任意 yt-dlp 選項。

三層優先級可以簡單記成:單次覆蓋高於預設,預設高於全域配置。

檔案命名和目錄

MeTube 繼承了 yt-dlp 的檔案名稱模板能力。常見配置包括:

  • OUTPUT_TEMPLATE:控制單一影片的命名;
  • OUTPUT_TEMPLATE_PLAYLIST:控制播放清單下載,預設按清單名分目錄;
  • OUTPUT_TEMPLATE_CHANNEL:控制頻道下載,預設按頻道名分目錄;
  • AUDIO_DOWNLOAD_DIR:把音訊檔案單獨放到指定目錄。

如果下載量較大,可以把臨時目錄放到 SSD,提高合併和轉碼過程的速度。也可以使用 tmpfs,但要注意記憶體檔案系統可能影響斷點續傳,適合短任務,不適合長時間大檔案下載。

MeTube 還支援自訂目錄。開啟後,下載介面會出現目錄選擇器,輸入新目錄名即可建立並保存到對應位置。對 NAS 使用者來說,這比每次手寫路徑更方便,也更不容易把檔案放亂。

瀏覽器擴充功能和外部整合

MeTube 不只局限於打開面板貼上連結。它有 Chrome 和 Firefox 擴充功能,可以在影片頁面右鍵發送到 MeTube;iOS 使用者可以透過快捷指令從 Safari 分享選單提交連結;也可以用書籤腳本在任意網頁一鍵發送目前網址。

如果使用瀏覽器擴充功能,需要處理好 CORS 和 HTTPS。常見做法是在 MeTube 前面放一層 Nginx、Caddy 或 Apache 反向代理,讓外部訪問走 HTTPS,同時把跨域配置補齊。

適合誰用

MeTube 最適合這些場景:

  • 有 NAS、家用伺服器或長期運行的 Docker 主機;
  • 想搭一個統一的影片下載入口;
  • 需要自動歸檔 YouTube 頻道或播放清單;
  • 覺得 yt-dlp 命令列太繁瑣,但又想保留它的能力;
  • 想給家人、同事或小團隊提供一個不用學命令的下載介面。

它不太適合只偶爾下載一個影片的人。那種場景直接用命令列、桌面工具或臨時腳本可能更輕。MeTube 的優勢在於長期運行、佇列管理、訂閱檢查和統一入口。

使用時要注意的邊界

第一,MeTube 只是給 yt-dlp 做 Web 化管理,下載能力仍然取決於 yt-dlp 本身。目標網站規則變化、登入限制、地區限制、格式不可用等問題,最終還是要回到 yt-dlp 的支援情況。

第二,開放給多人使用前要考慮權限。尤其是單次覆蓋參數、自訂目錄和公開網路訪問,都可能帶來誤操作或安全風險。更穩妥的做法是放在內網使用,公開訪問時加反向代理、登入驗證和訪問限制。

第三,下載目錄要提前規劃。播放清單、頻道、音訊、臨時檔案最好分開,不然用一段時間後檔案會很快混在一起。

結論

MeTube 的定位很清楚:它不是另一個全新下載引擎,而是把 yt-dlp 變成一個適合長期運行的 Web 下載中心。對 NAS、家用伺服器和需要批次歸檔影片資料的人來說,這比每次手敲命令更穩定,也更容易交給別人使用。

如果你已經在用 Docker,又經常需要下載影片、音訊、字幕或頻道內容,MeTube 值得作為常駐工具試一下。

參考來源:知乎專欄原文

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計