OSS探訪

PeerTube — ActivityPub連合とWebRTC P2Pで、動画配信を単一プラットフォームから分散する

OSS健全度 100
スコアの見方

発掘スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした独自指標(上限なし)。成長モメンタムは観測期間内の同スコアの差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
15,314
主要言語
TypeScript
ライセンス
AGPL-3.0
リポジトリ最終更新
2026/09/15

概要

PeerTubeはFramasoftが開発する、ActivityPub対応の分散型動画ホスティング/ストリーミング基盤です。各運営者が独立したインスタンスを持ちながら相互接続し、VOD・ライブ配信・埋め込みプレイヤー・RSS・Fediverseからのフォローを提供します。視聴者間WebRTC P2Pとインスタンス間冗長化で配信負荷を分散でき、2026年9月15日公開の最新安定版はv8.3.0です。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

ActivityPubで独立インスタンスを連合し、動画とチャンネルをFediverseへ広げる

PeerTubeは一つの中央サービスではなく、独立したvideo hosting providerが相互運用する連合型の構成です。動画に説明やタグを付けて公開すると、自インスタンスだけでなくvideo fediverseから検索・発見できる設計です。

視聴者はPeerTube上だけでなく、MastodonやPleromaなどのActivityPub対応サービスからチャンネルをフォローできます。RSSも提供されるため、視聴・購読の入口を一つのサイトへ固定しません。

出典:[2]

VOD・ライブ配信・埋め込み・APIまで、動画公開の基本機能を一つの基盤で持つ

通常の動画アップロードに加えてライブ配信と常設ストリームを扱え、外部サイトへplayerを埋め込めます。管理者は見た目やインスタンス間の表示・購読方針を調整できます。

技術面ではREST APIのOpenAPI schemaとActivityPub documentationが公開され、独自clientや周辺toolから操作できる拡張面も用意されています。

出典:[2]

WebRTC P2Pとインスタンス間cacheで、originだけに集中する配信負荷を分散する

視聴者同士がWebRTC P2Pでvideo dataを共有し、同時視聴時のserver帯域を分散できます。さらに友好インスタンスが互いの動画をcacheするredundancyも利用できます。

これはorigin serverやstorageを不要にする仕組みではありません。P2P参加率、NATやnetwork条件、cache設定によって効果は変わるため、想定視聴数とbitrateを前提に回線・storage容量を設計する必要があります。

出典:[2][4]

コミュニティ・教育・独立メディアなど、運営ポリシーとデータを自分で持ちながら外部へ連合したい用途に

YouTube互換の巨大サービスを一つ作るより、組織やコミュニティごとに動画基盤を運営しつつ、外部のPeerTubeやFediverseと発見・購読をつなげたいケースに向きます。広告ネットワークや単一ベンダーへ依存せず、公開方針やUI、連合範囲を運営者が決めたい場合に比較価値があります。

動画self-hostは重量級。FFmpeg・PostgreSQL・Redis・Nginx・帯域とstorageを含めて運用する

v8.3.0の公式dependenciesはNode.js 22 LTS、pnpm 10以上、PostgreSQL 14以上、Redis 6.2以上、FFmpeg 4.3以上などを要求します。production guideは低帯域回線上でのproduction運用を避けるよう明記しています。

transcodingはCPUを使い、動画本体・thumbnail・torrent/HLSなどはstorageを消費します。公開環境ではTLS、reverse proxy、backup、monitoring、SMTP、容量監視まで含めてvideo serviceとして運用設計する必要があります。

出典:[5][4]

v8.3.0へのupgradeはDB migrationに加え、起動後の手動migration scriptが必要

v8.3.0 release notesは、動画件数が多いdatabaseでは起動時migrationに数分かかり得るため短時間のdowntimeを計画するよう案内しています。

さらにdatabase migration完了後、PeerTube稼働中に8.3専用migration scriptを手動実行する必要があります。upgrade前にbackupと手順確認を行い、API変更を利用するpluginやclientも検証対象に含めるべきです。

出典:[3]

連合は到達範囲を広げる一方、インスタンス間ポリシーとmoderationの設計が必要

PeerTubeは管理者が他インスタンスの動画を一覧へ出すか、ユーザーの購読だけを許可するかなどを調整できます。分散型だから自動的に運用負荷がなくなるわけではなく、どのインスタンスと連合し、何を自サイトへ表示するかを決める必要があります。

公開コミュニティで使う場合は、利用規約、通報対応、remote contentの扱い、block/follow方針を技術設定とセットで決めておく方が安全です。

出典:[2]

AGPL-3.0。変更版をnetwork serviceとして提供する場合はsource提供要件を確認する

PeerTubeのcodeはGNU Affero General Public License v3.0 or laterで公開されています。AGPLはnetwork server softwareでの改変利用もsource availabilityを重視するlicenseです。

そのまま利用する場合と改変して公開serviceとして提供する場合では確認事項が変わるため、forkや独自改修を運用する組織はAGPLの条件を事前に確認してください。

出典:[2][6]

参考にした公式資料

  1. [1]Chocobozzz/PeerTube — GitHub repository metadata(2026-09-16)
  2. [2]PeerTube v8.3.0 — README(2026-09-16)
  3. [3]PeerTube v8.3.0 release notes(2026-09-16)
  4. [4]PeerTube v8.3.0 — Production guide(2026-09-16)
  5. [5]PeerTube v8.3.0 — Dependencies(2026-09-16)
  6. [6]PeerTube v8.3.0 — GNU AGPL v3 license(2026-09-16)
編集部からの補足

YouTube cloneとしてではなく「独立運営の動画サーバ + ActivityPub連合 + P2P配送」の三層で見るとPeerTubeの特徴が明確です。まず公開インスタンスで連合体験を確認し、self-host検証ではtranscoding・storage・egress・moderation・upgradeを別々に容量/運用設計するのが実践的です。

3ステップで試す

  1. 1

    ソースを取得

    git clone --depth 1 https://github.com/Chocobozzz/PeerTube.git
  2. 2

    リポジトリへ移動

    cd PeerTube
  3. 3

    公式手順を確認

    READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
公式READMEで確認

成長

成長の推移 · 直近30日

15,314 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
174
Open PR
11

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • video
  • decentralized
  • p2p
  • angular
  • activitypub
Stars
15,314
Forks
1,844
Watchers
334
Open Issues
679
主要言語
TypeScript
ライセンス
AGPL-3.0
リポジトリ最終更新
2026/09/15

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。