Pubswap - IPFS video content sharing service (like youtube/bitchute)

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.

5 Likes

for increase your visibility maybe it can be intresting add your project in awsome-ipfs project : https://github.com/ipfs/awesome-ipfs

Regards

3 Likes

Are you planning to open source it? and if so, where?

Doesn’t work for me. I tried Big Buck Bunny and several music videos in Firefox 63 and Chromium 69. The videos are never get loaded.

Would it be better to add js-ipfs into existing decentralized video engine like Peertube?

We may open a few of the individual pieces at some point but it rarely makes sense to open an entire product or system. There are 4 different languages spread across a front and back end with node services running out of band and server config as well as IPFS node infrastructure. Not to mention data model, queued worker config as well as all the deployment logic and much more.

Having said that, we are considering opening our IPFS js player if/when it becomes stable. Right now we are having significant issues with the js-ipfs eco system. The bootstrap nodes don’t seem to be able to handle their current workload so we are unsure of the direction of this project ATM.

@ValdikSS Yes the js-ipfs network is having massive issues at the moment and no blocks will traverse the network. It seems that js-ipfs is dead in the water. We are hoping for a speedy recovery and some stability moving forward.

Some basics docs on how to get off of the ipfs.io train and completely host ones own bootstrap network would be most beneficial

Thought it was based only on IPFS.
good luck then!

Pubswap is offline at the moment… :frowning: