If you have easy access to hosting and enough bandwidth, a <video> tag and static HTML is "good enough". If you want to get
really fancy and are willing to touch JS, you can have some code swap out sources based on the screen size, if the video buffer has run dry recently, etc.
The killer problem is specifically the bandwidth. There is not enough capacity to scale video over IP transit[0]; individual creators will get hosed by bandwidth costs. The way that every video platform gets around this is peering[1], but that requires lots of capital expenditure; and last-mile ISPs will play shenanigans with peering negotiations[2]. This is also why video is a monopoly market: large companies can negotiate way better bandwidth deals than you can.
Someone else mentioned PeerTube; I personally do not consider it a solution because P2P is a privacy nightmare. It's still fairly common still for vexatious litigants[3] to sue members of BitTorrent swarms to try and extort settlements out of people. Not to mention, how the heck do you handle GDPR in an environment where every one of your customers gets every other customer's IP address?
[0] What most people think of when they talk about "buying an Internet connection" - you pay someone else to route your packets.
[1] How ISPs connect to one another. You set up a link between your network and theirs, either in the form of physically wiring up extra cabling or connecting up different switches in a colocation center. That link then carries all the traffic between you and them (and either side's transit customers).
This saves money over transit, if you have lots of traffic between you and that ISP.
[2] Notably, Comcast refused to upgrade their link with Level-3 because Netflix was one of their customers
[3] Also regular copyright holders too, but usually they give up once they get a DMCA takedown processed.