Standard Grant: Fabstir Web3 Media Player #2

Project Name: Fabstir Web3 Media Player #2

Organisation: Fabstir

Primary Contact: Jules Lai (Founder and CTO of Fabstir)

Summary:

Additional grant proposal (previous here) to get Fabstir Media Player polished and user-facing. It is to have a live public platform for permissionless use with the core abilities to stream videos, transcode uploaded videos via Sia peer-to-peer network and tokenise said content for Web3 decentralisation on Polygon PoS.

Objectives:

  • Smart Contract Audits: Smart contracts audited from reputable firm to ensure security and reliability, to meet Consensys requirements.

  • Cloud Infrastructure Setup: Deploy Fabstir transcoder on a cloud platform with the necessary GPU support. Deploy media player application on CPU cloud node to ensure accessibility and performance.

  • MetaMask Snaps Approval: Follow the MetaMask Snaps submission process, which includes preparing documentation, ensuring Fabstir Media Player Snaps meets Consensys security and functionality guidelines

  • Testing and Quality Assurance: Ensure comprehensive unit and integration tests to cover the smart contracts, front end, and any backend peer-to-peer services.

  • Continuous Monitoring and Feedback Incorporation: Once live, continuously monitor dApp’s performance and user feedback.

Budget:

The grant proposal is for $77660 to support the project’s development over a period of nine months. The budget allocation is as follows:

Jules Lai to be full-stack Web3 developer: $40000

  • GPU & CPU cloud cost $11000*

  • Hardware/software $2000

  • Smart contract audit $22660*

  • Legal/accounting $1000

  • Contingency and Miscellaneous $1000

Proposed Timeline:

First 3 Months: Core Development and Payment Integration

  • Focus on finalising the core functionalities of the dapp, ensuring all features like

video upload, transcoding, and NFT wrapping are polished.

  • Complete the development of the dapp’s payment dashboard for transcoding, storage (Sia/S5) and NFT minting fees (Polygon) + running costs.

  • Begin creating documentation for the npm package and platform.

Second 3 Months: Security, Scalability, and Public Access

  • Deploy the Rust transcoder to the GPU cloud node with preliminary testing.

  • Deploy the media player dapp to the CPU cloud node with preliminary testing.

  • Package the media player and gallery as an npm module with integration testing.

  • Prepare and submit the dapp for MetaMask Snaps approval.

  • Address feedback from smart contract audits and finalise security enhancements.

Third 3 Months: Final Preparations and Community Engagement

  • Deploy the dapp in a live production environment for public use, ensuring scalability.

  • Enhance the platform based on beta testing feedback for user experience.

  • Finalise the roll-out to full public release upon MetaMask Snaps approval

*Preliminary quotes have been gathered from Paperspace, Hetzner and Hacken.

Benefits to Sia

IPFS and its ecosystem has a stranglehold in the Web3 world when it comes to offline storage off of blockchain. Fabstir Media Player can help build a foothold for Sia from where its competitor (for want of a better word) is particularly deficient; medium to long form video for storage and streaming.

Fabstir gives the option for any of the 1 to 2 million monthly active users of Polygon’s NFT marketplaces to mint video NFT of any length yet
still have the lower quality short video, perhaps used as a trailer or sample, remain compatible to showcase on existing NFT exchanges for trading purposes. Then use Fabstir Media Player to play the film in all its full length and higher quality glory. There is currently no NFT marketplace out there that can trade medium or long form video. This can help bring in more users to Sia’s ecosystem.

Anyone will be able to use Fabstir Media Player as an npm package to build out their own NFT media marketplace dapp or perhaps add to their website pages for whatever use case that would benefit from smooth higher quality video playback using Sia peer-to-peer storage via S5 content-addressed network.

Professional filmmakers may come to know Sia as a quicker and cheaper way to archive their masters and easily add ownership and authentication properties by minting an NFT. Could lead to further use for example, unlocking premium content such as behind-the-scenes content or cast/crew interviews, different edited versions of the film etc.

Having a MetaMask Snaps plugin as one of its first media dapps to its 30 million monthly active users could garner great exposure to Sia’s ecosystem in its role for decentralised storage and attract new users into the ecosystem.

Future expansion to other EVM compatible blockchains would require minimal changes if at all and potentially bring in more users to Sia.

Risks

Whilst Consensys has pledged to open up MetaMask Snaps to a fully permissionless system, they have not given a date publicly, since its launch to the public last September, 2023. So there well may be a vetting process involved for Fabstir to release the media player.

Some risk may lie on S5 in production in terms of how well it copes when scaling up to more users, since it’s a new system.

Balancing the cost of Sia storage, S5 usage, upkeep costs of the transcoder cloud server and other running support costs will be an adaptive, learning process as a lot is new.

Thanks for your new proposal to the Sia Foundation Grants Program!

The committee is requesting some additional information before further consideration.

  • The budget item for “GPU and CPU cloud cost” seems quite high. Could you please provide an itemized list of the estimates you received?
  • The budget item for “Smart contract audit” is something the committee is open to, but will not approve at the beginning of the project. They’d like to see the bulk of the project working on testnet or another private instance before approving the smart contract audit. Please remove this line item from this initial proposal. We recommend submitting for this as a separate grant, or as a later stage milestone for this grant, after the above condition has been met.

Hi Steve,

Understood. I will post up the revised proposal in the next post.

Kind regards,
Jules

Project Name: Fabstir Web3 Media Player #2

Organisation: Fabstir

Primary Contact: Jules Lai (Founder and CTO of Fabstir)

Summary:

Additional grant proposal (previous here) to get Fabstir Media Player polished. It is to have a live public platform with the core abilities to stream videos, transcode uploaded videos via Sia peer-to-peer network and tokenise said content for Web3 decentralisation on Polygon Mumbai testnet.

Objectives:

  • Cloud Infrastructure Setup: Deploy Fabstir transcoder on a cloud platform with the necessary GPU support. Deploy media player application on CPU cloud node to ensure accessibility and performance.

  • Testing and Quality Assurance: Ensure comprehensive unit and integration tests to cover the smart contracts, front end, and any backend peer-to-peer services.

Budget:

The grant proposal is for $37891.02 to support the project’s development over a period of six months. The budget allocation is as follows:

Jules Lai to be full-stack Web3 developer: $26666.67

  • GPU & CPU cloud cost $8557.68*

  • Hardware/software $1333.33

  • Legal/accounting $666.67

  • Contingency and Miscellaneous $666.67

Proposed Timeline:

First 3 Months: Core Development and Payment Integration

  • Focus on finalising the core functionalities of the dapp, ensuring all features like

video upload, transcoding, and NFT wrapping are polished.

  • Ready the development of the dapp’s payment dashboard for transcoding, storage (Sia/S5) and NFT minting fees (Polygon) + running costs.

  • Create documentation for media player.

Second 3 Months: Security, Scalability, and Public Access

  • Deploy the Rust transcoder and media player to cloud nodes with preliminary testing.

  • Package the media player and gallery as an npm module with integration testing.

  • Deploy the dapp on testnet production environment.

  • Deploy the dapp for live production environment.*

* The core functionality of creating an NFT for video, audio, media, files and data both short and long form plus the ability to stream videos, transcode and upload media with all transcoder features will be live on Polygon mainnet. Some more exotic features that require smart contract audit will be initially disabled.

The platform will run without inclusion into MetaMask’s currently permissioned Snaps marketplace.

Breakdown of GPU & CPU cloud cost

*Preliminary quotes have been gathered from Paperspace for GPU cloud and Hetzner for CPU cloud

ASCII Calculation Total
GPU cloud NVIDIA A6000 GPU $1.89/h * 24 * 183 $8300.88
CPU cloud AMD Ryzen™ 5 3600 CPU, 6 cores @ 3.6 GHz $42.8/mth * 6 $256.80

Hosted NVIDIA GPU servers have to use professional range of GPUs. For AV1 video encoding, Ada Lovelace architecture is required.

Future benefits to Sia

IPFS and its ecosystem has a stranglehold in the Web3 world when it comes to offline storage off of blockchain. Fabstir Media Player can help build a foothold for Sia from where its competitor (for want of a better word) is particularly deficient; medium to long form video for storage and streaming.

Fabstir gives the option for any of the 1 to 2 million monthly active users of Polygon’s NFT marketplaces to mint video NFT of any length yet
still have the lower quality short video, perhaps used as a trailer or sample, remain compatible to showcase on existing NFT exchanges for trading purposes. Then use Fabstir Media Player to play the film in all its full length and higher quality glory. There is currently no NFT marketplace out there that can trade medium or long form video. This can help bring in more users to Sia’s ecosystem.

Anyone will be able to use Fabstir Media Player as an npm package to build out their own NFT media marketplace dapp or perhaps add to their website pages for whatever use case that would benefit from smooth higher quality video playback using Sia peer-to-peer storage via S5 content-addressed network.

Professional filmmakers may come to know Sia as a quicker and cheaper way to archive their masters and easily add ownership and authentication properties by minting an NFT. Could lead to further use for example, unlocking premium content such as behind-the-scenes content or cast/crew interviews, different edited versions of the film etc.

Having a MetaMask Snaps plugin as one of its first media dapps to its 30 million monthly active users could garner great exposure to Sia’s ecosystem in its role for decentralised storage and attract new users into the ecosystem.

Future expansion to other EVM compatible blockchains would require minimal changes if at all and potentially bring in more users to Sia.

Risks

The live release version of Media Player is intended to run standalone or with MetaMask Flask (developer version of MetaMask and not the standard version so there may be stability issues).

Consensys run an allowlisted Snaps directory of plugins that been audited by third parties as well as the MetaMask team. In their words “MetaMask Snaps Open Beta is a first step to building this permissionless system.”. No date has been given for the permissionless system.

Some risk may lie on S5 in production in terms of how well it copes when scaling up to more users, since it’s a new system.

Hi, thanks for the update.

Just for me to understand: are you going to use the GPU computing for the whole project duration, from the start till the end, 24/7?

Hi Mike,

What I want to do is have the transcoder platform up on the GPU cloud sort of 2/3-3/4 of the way through proposal cycle. Before then I can use my home pc for dev work.

And then moving forward after further testing, have it so anyone can mint a video/audio/image/data NFT to keep or sell it on exchanges or whatever. So the GPU cloud being used for this with some time needed for things to find their feet.

Snaps will be a great way to bring in lots of traffic/volume, currently has to go though an audit procedure vetted by Consensys which they claim will be loosened but no set date as far as I know.
I’ll be handling state through GUN SEA API for encryption of keys so not an issue.

So the plan is for the platform out live, people using it and it earning money with the aim to cover costs.

P.S. I will be exploring other use cases as well for movie production/VFX footage archival. Even DCP transfer between cinemas, that might be good use case for independents. I am meeting up with a London cinema owner next week, can discuss this.
This is not part of the proposal, something that is possible when you have a system of encryption and ownership tagging. Since also can pay by fiat, people don’t have to get their head around crypto to use it. Opens up possibilities.

Thanks for providing the requested edits to your proposal. I’m happy to relay the the committee has approved this grant!

The committee still wasn’t sold on your choice of six months of GPU rental. Due to your comments about not needing it until 2/3-3/4 of the way through the timeline, we may structure your payments so that these funds are disbursed in the back half of your grant. We can discuss the specifics of that separately.

We’ll reach out to your provided email address to begin onboarding. It can take a couple of weeks to get new grantees set up, so please feel free to adjust your timelines accordingly.

Thanks Steve and the Foundation,

All good.

I continue the development on the proposal and things around it. I’m all in.

Best,
Jules