add donate link, move redundancy doc and images to docs.joinpeertube.org
[oweals/peertube.git] / FAQ.md
1 # FAQ
2
3 <!-- Table of contents generated with DocToc: https://github.com/thlorenz/doctoc -->
4 <!-- START doctoc generated TOC please keep comment here to allow auto update -->
5 <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
6
7
8 - [Why did you create PeerTube?](#why-did-you-create-peertube)
9 - [I don't like the name "PeerTube"](#i-dont-like-the-name-peertube)
10 - [If nobody watches a video, is it seeded?](#if-nobody-watches-a-video-is-it-seeded)
11 - [What is WebSeed?](#what-is-webseed)
12 - [If a client requests each chunk of a video through HTTP, will the server be overloaded?](#if-a-client-requests-each-chunk-of-a-video-through-http-will-the-server-be-overloaded)
13 - [Will an index of all the videos of servers you follow be too large for small servers?](#will-an-index-of-all-the-videos-of-servers-you-follow-be-too-large-for-small-servers)
14 - [Which container formats can I use for the videos I want to upload?](#which-container-formats-can-i-use-for-the-videos-i-want-to-upload)
15 - [I want to change my domain name, how can I do that?](#i-want-to-change-my-domain-name-how-can-i-do-that)
16 - [Should I have a big server to run PeerTube?](#should-i-have-a-big-server-to-run-peertube)
17 - [Can I seed videos with my classic BitTorrent client (Transmission, rTorrent...)?](#can-i-seed-videos-with-my-classic-bittorrent-client-transmission-rtorrent)
18 - [Why host on GitHub and Framagit?](#why-host-on-github-and-framagit)
19 - [Are you going to use the Steem blockchain?](#are-you-going-to-use-the-steem-blockchain)
20 - [Are you going to support advertisements?](#are-you-going-to-support-advertisements)
21 - [What is "creation dynamic" and why not modify it?](#what-is-creation-dynamic-and-why-not-modify-it)
22 - [I have found a security vulnerability in PeerTube. Where and how should I report it?](#i-have-found-a-security-vulnerability-in-peertube-where-and-how-should-i-report-it)
23
24 <!-- END doctoc generated TOC please keep comment here to allow auto update -->
25
26 ## Why did you create PeerTube?
27
28 We can't build a FOSS video streaming alternative to YouTube, Dailymotion,
29 Vimeo... with centralized software. One organization alone may not have
30 enough money to pay for bandwidth and video storage of its servers.
31
32 Our stance is that only a decentralized network of servers can provide an
33 acceptable answer to technical issues (bandwidth, transcoding expenses, etc.)
34 and social answers (need for a particular moderation policy, preserving
35 content, etc.).
36
37 While a paragraph is not enough to answer all these problems, PeerTube has
38 very early prouded itself for using a contributory design, both for creating
39 communities as federated nodes (as [Mastodon](https://joinmastodon.org/) for
40 example), and for seeding videos (instances can seed each other's videos). But it's not
41 enough because one video could become popular and overload the server. That is
42 why we need to use a P2P protocol to limit the server load. Thanks to
43 [WebTorrent](https://github.com/feross/webtorrent), we can use BitTorrent
44 inside most modern web browsers, and users become seeds as the video gets
45 more viewers.
46
47
48 ## I don't like the name "PeerTube"
49
50 PeerTube is just the name of the software. You can install it on your
51 server, and choose a name you want. For example, [this instance](https://framatube.org/)
52 is named "Framatube".
53
54
55 ## If nobody watches a video, is it seeded?
56
57 Yes, the origin server always seeds videos uploaded on it thanks to
58 [Webseed](http://www.bittorrent.org/beps/bep_0019.html).
59 It can also be helped by other servers using [redundancy](https://docs.joinpeertube.org/lang/en/devdocs/architecture.html#redundancy-between-instances).
60
61
62 ## What is WebSeed?
63
64 It is a BitTorrent extension that allows a server to seed a file through HTTP.
65 It just needs to statically serve a file, then the clients will request chunks
66 with a `Content-Range` HTTP header.
67
68
69 ## If a client requests each chunk of a video through HTTP, will the server be overloaded?
70
71 Not really. Reverse proxies like Nginx handle very well requests of static
72 files. In my tests, it can send chunks at 10MB/s without consuming more than 5%
73 of CPU on a very small VPS.
74
75
76 ## Will an index of all the videos of servers you follow be too large for small servers?
77
78 In our benchmarks, 1,000,000 videos takes around 2GB of storage on PostgreSQL.
79 We think it is acceptable for a video platform.
80
81
82 ## Which container formats can I use for the videos I want to upload?
83
84 WEBM, MP4 or OGV videos.
85
86
87 ## I want to change my domain name, how can I do that?
88
89 You can't. You'll need to reinstall an instance and reupload your videos.
90
91
92 ## Should I have a big server to run PeerTube?
93
94 Not really. For instance, the demonstration server [https://peertube.cpy.re](https://peertube.cpy.re) has 2 vCore and 2GB of RAM and consumes on average:
95  * **CPU** -> nginx ~ 20%, peertube ~ 10%,   postgres ~ 1%, redis ~ 3%
96  * **RAM** -> nginx ~ 6MB, peertube ~ 120MB, postgres ~ 10MB, redis ~ 5MB
97
98 So you would need:
99  * **CPU** 1 core if you don't enable transcoding, 2 at least if you enable it (works with 1 but this is really slow)
100  * **RAM** 1GB
101  * **Storage** Completely depends on how many videos your users will upload
102
103
104 ## Can I seed videos with my classic BitTorrent client (Transmission, rTorrent...)?
105
106 Yes you can, but you won't be able to send data to users that watch the video in their web browser.
107 The reason is they connects to peers through WebRTC whereas your BitTorrent client uses classic TCP/UDP.
108 To check if your BitTorrent client supports WebTorrent you can see this issue: https://github.com/webtorrent/webtorrent/issues/369
109
110
111 ## Why host on GitHub and Framagit?
112
113 The project has initially been hosted on GitHub by Chocobozzz. A full migration to [Framagit](https://framagit.org/chocobozzz/PeerTube) would be ideal now that Framasoft supports PeerTube, but it would take a lot of time and is an ongoing effort.
114
115
116 ## Are you going to use the Steem blockchain?
117
118 Short answer: no, since like most appchains/votechains, it modifies the dynamic of creation, and as such cannot be integrated into mainline PeerTube. Read more about that in [the dedicated section](#what-is-creation-dynamic-and-why-not-modify-it).
119
120 Long answer is that the Steem blockchain goes astray of its promises of fairness and decentralization: the deliberate relaunching of the currency to ensure centralization, and the stake-based voting power, makes manipulation by wealthy users inevitable ([source here](https://decentralize.today/the-ugly-truth-behind-steemit-1a525f5e156)).
121 Worse, money generated primarily goes to stakeholders ([source here](https://steemit.com/steemit/@orly/how-the-steem-pyramid-scheme-really-works) ).
122 For more information, read the complete whitepaper analysis done by [Tone Vays](https://twitter.com/ToneVays/status/761975587451928576).
123
124 ## Are you going to support advertisements?
125
126 Short answer: no, we don't want advertisers to dictate which content should be financed.
127 That would modify the dynamic of creation; as such it cannot be integrated into mainline PeerTube.
128 Read more about that in [the dedicated section](#what-is-creation-dynamic-and-why-not-modify-it).
129
130 The long answer is probably more subtle. YouTube has shaped generations of video creators by making it easy to place ads;
131 but making big money with the platform can be a challenge.
132 A typical video ad runs between $.10 and $.30 per 1000 views (as of March 2018).
133 More than 70% of video creators use ads as the main way to make money on YouTube, yet less than 3% of video creators make a living out of their YouTube activity (with partnerships and commissions, otherwise counting only ad revenue it drops to 1%).
134 Read more about it in the 2018 study by Mathias Bärtl, [*YouTube channels, uploads and views: A statistical analysis of the past 10 years*](https://www.dropbox.com/s/0cq4wtxm83s95t2/10.1177%401354856517736979.pdf?dl=0).
135 To the best of our knowledge, small and medium-community creators are better off getting support from their community on platforms such as Liberapay, Tipeee or Patreon.
136 Moreover, don't forget that advertisers already pay considering YouTube's large user base; with PeerTube's way smaller user base and refusal of user profiling, a pay-per-view that's lower than YouTube's could only be expected.
137
138 ## What is "creation dynamic" and why not modify it?
139
140 We define creation dynamic as the way any original content, regardless of its monetary value, is created and incentivized.
141 We want to stay neutral by limiting the influence of our platform on authors as much as possible. We are not curators, and want to limit the scope of PeerTube instance owners and administrators' responsibilities to moderation tasks only.
142
143 If you still want to use a functionality potentially altering that state of things, then you could interface with our upcoming plug-in system, which will be the place to integrate such features in the near future.
144
145 With that being said, know that we are not against these features *per se*.
146 We are always open to discussion about potential PRs bringing in features, even of that kind. But we certainly won't dedicate our limited resources to develop them ourselves when there is so much to be done elsewhere.
147
148 ## I have found a security vulnerability in PeerTube. Where and how should I report it?
149
150 We have a policy for contributions related to security. Please refer to [SECURITY.md](./SECURITY.md)