These days video is dominated by closed-source platforms like YouTube, Vimeo, and Twitch. Pomagranate is a open-source video sharing app using peer-to-peer technology and multiple servers.
How do you store the videos and not run out of money. What is peer to peer?
We distribute the load by distributing chunks of data between servers. In a newer update Pomagranate will take advantage of clients connected to it to make things even more stable.
Won’t glitch prevent you from creating too much projects?
That’s why we need the help of the community. You can help out by hosting your own Pomagranate instance on glitch or heroku today. The more instances the better. However we ask that you please keep these instances updated because there will be some important updates coming soon.
What are the limitations of this approach
There are two limitations with this approach. First, a video may not always be available, second a video is unable to play if it reaches a point where a chunk cannot be found in the network.
Can you explain how it works a bit more
When someone asks for a video a request is sent to a Vine Server(also open-source) to find the chunks. The only information the Pomagranate server knows about a video is the hashes of it’s chunks. The Vine Server then relays messages like “Hey everyone, anyone got this chunk insert hash here” and the servers go on a race to send the chunks over. Nothing happens if a server sends over a chunk and loses the race to be the first one to send a chunk.
You can, I’ll see if I can share the glitch project with you. I’m thinking off adding support for music and pictures also.
Also here’s an annoying thing. When the system detects there’s too much files from the preset config variable it will stop saving chunks and you will have to rely entirely on having clients with the chunks being online. However if we start more instances of it we can solve this problem temporarily.
Also videos uploaded to a Pomagranate instance can only be accessed on that instance.
Annocument: Developement of this project will most likely resume next monday. I am currently finsihing another project and will add new features to this one when I’m done. Also for those of you running a Pomagranate instance, please note that the chunk size will be changed to 3mb next week because browsers have a storage quota limit of 5mb and each chunk needs to be encoded into a string which makes it take 4/3 more space.
I’ve now got a plan of what to do next. To increase the amount of peers I’m going to add a module where users can watch youtube in addition to p2p videos, and seed/download videos.
P.S. Indexeddb has no storage limit except on firefox I think, so I’ll chuck the video chunks in there.
Also all video chunks are now a size of 1mb
yeah the server node is full, the issue is that we can’t get peers on long enough
also speaking of pomagranate the issue with integerating youtube into it is that there’s a high chance of getting banned from youtube because they think you are scraping data from them