<h1 align="center">
<a href="https://joinpeertube.org">
- <img src="https://joinpeertube.org/img/brand.png" alt="PeerTube">
- <a>
+ <img src="https://joinpeertube.org/img/brand.png" alt="PeerTube">
+ </a>
</h1>
<p align=center>
<strong><a href="https://joinpeertube.org">Website</a></strong>
| <strong><a href="https://instances.joinpeertube.org">Join an instance</a></strong>
- | <strong><a href="#package-create-your-own-instance">Create one</a></strong>
+ | <strong><a href="#package-create-your-own-instance">Create an instance</a></strong>
| <strong><a href="#contact">Chat with us</a></strong>
+ | <strong><a href="https://framasoft.org/en/#soutenir">Donate</a></strong>
+</p>
+
+<p align="center">
+Be part of a network of multiple small federated, interoperable video hosting providers. Follow video creators and create videos. No vendor lock-in. All on a platform that is community-owned and ad-free.
</p>
<p align="center">
-Federated (ActivityPub) video streaming platform using P2P (BitTorrent)
-directly in the web browser with <a href="https://github.com/feross/webtorrent">WebTorrent</a>.
+ <strong>Developed with ❤ by <a href="https://framasoft.org">Framasoft</a></strong>
+</p>
+
+<p align="center">
+ <a href="https://framasoft.org">
+ <img width="150px" src="https://lutim.cpy.re/FeRgHH8r.png" alt="Framasoft logo"/>
+ </a>
</p>
<p align="center">
<img src="https://david-dm.org/Chocobozzz/PeerTube/dev-status.svg?path=client" alt="devDependency Status" />
</a>
- <a href="https://www.browserstack.com/automate/public-build/cWJhRDFJbS9qeUhzYW04MnlIVjlQQ0x3aE5POXBaV1lycGo5VlQxK3JqZz0tLTNUWW5ySEVvS1N4UnBhYlhsdXVCeVE9PQ==--db09e291d36a582af8b2929d62a625ed660cdf1d">
- <img src='https://www.browserstack.com/automate/badge.svg?badge_key=cWJhRDFJbS9qeUhzYW04MnlIVjlQQ0x3aE5POXBaV1lycGo5VlQxK3JqZz0tLTNUWW5ySEVvS1N4UnBhYlhsdXVCeVE9PQ==--db09e291d36a582af8b2929d62a625ed660cdf1d'/>
+ <a href="https://automate.browserstack.com/public-build/cW5mYW43VDNUR1Jrb0Y5TnVoaC85Tk84SVhzSU9rS0ppWWJJYUVlRzVQRT0tLW9tVGIvK2ZmOGRld3lVVFRYTFM4aEE9PQ==--591b0056e00a2d1cbdfbcfa324634046132008ec">
+ <img src="https://automate.browserstack.com/badge.svg?badge_key=cW5mYW43VDNUR1Jrb0Y5TnVoaC85Tk84SVhzSU9rS0ppWWJJYUVlRzVQRT0tLW9tVGIvK2ZmOGRld3lVVFRYTFM4aEE9PQ==--591b0056e00a2d1cbdfbcfa324634046132008ec"/>
</a>
</p>
<br />
- <a href="https://travis-ci.org/Chocobozzz/PeerTube">
- <img src="https://travis-ci.org/Chocobozzz/PeerTube.svg?branch=develop" alt="Build Status" />
+ <a href="https://travis-ci.com/github/Chocobozzz/PeerTube">
+ <img alt="pipeline status" src="https://travis-ci.com/Chocobozzz/PeerTube.svg?branch=develop" />
</a>
<a href="https://david-dm.org/Chocobozzz/PeerTube">
<p align="center">
<a href="https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3">
- <img src="https://lutim.cpy.re/8cZDRIEF.png" alt="screenshot" />
+ <img src="http://lutim.cpy.re/9CLXh0Ys.png" alt="screenshot" />
</a>
</p>
+Introduction
+----------------------------------------------------------------
+
+PeerTube is a free, decentralized and federated video platform developed as an alternative to other platforms that centralize our data and attention, such as YouTube, Dailymotion or Vimeo. :clapper:
+
+But one organization hosting PeerTube alone may not have enough money to pay for bandwidth and video storage of its servers,
+all servers of PeerTube are interoperable as a federated network, and non-PeerTube servers can be part of the larger Vidiverse
+(federated video network) by talking our implementation of ActivityPub.
+Video load is reduced thanks to P2P in the web browser using <a href="https://github.com/webtorrent/webtorrent">WebTorrent</a> or <a href="https://github.com/novage/p2p-media-loader">p2p-media-loader</a>.
+
+To learn more, see:
+* This [two-minute video](https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3) (hosted on PeerTube) explaining what PeerTube is and how it works
+* PeerTube's project homepage, [joinpeertube.org](https://joinpeertube.org)
+* Demonstration instances:
+ * [peertube.cpy.re](https://peertube.cpy.re)
+ * [peertube2.cpy.re](https://peertube2.cpy.re)
+ * [peertube3.cpy.re](https://peertube3.cpy.re)
+* This [video](https://peertube.cpy.re/videos/watch/da2b08d4-a242-4170-b32a-4ec8cbdca701) demonstrating the communication between PeerTube and [Mastodon](https://github.com/tootsuite/mastodon) (a decentralized Twitter alternative)
+
:sparkles: Features
----------------------------------------------------------------
<h3 align="right">Keep in touch with video creators</h3>
<p align="right">
-Follow your favorite channels from PeerTube or really any other place. No need to have an account on the instance you watched a video to follow its author, you can do all of that from the Fediverse (Mastodon, Pleroma and plenty others), or just with good ol' RSS.
+Follow your favorite channels from PeerTube or really any other place. No need to have an account on the instance you watched a video to follow its author, you can do all of that from the Fediverse (Mastodon, Pleroma, and plenty others), or just with good ol' RSS.
</p>
---
<h3 align="right">Communities that help each other</h3>
<p align="right">
-In addition to visitors using WebTorrent to share the load among them, instances can help each other by caching one another's videos. This way even small instances have a way to show content to a wider audience, as they will be shouldered by friend instances (more about that in our <a href="/support/doc/redundancy.md">redundancy guide</a>).
+In addition to visitors using WebTorrent to share the load among them, instances can help each other by caching one another's videos. This way even small instances have a way to show content to a wider audience, as they will be shouldered by friend instances (more about that in our <a href="https://docs.joinpeertube.org/#/contribute-architecture?id=redundancy-between-instances">redundancy guide</a>).
</p>
<p align="right">
-Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisments that hurt visitors and <strike>incentivize</strike> alter creativity (more about that in our <a href="./FAQ.md">FAQ</a>).
+Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisements that hurt visitors and <strike>incentivize</strike> alter creativity (more about that in our <a href="https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md">FAQ</a>).
</p>
----
+:raised_hands: Contributing
+----------------------------------------------------------------
-Want to see it in action?
+You don't need to be a coder to help!
- * Demonstration servers:
- * [peertube.cpy.re](https://peertube.cpy.re)
- * [peertube2.cpy.re](https://peertube2.cpy.re)
- * [peertube3.cpy.re](https://peertube3.cpy.re)
- * [Video](https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3) explaining what is PeerTube
- * [Video](https://peertube.cpy.re/videos/watch/da2b08d4-a242-4170-b32a-4ec8cbdca701) showing the communication between PeerTube and [Mastodon](https://github.com/tootsuite/mastodon)
+You can give us your feedback, report bugs, help us translate PeerTube, write documentation, and more. Check out the [contributing
+guide](https://github.com/Chocobozzz/PeerTube/blob/develop/.github/CONTRIBUTING.md) to know how, it takes less than 2 minutes to get started. :wink:
-:question: Motivation
-----------------------------------------------------------------
+You can also join the cheerful bunch that makes our community:
-We can't build a FOSS video streaming alternative to YouTube, Dailymotion,
-Vimeo... with centralized software. One organization alone may not have
-enough money to pay for bandwidth and video storage of its servers.
-
-So we need to have a decentralized network of servers seeding videos (as
-[Diaspora](https://github.com/diaspora/diaspora) for example). But it's not
-enough because one video could become popular and overload the server. That is
-why we need to use a P2P protocol to limit the server load. Thanks to
-[WebTorrent](https://github.com/feross/webtorrent), we can make BitTorrent inside the web browser, as of today.
+* Chat<a name="contact"></a>:
+ * IRC : **[#peertube on chat.freenode.net:6697](https://kiwiirc.com/client/irc.freenode.net/#peertube)**
+ * Matrix (bridged on IRC and [Discord](https://discord.gg/wj8DDUT)) : **[#peertube:matrix.org](https://matrix.to/#/#peertube:matrix.org)**
+* Forum:
+ * Framacolibri: [https://framacolibri.org/c/peertube](https://framacolibri.org/c/peertube)
+
+Feel free to reach out if you have any questions or ideas! :speech_balloon:
:package: Create your own instance
----------------------------------------------------------------
* nginx
* **PostgreSQL >= 9.6**
* **Redis >= 2.8.18**
- * **NodeJS >= 8.x**
+ * **NodeJS >= 10.x**
* **yarn >= 1.x**
* **FFmpeg >= 3.x**
-See the [production guide](/support/doc/production.md), which is the recommended way.
-
-See the [community packages](https://docs.joinpeertube.org/lang/en/docs/install.html), which cover various platforms (including [YunoHost](https://install-app.yunohost.org/?app=peertube) and [Docker](/support/doc/docker.md)).
-
-:wrench: Contribute/Translate/Test
-----------------------------------------------------------------
-
-*Spoiler alert*: you don't need to be a coder to help!
-
-See the [contributing
-guide](/.github/CONTRIBUTING.md). Or simply join the cheerful bunch that makes our community:
+See the [production guide](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md), which is the recommended way to install or upgrade PeerTube. For hardware requirements, see [Should I have a big server to run PeerTube?](https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md#should-i-have-a-big-server-to-run-peertube) in the FAQ.
- * Chat<a name="contact"></a>:
- * IRC : **[#peertube on chat.freenode.net:6697](https://kiwiirc.com/client/irc.freenode.net/#peertube)**
- * Matrix (bridged on the IRC channel) : **[#peertube:matrix.org](https://matrix.to/#/#peertube:matrix.org)**
- * Forum:
- * Framacolibri: [https://framacolibri.org/c/peertube](https://framacolibri.org/c/peertube)
+See the [community packages](https://docs.joinpeertube.org/#/install-unofficial), which cover various platforms (including [YunoHost](https://install-app.yunohost.org/?app=peertube) and [Docker](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/docker.md)).
:book: Documentation
----------------------------------------------------------------
-If you have a question, please try to find the answer in the [FAQ](/FAQ.md) first.
+If you have a question, please try to find the answer in the [FAQ](https://github.com/Chocobozzz/PeerTube/blob/develop/FAQ.md) first.
### User documentation
-See the [user documentation](https://docs.joinpeertube.org/lang/en/userdocs/).
+See the [user documentation](https://docs.joinpeertube.org/#/use-setup-account).
### Admin documentation
-See [how to create your own instance](#package-create-your-own-instance).
+See [how to create your own instance](https://github.com/Chocobozzz/PeerTube/blob/develop/README.md#package-create-your-own-instance).
-See the more general [admin documentation](https://docs.joinpeertube.org/lang/en/docs/).
+See the more general [admin documentation](https://docs.joinpeertube.org/#/admin-following-instances).
-#### Tools
+### Tools documentation
- * [Import videos (YouTube, Dailymotion, Vimeo...)](/support/doc/tools.md)
- * [Upload videos from the CLI](/support/doc/tools.md)
- * [Admin server tools (create transcoding jobs, prune storage...)](/support/doc/tools.md#server-tools)
+Learn how to import/upload videos from CLI or admin your PeerTube instance with the [tools documentation](https://docs.joinpeertube.org/#/maintain-tools).
### Technical documentation
-See [ARCHITECTURE.md](/ARCHITECTURE.md) for a more detailed explanation of the architectural choices.
-
-#### Backend
-
- * REST API:
- * Quick Start: [/support/doc/api/quickstart.md](/support/doc/api/quickstart.md)
- * Swagger/OpenAPI schema: [/support/doc/api/openapi.yaml](/support/doc/api/openapi.yaml)
- * HTML explorer: [/support/doc/api/html/index.html](https://htmlpreview.github.io/?https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/html/index.html)
- * Servers communicate with each other with [Activity
- Pub](https://www.w3.org/TR/activitypub/).
- * Each server has its own users who query it (search videos, query where the
- torrent URI of this specific video is...).
- * When a user uploads a video, the server sends its followers metadata about the video (name, short description, torrent URI...).
- * A server is a tracker responsible for all the videos uploaded on it.
- * Even if nobody watches a video, it is seeded by the server (through
- [WebSeed protocol](http://www.bittorrent.org/beps/bep_0019.html)) where the
- video was uploaded.
+See the [architecture blueprint](https://docs.joinpeertube.org/#/contribute-architecture) for a more detailed explanation of the architectural choices.
-Here are some simple schemes:
-
-<p align="center">
-
-<img src="support/doc/user/decentralized.png" alt="Decentralized" />
-
-<img src="support/doc/user/watch-video.png" alt="Watch a video" />
-
-<img src="support/doc/user/watch-p2p.png" alt="Watch a P2P video" />
-
-</p>
+See our REST API documentation:
+ * OpenAPI 3.0.0 schema: [/support/doc/api/openapi.yaml](https://github.com/Chocobozzz/PeerTube/blob/support/doc/api/openapi.yaml)
+ * Spec explorer: [docs.joinpeertube.org/api-rest-reference.html](https://docs.joinpeertube.org/api-rest-reference.html)
+See our [ActivityPub documentation](https://docs.joinpeertube.org/#/api-activitypub).
:heart: Supports of our crowdfunding
----------------------------------------------------------------
## License
-Copyright (C) 2018 PeerTube Contributors
+Copyright (C) 2015-2020 PeerTube Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published