PigeonPod 自架實測:YouTube 和 Bilibili 頻道變播客 RSS

PigeonPod 是把 YouTube 和 Bilibili 頻道轉成播客 RSS 的自架開源工具,Docker 實測約 9 秒起機、閒置記憶體約 452MiB。YouTube 路徑要自備 Google API 金鑰才動得了,Bilibili 免金鑰就能訂閱但會碰上平台風控,官方雲端版免費層只有 1 個訂閱額度。本文整理實測結果、自架與雲端版的差異,以及使用前該知道的幾條界線。

用 AI 摘要這篇文章:

把 YouTube 頻道變成播客 RSS 的自架工具這幾年出了不少,PigeonPod 是其中成長很快的一個:GPL-3.0 授權、GitHub 上超過一千一百顆星、官方提供 Docker 映像檔。我在自己的 Mac 上把容器完整跑起來測了一輪,先講最影響決策的發現:這個工具的兩條來源路徑,門檻完全不同。YouTube 頻道必須先準備 Google 的 API 金鑰才動得了;Bilibili 頻道不用任何金鑰,貼上頻道網址,頻道簡介和最新影片清單就直接列出來了。

容器本身出乎意料地輕:映像檔 1.01GB,從啟動到回應 HTTP 請求約 9 秒,閒置記憶體約 452MiB,一台 2GB 記憶體的小 VPS 就裝得動。真正要想清楚的是你要餵它什麼:Google API 金鑰的每日配額、存放音檔的硬碟空間,以及自己對平台條款邊界的拿捏。下面按照我實測的順序,把這些一項一項攤開。

先把機制講清楚:下載、轉檔、產生 RSS

PigeonPod 做的事情可以用一句話說完:你餵它一個 YouTube 頻道、播放清單、單支影片,或一個 Bilibili 的頻道網址,它用 yt-dlp 把影片抓下來轉成音檔(也可以保留影片),然後產生一個標準的播客 RSS 網址。你把這個網址貼進手機上的播客播放器,之後頻道有新影片,它自動下載、你的播放器自動出現新集數,整套流程就跟訂一般播客一模一樣。播放器端不需要任何特殊配合,常見的 RSS 播客播放器都能直接訂閱。

這個形態適合的情境很具體:通車、運動、做家事的時候,用耳朵追那些「其實不太需要看畫面」的頻道,例如談話性節目、新聞整理、知識型長影片。官方在文件裡也是這樣定位它:把螢幕優先的平台,接進聽覺優先的工作流程。訂閱的粒度也夠細:整個頻道、一張播放清單、或單獨一支影片都能訂,單支影片會被包成只有一集的自動播放清單。要搬家的時候有 OPML 匯出,訂閱清單可以直接帶去別的播放器或另一個 PigeonPod 實例。技術上它是 Java 17 加 Spring Boot 3.5 的後端,配 React 19 的網頁前端,資料庫預設用 SQLite,整個服務包成一個容器就能跑。

9 秒起機、452MiB 記憶體:安裝門檻比想像低

實測安裝就是官方文件寫的那三行:拉下 ghcr.io/aizhimou/pigeon-pod:latest 映像檔,掛一個 SQLite 資料庫路徑,把容器的 8080 埠對到本機 8834。在我的測試機上(Docker 29.4.0),容器從啟動到網頁回應約 9 秒,登入後儀表板直接可用,背景的頻道同步、集數清理排程器也都正常在跑。閒置狀態記憶體約 452MiB,這個量級代表最便宜的 VPS 方案就夠用它。

PigeonPod 自架版登入頁截圖:瀏覽器連到本機 8834 連接埠的網頁登入介面,介面為英文Pin
自架版登入頁:容器跑起來後用瀏覽器連本機 8834 埠即可,預設帳密出廠就寫在官方文件裡,上架前先改掉。

有兩個安裝細節要特別記下來。預設帳號是 root,密碼 Root@123,我實測直接登入成功,拿到的是 admin 角色和一組執行個體的 API 金鑰;這組帳密出廠就寫在文件裡,任何人都能查到,所以服務一上架就要先改密碼。另一個細節是,如果你想圖省事把內建登入關掉(環境變數 PIGEON_AUTH_ENABLED 設 false),官方文件用警告框寫得很明白:只有當你已經在前面掛了反向代理驗證或 VPN 的時候才能這樣做,直接把關閉驗證的實例暴露在公用網路上等於門戶大開。

順帶一個文件與現實的小落差:README 另外提供了一條「下載 JAR 直接跑」的路線,寫著可以從 Releases 頁面抓 JAR 檔。我查了 1.28.0、1.29.1 到最新的 1.30.0,三個版本都沒有附任何檔案,這條路目前是斷的。實際可用的安裝方式就是 Docker,這點在規劃部署時先知道可以少走彎路。如果你本來就喜歡這類自架媒體服務,站上之前介紹過的區域網路影片伺服器是另一種把影片收進自己機器的思路,可以對照著看。

YouTube 路徑:沒有金鑰,API 直接拒絕你

裝好之後的第一個震撼教育是 YouTube。我在訂閱欄貼上一個 YouTube 頻道網址按預覽,介面沒有任何回應,直接打 API 看才發現伺服器回了 400,錯誤訊息是YouTube API key is not set, please set it in the user setting.。也就是說,YouTube 路徑不是裝好就能用:你要先去 Google Cloud Console 建一個專案、啟用 YouTube Data API v3、產生一組 API 金鑰,再貼進 PigeonPod 的設定頁。這個流程官方 Wiki 有逐步教學,不難,但它是你必須自己完成的一關,而且金鑰綁的是你自己的 Google 帳號。

金鑰背後真正的成本是配額。YouTube Data API 每天給每個專案固定的免費配額,頻道同步、搜尋、播放清單讀取都會消耗單位,訂的頻道越多、同步越頻繁,配額吃緊的速度越快;配額見底的時候,自動同步會停住,等隔天配額重置才恢復,這是正常行為而不是故障。PigeonPod 顧到了這件事:設定頁可以自訂每日配額上限,超過就停止自動同步,設定頁裡也有用量面板讓你盯著數字,官方 Wiki 建議訂閱多的使用者養成看面板的習慣。Wiki 還提醒了一個省配額的技巧,直接餵頻道的原始 ID,比用整條網址去查詢更準也更省。如果你平常就有用 yt-dlp 圖形介面抓影片的習慣,可以把 PigeonPod 想成幫你把 yt-dlp 自動化、再加上一層 YouTube 中繼資料查詢的完整服務。

另一個容易誤會的點:RSS 裡只會出現「已經下載完成」的集數。官方文件明講,如果什麼都還沒下載,訂閱的 RSS 會是空的,屬正常現象。所以正確的期待是:先等它抓完最近幾集,RSS 才開始有內容,之後就跟一般播客一樣滾動更新。下載失敗也有對應機制:自動重試的次數用完之後,它會把失敗摘要用電子郵件或 webhook 通知你,不會讓壞掉的集數默默消失在佇列裡。

還有一種情況需要 cookie 出場:YouTube 偶爾會對資料中心 IP 彈出「Sign in to confirm you’re not a bot」這類機器人檢查,這時候下載會失敗,官方的建議就是把瀏覽器匯出的 cookies 檔餵給 PigeonPod。年齡限制或會員專屬內容同理,都要靠 cookie 才拿得到。簡單說,金鑰解決的是「查詢頻道資訊」這一層,cookie 解決的是「下載本身被擋」這一層,兩個關卡是分開的。

Bilibili 路徑:免金鑰就通,風控是另一道牆

Bilibili 是我這輪實測裡最驚喜的一段。同樣的操作,貼上一個 Bilibili 空間頁網址按預覽,沒有任何金鑰,伺服器直接回傳完整結果:頻道名稱、頭像、簡介,加上最新一支支影片的標題、日期和時長,連預覽清單都排好了。我測試的那個頻道,回傳的清單一路排到當週最新的影片,每支都帶著完整簡介,訂下去之前就能先判斷內容對不對味。官方文件也確認了這個設計:如果你只訂 Bilibili 內容,可以完全跳過 YouTube API 金鑰這一關。對只想聽 Bilibili 內容的人來說,這是同類工具裡少見的組合。

PigeonPod 訂閱預覽實測截圖:貼上 Bilibili 空間頁網址後,回傳頻道名稱、簡介與最新影片清單Pin
實測截圖:不用任何 API 金鑰,貼上 Bilibili 空間頁網址,頻道資訊與最新集數清單直接列出來。

但免金鑰不代表無限制。我在短時間內重複請求同一個來源之後,伺服器開始回 400,訊息是Bilibili API request failed: HTTP 412,這是 Bilibili 自己的風控在擋頻繁請求,不是 PigeonPod 的 bug。官方的對應方案寫在功能清單裡:支援設定 YouTube 和 Bilibili 的 cookie,讓受限內容的存取更穩定,設定頁也有專門的 cookie 管理入口。實際使用的節奏應該是:訂閱設好之後交給自動同步,別手動狂按重新整理,真的碰到風控再回頭補 cookie。

維運都在網頁裡:儲存、多帳號、yt-dlp 版本一手包

自架工具最怕的那種「功能都要改設定檔重開機」,在 PigeonPod 這邊大部分被搬進了網頁設定頁。我把整頁設定實際讀過一輪:YouTube API 金鑰、cookie 管理、多使用者與角色權限、Base URL、網路代理、通知(郵件與 webhook)、儲存策略、HTTPS 憑證、訂閱預設值、OPML 匯出、登入驗證碼、自訂 yt-dlp 參數,全都在同一個頁面上。實測當下內建的 yt-dlp 版本是 2026.03.17,而且可以在介面裡直接更新或切換版本,不用 SSH 進容器。

PigeonPod 設定頁截圖:YouTube API 金鑰、cookie 管理、儲存策略、yt-dlp 版本等維運選項一覽Pin
設定頁一覽:API 金鑰、cookie、儲存策略與 yt-dlp 版本管理都收在同一個頁面,實測當下內建版本為 2026.03.17。

儲存這塊要多看一眼:它支援本機磁碟和 S3 兩種模式,S3 模式相容 MinIO、Cloudflare R2、AWS S3 等服務,等於音檔可以直接落在你指定的物件儲存,方便掛 CDN 或做備份。要注意的是兩種模式一次只能啟用一種,切換時舊檔案不會自動搬家,歷史媒體要自己搬,這在規劃儲存位置時先想好比較好。多使用者與角色權限則代表它可以給家人或小團隊共用:管理員顧系統設定,一般帳號只能管自己的訂閱和 RSS。

幾個貼心的細節也看得出這個專案是真的有人在用才長出來的。新集數可以設定延遲下載,等 YouTube 那邊把影片處理完再抓,避免抓到還在轉檔的版本;下載出來的音檔能附章節資訊(支援 Podcasting 2.0 的章節格式),在支援的播放器裡可以直接跳段;每個訂閱的標題和封面圖都能自己換,訂一堆頻道的時候,播放器裡的清單不會變成一排縮圖牆。這些都不是什麼大功能,但湊在一起,日常使用的摩擦就少很多。

不想自架的話:官方雲端版按訂閱數收費

PigeonPod 同時有一個官方雲端版,網域是 pigeonpod.cloud(另一個常被引用的 pigeonpod.asimov.top 會直接轉址過去)。它是獨立的收費服務,不是開源版的展示站:免費方案 0 元,但只有 1 個訂閱額度、1GB 雲端空間,播放清單最多 100 集;Pro 方案每月 6.9 美元或年繳 66.9 美元,30 個訂閱、10GB;Max 方案每月 10.9 美元或年繳 104.9 美元,300 個訂閱、100GB。換句話說,免費層的定位是試吃,真的要長期用就是每個月一杯咖啡錢起跳。

方案月費訂閱數儲存空間門檻資料在哪
自架開源版0 元(自付主機與儲存)機器與配額決定自己的磁碟或 S3Docker 加 Google API 金鑰你的伺服器
雲端免費層0 元1 個1GB註冊即用官方伺服器
雲端 Pro6.9 美元30 個10GB註冊即用官方伺服器
自架與雲端方案對照(定價與額度以官網 2026 年 8 月公告為準)。

雲端版和自架版還有幾個差異值得知道。功能清單上,雲端版明列「自動移除片頭與片中的廣告」,自架版的文件則對廣告一字未提;播放進度跨裝置同步也標註是雲端網頁播放器才有的功能。隱私立場倒是寫得清楚:雲端版宣稱不需要你的 YouTube 或 Bilibili 帳號密碼,只要頻道網址;條款頁也載明了它與 YouTube、BiliBili 沒有隸屬關係,並禁止把服務用在侵權或違反平台規則的用途上。營運面它是奧克蘭工程師 Zemo Ai 一人維運的服務,這點在決定要不要把收聽習慣整個託付上去時,值得放進考量。

和 PodSync 的差別:Bilibili 支援與完整管理介面

講到 YouTube 轉播客的自架工具,很多人第一個想到的是老牌的 PodSync。它還活得好好的:MIT 授權、近兩千顆星,我查的當天仍有新的程式碼推送,定位是把 YouTube 和 Vimeo 的頻道轉成播客。兩者該怎麼選,就我讀兩邊文件與實測 PigeonPod 的理解,差異主要落在幾個地方:PigeonPod 支援 Bilibili(PodSync 的定位是 YouTube 加 Vimeo)、有完整的網頁管理介面(多帳號、下載佇列、播放器、yt-dlp 版本管理),還有同步用的 YouTube API 用量面板。如果你的需求就是單純把幾個 YouTube 頻道變 RSS,PodSync 更輕、授權也更寬鬆;要 Bilibili、要多人共用、要網頁裡一站式管理,這才是 PigeonPod 的位置。這段對照以兩邊的官方文件與程式庫描述為準。

廣告收益、硬碟空間與簡體介面

使用這類工具,先想清楚最重要的那條線:內容與條款的邊界。它下載的是創作者的影片,你用耳朵消費的每一集,創作者都拿不到播放數和廣告收益,而平台條款對下載行為的立場一貫嚴格。PigeonPod 雲端版條款自己都寫明了禁止侵權用途,自架版則把這條線交給使用者自己守。最穩的使用方式是把 RSS 當私人工具:只訂自己真的會聽的頻道,不要把產生的 RSS 網址公開分享或轉送給別人。這在功能上辦得到,它的 RSS 本來就設計成有權杖保護的私人網址;不過要留意,它另有「單集分享頁」功能,能把某一集開成不用登入就能播放的公開頁面,分享連結前先想一下內容是不是適合公開。

硬碟是另一個現實。音檔實實在在落在你的磁碟或 S3 上,幾分鐘一支的長影片轉成音檔,一個活躍頻道一年下來的體積不小。好在每個訂閱都能設保留集數上限、時長過濾和關鍵字過濾,把同步範圍收斂在自己真正會聽的內容上,硬碟才不會被默默吃光;批次下載也做得完整,可以一次勾選整個頻道的舊片回補,在下載儀表板逐一看到每個任務的狀態,失敗的能重試或整批取消。還有一個小但具體的體感問題:介面提供英文、簡體中文、日文、韓文、西文、法文、德文、葡文共八種語言,中文只有簡體,沒有繁體選項。功能不受影響,但台灣使用者每天看的選單就是簡體字,介意的人要先知道這件事。

我的判斷:會用 Docker 就值得,怕麻煩先試雲端

測完這一輪,我的結論很明確。家裡或機房已經有一台小主機、平常就有在追 YouTube 或 Bilibili 長影片的人,PigeonPod 值得裝:安裝輕、維運功能齊、GPL-3.0 真開源、專案也活躍,把「追頻道」這件事從滑手機變成訂播客,生活感差很多。相對地,不想碰 Docker、不想管 Google API 金鑰的人,先去官方雲端版用免費層訂一個頻道試試水,合用再考慮付費或自架;如果你要的只是偶爾存幾支影片,站上整理過的YouTube 下載工具清單裡有更輕的選擇。

入門路徑照官方 Wiki 的 Quick Start 走最順:拉容器、改預設密碼、只訂 Bilibili 的話直接貼網址就能開始,要訂 YouTube 再去 Google Cloud Console 申請金鑰。整個過程卡住的機率不高,卡住了 Wiki 的疑難排解頁也寫得比多數開源專案詳細。

GPL-3.0 開源、一年後仍在推進:專案狀態

PigeonPod 的原始碼在 GitHub 上的 aizhimou/pigeon-pod,採 GPL-3.0 授權,建立於 2025 年 8 月,截至 2026 年 8 月有 1,159 顆星、99 個 fork。維護節奏健康:最新正式版 1.30.0 於 2026 年 6 月發布,主要分支到 2026 年 8 月中仍有程式碼推送,issue 與合併請求都有人在回。開著的問題裡有 webhook 失效、特定情境下的清理錯誤這類小毛病,主流程沒有明顯地雷。雲端版另有獨立的服務條款、隱私權政策與退款政策頁面,付費前花幾分鐘讀完比較穩。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 982

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...