PeerTube uses ActivityPub because this federation protocol is recommended by the W3C and is also used by other projects like the social network <a target="_blank" rel="noopener noreferrer" href="https://joinmastodon.org/">Mastodon</a>.
IPFS is a great technology, but it still seems too young for streaming large files. The PeerTube P2P system based on well established protocols like HTTP and WebRTC, and the <a target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/admin-following-instances?id=instances-redundancy">redundancy system</a> are more easy for us to use and to maintain.
Read the <a target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/maintain/configuration#scalability">scalability guide</a> if you plan to have many users or viewers
Test PeerTube REST API with the <a target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/api-rest-getting-started">getting started guide</a>
Recommended hardware requirements for a big instance to handle 1,000 concurrent viewers (see our <a target="_blank" rel="noopener noreferrer" href="https://joinpeertube.org/news/stress-test-2023">blog post about our viewers stress test</a>):
Storage: can be mitigated using <a target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/admin/remote-storage">S3/Object storage</a>
Control the PeerTube player embed using the <a target="_blank" rel="noopener noreferrer" href="https://docs.joinpeertube.org/api-embed-player">embed API</a>