The problem Frictionless solves
Over–the–top media services (OTT) platforms have become quite popular in India in the last few years. OTT media service is a streaming media service offered directly to viewers via the internet. After the COVID-19 outbreak in the country, many filmmakers are now releasing their movies on major OTT platforms like Netflix, Hotstar, Amazon Prime etc.
Problem
When you want to watch a movie on an OTT platform, usually you have to subscribe to their monthly or annual plan. But what if you just want to watch a single movie? Or you try out a new movie and after watching for a while, it turns out you don't really enjoy it. Buying a monthly/annual subscription isn't really the best option in such cases.
Solution
This is where Frictionless comes into picture. Frictionless is a p2p OTT platform that allows OTT viewers to pay for exactly how much they watch.
How it works
- A content creator/filmmaker can release a new movie by uploading the trailer and the full movie (in .mp4) and specify the name, description and thumbnail.
- We use the video on demand feature by Livepeer to optimize the videos for streaming. Both trailer and movie are exported to IPFS and an NFT is minted for the trailer as a proof of ownership.
- A user can topup his wallet with super tokens (ex DAIx)
- The trailer is free to watch. Once a user clicks "Watch Now", the DAIx is streamed to the content creator from the viewers wallet. We use Superfluid smart contracts (CFA) to start and stop the stream.
- The user can stop the stream anytime. This way, the user pays for only the time he watches the movie, which would be way less than a monthly/anual subscription
- We deployed the frontend app using Spheron
Challenges I ran into
We faced several challenges along the way -
- Initially, we decided to store the movies and trailers in a centralized database. But while viewing, the client side would have to download the entire movie which is not ideal, especially if it's too large. We looked into HLS protocol and how IPFS stores videos. Livepeer's video on demand feature was a perfect solution and we decided to export all videos to IPFS. This way, the client can simply download the necessary chunk needed for streaming and give a smooth user experience.
- We also decided to create a video NFT for the trailer as proof of ownership. To do this, we had to write and deploy an implementation of the ERC721 smart contract on Mumbai testnet. Since we were new to Solidity, we faced a ton of challenges in this seemingly simple task, but we somehow managed to pull it off.