W3Flix
Decentralised content streaming platform with abilities to rent, subscribe and purchase audio/video content.
Screenshots



Problem Statement
W3Flix aims to ramp up the content streaming experience for consumers as well as creators using the Pay-Per-View model [through DataDAOs] to avoid any kind of piracy. Creators can configure different ways for distribution of their content (in form of video/audio streaming) like permanent purchase price, rent price (time-bound access) and subscription price (for batched content) without any intermediatory agent/entity. While users can enjoy their content in a browser-based secure sandbox content player with no buffering delays due to the 'content parts' encryption/decryption methodology.How content parts will work: Let’s consider a media of 500 seconds in length and if the configuration is set to have 5 parts with 0.02 overlapping, the parts will be as follows: 0 - 102 seconds 98 - 202 seconds 198 - 302 seconds 298 - 402 seconds 398 - 502 seconds [Overlapping Factor OF = 0.02 x 500 / 5 = 2 Parts’ lengths: {(range1 - OF) to (range2 + OF)}]
Solution
The main contracts (deployed on FVM testnet) are developed in Solidity, the frontend developed in React while the client-side backend is developed in Node.js/JS and Lighthouse SDKs.Backend flow for Creators:Creation of a smart wallet based on the parameters provided by the creator.Usage of the smart wallet to encrypt the content. (divide the content into parts and then encrypt)Upload encrypted content and non-encrypted content preview to IPFS/Filecoin.Store the links of uploaded encrypted content and non-encrypted content preview on the smart wallet contract. [4th step can be done by only the primary owner (aka creator). {Prompted tx} Those who will purchase/rent/subscribe will be defined as time-bound or permanent secondary owners.]Backend flow for Consumers:Contract approval for non-native tokens (not applicable for purchases in FIL).Purchase TX (aka defining time-bound or permanent secondary ownership in the smart wallet corresponding to the content/subscription.)Fetch the encrypted content from IPFS/Filecoin in parts (partial download).Decrypt the content parts using the smart wallet. (fetch and decrypt max 2 parts at any instance to avoid theft.)Parse the decrypted content parts to the frontend to showcase as media in the browser (in secure sandbox mode aka non-downloadable media players).
Hackathon
FVM Space Warp
2024
Contributors
- ShankarWarang
3 contributions
- pranavcpawar
1 contributions