- For starters, you need the server space to host it. Videos can be large -- a 10 minute 4k video can be nearly 5gb in size.
- Then you need to the CPU to transcode it to various formats and bitrates (Youtube keeps more than 30 different formats sometimes)
- Then you need to bandwidth to actually serve all that data. Ideally you have servers geolocated close to the user.
As someone with a slow internet connection, I generally despise self hosted videos. If your video won't load because I don't have a >100mbit connection, I will likely leave.