PeerTube support for offloading transcoding to other machines is <a target="_blank" rel="noopener noreferrer" href="https://github.com/Chocobozzz/PeerTube/issues/947">being discussed</a>, but not yet implemented.
It allows you to choose a hoster that fits you. YouTube's excesses are a good example: its hoster, Google/Alphabet, can impose its "Robocopyright" (the ContentID system) or its tools to index, recommend and spotlight videos; and those tools seem as unfair as they are obscure. Even though, it already forces you <a target="_blank" rel="noopener noreferrer" href="https://tosdr.org/#youtube"> to give it extended copyrights on your videos, for free</a>!
If it was easy to embed a PeerTube video on a website or to share it on social media, it wasn't possible to embed playlists. So we worked on their integration on third party websites. It's now very easy to share playlists with the embed code:
PeerTube should run happily on a virtual machine with 2 threads/vCPUs, at least 1 Gb of RAM and enough storage for videos. In terms of bandwidth, a lot will depend on which PeerTube instances you federate with and what your relation with them is (more about that below).
If you also to contribute to the growing of PeerTube, you can participate in its funding here: <a target="_blank" rel="noopener noreferrer" href="https://soutenir.framasoft.org/en">https://soutenir.framasoft.org/en</a>
If you have any questions, feel free to use our forum: <a target="_blank" rel="noopener noreferrer" href="https://framacolibri.org/c/peertube">https://framacolibri.org/c/peertube</a>
If you want to support PeerTube, you can <a target="_blank" rel="noreferrer noopener" href="https://soutenir.framasoft.org/en">support Framasoft with a donation</a>, but also by helping others to discover and <a target="_blank" rel="noreferrer noopener" href="https://joinpeertube.org/">learn more about PeerTube</a> and our projects: sharing is caring!
Except for video transcoding, a PeerTube instance is not CPU bound. Neither Nginx, PeerTube itself, PostgreSQL nor Redis require a lot of computing power. If it were only for those, one could easily get by with just one thread/vCPU.
You will hugely benefit from at least a second thread though, because of transcoding. Transcoding is very cpu intensive. It serves two purposes on a PeerTube instance: it ensures all videos can be played optimally in the web interface, and it generates different resolutions for the same video. PeerTube support for offloading transcoding to other machines is <a target="_blank" rel="noopener noreferrer" href="https://github.com/Chocobozzz/PeerTube/issues/947">being discussed</a>, but not yet implemented.