Hey all!
Just wanted to drop a quick note here about my latest project, pubswap.com.
It is a video content sharing service that utilizes IPFS as the CDN. It uses both the js-ipfs browser node as well as any stand-alone node (local or remote). The browser node is used for all content formats that support streaming (DASH/Webm) while the IPFS HTTP gateway of the stand-alone node will be used for any content that cannot.
I have designed a method of support that allows users that subscribe to a channel to seed the content of that channel when they view a video from that channel by having the web client auto-pin the hash of the video to their stand-alone IPFS node (if one is configured). This will allow popular channels to benefit from a rather large seed group.
I have just privately launched the service this last weekend and it is still in beta. I’d be honored if folks here would register an account and kick the tires a bit to provide some feedback. I am still working on seeking the video outside of the buffered range and have the IPFS logic worked out but I think I need to re-initialize the MS RB stream each time I seek (which I am not currently doing).
This has little impact though as IPFS downloads are so fast that a standard def 15 min video is downloaded and loaded into the video player buffer within seconds of starting so the entire content is available to seek. The problem only shows itself on videos in the hours range of length. That amount of data will overflow the player buffer so I have to play nice when downloading and pause the IPFS stream when the player buffer gets full and then resume when space frees.
There may also still be some lack of error handling or notifications which is what I am maturing ATM.
Anyway, sorry I am rambling but please take a look and spread the word.
Tech Stack:
React 16 (ES2017) (web client)
Rails 5 API (backend)
Redis (in-memory key/value store)
Elasticsearch (full text search)
MySQL (data store)
Nginx (web server/load balancer)
IPFS (special sauce)
I will be starting the mobile client development in React native in a couple weeks once I get through maturing what I have already.
Props to the entire IPFS team! I believe that IPFS will truly be a game changer and am excited to be riding the initial wave.