# PigeonPod vs Pinchflat：self-hosted YouTube ダウンロード、Podcast RSS、Plex と Jellyfin の選び方

PigeonPod と Pinchflat は、どちらも YouTube source を追跡し、media をダウンロードして、自分の infrastructure で動かせます。比較すべきなのは「どちらがローカルに保存できるか」ではありません。主な workflow が **Podcast App でチャンネル更新を聴くこと**なのか、**ローカル media library を運用すること**なのかです。

PigeonPod self-hosted は、channel / playlist の subscription、audio または video の download、private Podcast RSS、管理 workflow を一つにまとめます。Pinchflat は self-hosted downloader と library 管理を中心にしつつ Podcast RSS も提供します。ただし、公式ドキュメントでは RSS は beta とされ、公開アクセス、認証、feed endpoint は自分で設定する必要があります。

追加するのは supported public source と、アクセスする権利がある content だけにしてください。private、削除済み、地域制限などの media を、どちらの tool も確実な library にできるわけではありません。

## 結論

Podcast RSS を中心にしながら、管理できるローカル audio/video library も持ちたいなら **PigeonPod self-hosted** が合います。Podcast App で更新を追い、必要に応じて Plex や Jellyfin にダウンロード済み media を scan させる使い方です。

ローカル downloader と media library が最優先なら **Pinchflat** が合います。self-hosted service の公開、保護、運用に慣れていて、Podcast RSS は追加の再生方法だと考える人向けです。

PigeonPod の listening workflow は欲しいけれど host、storage、backup、network を運用したくない場合は **PigeonPod Cloud** を選んでください。

## Workflow を比較する

<section class="comparison-cards comparison-cards--two-columns" aria-label="PigeonPod self-hosted と Pinchflat の比較">
  <article class="comparison-card comparison-card--pigeonpod">
    <p class="comparison-card__eyebrow">Podcast 中心の library</p>
    <h3>PigeonPod self-hosted</h3>
    <p class="comparison-card__summary">self-hosted の YouTube subscription/download workflow に private Podcast RSS を組み込む方法です。</p>
    <dl class="comparison-card__details">
      <div>
        <dt>向いている人</dt>
        <dd>Podcast App の再生とローカル media library の両方が必要な人。</dd>
      </div>
      <div>
        <dt>Media layout</dt>
        <dd>audio と video を別に保存し、外部 media server が対象 directory を scan できます。</dd>
      </div>
      <div>
        <dt>境界</dt>
        <dd>storage layout は product が管理します。任意の yt-dlp filename template ではありません。</dd>
      </div>
    </dl>
  </article>

  <article class="comparison-card">
    <p class="comparison-card__eyebrow">Local library 中心の downloader</p>
    <h3>Pinchflat</h3>
    <p class="comparison-card__summary">self-hosted download/source 管理 tool に、任意で Podcast RSS を追加する方法です。</p>
    <dl class="comparison-card__details">
      <div>
        <dt>向いている人</dt>
        <dd>ローカル YouTube collection の維持が主目的の人。</dd>
      </div>
      <div>
        <dt>Podcast App access</dt>
        <dd>安定した公開 URL、認証、feed endpoint の公開を自分で設定します。</dd>
      </div>
      <div>
        <dt>境界</dt>
        <dd>host、download、storage、network、RSS の公開は自分で管理します。</dd>
      </div>
    </dl>
  </article>
</section>

これは workflow の比較であり、固定の feature checklist ではありません。大きな library を移行する前に、両 project の最新 documentation を確認してください。

## Download と media archive

PigeonPod self-hosted は軽量な RSS generator だけではありません。audio と video の media を download し、それぞれを別 storage path に保存できます。open-source v1.19.1 では video 専用 directory が追加され、operator は audio/video library を分けて Plex、Jellyfin、Emby などに必要な directory だけを scan させられます。[PigeonPod v1.19.1 release notes](https://github.com/aizhimou/pigeon-pod/releases/tag/1.19.1)

ただし、directory 分離は native Plex/Jellyfin integration を意味しません。PigeonPod はすべての外部 metadata agent 向けに任意の output filename template を提供するものでもありません。yt-dlp 形式の filename control 要望は not planned として閉じられています。[関連 issue](https://github.com/aizhimou/pigeon-pod/issues/111) チャンネル全体を取り込む前に、少数の episode で media-server scanner を確認してください。

Pinchflat は、ローカル collection そのものが最終目的なら有力です。違いは PigeonPod が download できないことではなく、subscription/feed を中心に listening workflow を作るか、downloaded file を中心に自分の media-library workflow を作るかです。

## Podcast RSS では運用モデルが大きく異なる

PigeonPod では private Podcast feed が中心の delivery path です。supported public channel または playlist を追加し、PigeonPod 内で source と対象 episode を管理して、対応 Podcast App で feed を follow します。listener workflow は [YouTube を Podcast にする guide](/ja/helps/how-to-convert-youtube-to-podcast/) を参照してください。

Pinchflat も Podcast RSS を提供できますが、公式 guide では instance を home network の外から到達可能にし、認証方式を選び、Podcast client に必要な RSS・画像・media endpoint を明示的に公開するよう案内しています。これは妥当な self-hosting 設計ですが、その運用は自分で担います。[Pinchflat の Podcast RSS guide](https://github.com/kieraneglin/pinchflat/wiki/Podcast-RSS-Feeds)

Podcast App が独自 server から feed を取得する場合、LAN address だけでは足りません。どちらを選ぶ場合でも、library 全体を移す前に、普段使う client で refresh と playback を確認してください。

## Plex と Jellyfin は別の delivery layer

Plex と Jellyfin は media server であり、private Podcast RSS の代替ではありません。テレビ、browser、media client でローカル video を探して見る用途に向きます。Podcast App は、phone、watch、car で audio-first の subscription queue を維持する用途に向きます。

PigeonPod self-hosted では、二つの delivery path を分けられます。Podcast RSS は listening queue、media server は video directory を scan して screen-first の catalogue を提供します。Pinchflat では local library が自然な中心になり、必要な source を Podcast App でも消費したいときに RSS を追加します。

どちらの方法でも、storage capacity、backup、upstream platform の変更、remote access の安全性、upgrade といった通常の self-hosting 作業は残ります。

## PigeonPod self-hosted を選ぶとき

- YouTube channel や playlist を、download folder だけでなく private Podcast subscription にしたい。
- Podcast App で audio-first に聴きつつ、downloaded media もローカルに残したい。
- subscription、filter、download、private RSS を一つの product workflow で管理したい。
- audio/video を別 directory にして Plex や Jellyfin に scan させたい。
- product-managed storage layout を受け入れ、外部 tool ごとの custom filename に依存しない。

## Pinchflat を選ぶとき

- 最優先は local download library と media-server workflow である。
- 安定した公開 URL、reverse proxy などの access layer、認証、feed exposure を設定できる。
- Podcast RSS は便利だが、最適化したい中心的な product boundary ではない。
- downloader-oriented workflow を先に評価し、そのあと Podcast delivery を加えたい。

## まず一つの source で確認する

実際の channel または playlist を一つだけ使って、次を試してください。

1. supported public source を subscription する。
2. audio/video の episode を数本 download する。
3. Plex/Jellyfin を使うなら、目的の local directory を scan させる。
4. 自宅外で使う Podcast App に RSS feed を追加する。
5. 新規 upload の sync、playback、storage usage、cleanup が期待どおりか確認する。

Podcast workflow と local media library を同じくらい大切にするなら PigeonPod self-hosted、library 自体を作ることが目的なら Pinchflat を選びましょう。PigeonPod workflow は欲しいが運用をしたくない場合は、[PigeonPod Cloud を始める](https://app.pigeonpod.cloud/register)こともできます。