We already have everything we need for decentralized video hosting. We just need upload services to support variable bitrate streaming and we can improve video playback performance in nostr clients by 100x Centralization of video has always been a terrible idea, but we have the tech to fix it. View quoted note →

Replies (50)

I hope we'll see this evolve around nostr. Kieran is already looking into supporting multi-track streaming on Zapstream. It's a new feature in the latest OBS build but the server needs to support enhanced rtmp.
Damus supports HLS streams, you can just paste a m3u8 link, but yeah we don’t have any deep integrations with specific implementations yet
Same, agree it’s not optimal in the sense not everyone can do it, but there can be many video hosting providers. It’s at least nice that we can even do it. X forces me to upload to their servers for inline video :/
We just need to make it easier to share these within clients. Maybe we could have a way to transcode video locally and upload multiple versions for the manifest @The Fishcake (nostr.build) ? I don’t think we have an upload scheme for this though.
The problem is peer discovery really. DHT sucks. You could implement a peer tracker using Nostr. The demo on WebTorrent uses a tracker and that works pretty fast for me, so not sure why we can’t do that over Nostr Otherwise it has everything you need: selective downloading of segments, hash verification, wtc Also it supports HTTP sources.
All that a tracker has to do is to map infohashes to a list of IP:ports for peers. And nostr events are perfect for that
From what I can tell this is no standard protocol for HLS uploads. Maybe we should spec that 🤔 this would save the media hosts from having to do all the transcoding. I’m actually surprised there isn’t anything like this already.
Amethyst has been playing around with custom media servers for uploads. It might be interesting to have specialized video media servers that can take zaps for storage costs. As long as Zaps mainly reach the original creator, and we have some tools to help the creator seamlessly also fund their media storage. Then it would be super easy to use even for non techies.
I think it’ll be easier for all of us if you just uploaded a semi-optimized media and media host do all the VBR transcoding and packaging for distribution. While transcoding is ongoing, we can serve the initially uploaded video, and the redirect to m3u8 manifest when it’s done 🐶🐾🫡
that would be interesting. imagine doing a really quick initial upload using the lowest quality, then higher quality versions could be uploaded in the background *after* the note as been posted.
I see no reason this couldn’t work. m3u8 is just a metadata file pointing to other files.
that works for me too, I was just trying to help the process since I don't think the redirect is working yet right? cloud transcoding pipelines are complex and I was just trying to make it easier for hosts by pushing all the compute to the edge.
I don't think they can take what they take with ads but it's something indeed
SRT is the better option. Open source supports encryption and dynamically adjusts bit rate. Also supported by OBS.