The objective of the project is to enable NFTs to be minted in real-time, from livestream video being processed by Livepeer's Broadcaster.
Livestream NFT Minting is a web3weekend project with 5 participants, across 3 continents (Asia, Europe, North America). # Summary The objective of the project is to enable NFTs to be minted in real-time, from livestream video being processed by Livepeer's "Broadcaster" functionality. # Concept Enable creators of livestreaming content to automatically mint NFTs of video content they are streaming. # Proposed Implementation Livepeer's "Broadcaster" is a simple livestreaming server. It receives livestream video as `rtmp`, and serves livestream video as `hls`: When converting `rtmp` into `hls`, the Broadcaster creates a sequence of "segments" of video content. Each `.ts` "segment" is around 2 seconds long, and exists for around 10-12 seconds before being gc'd: This project aims to add functionality to Livepeer's "Broadcaster" to allow these segments of video to be: a) stored to a decentralised storage network (IPFS/Filecoin or Swarm) b) minted as NFTs on a Layer 2. This would enable automated minting of livestream videos as NFTs when livestreaming using a Livepeer "Broadcaster" with this feature enabled. The good news is that Livepeer "Broadcaster" already has a signing key built in, to be able to connect to Ethereum.
In the end, the project opted to use Textile to watch the folder where Livepeer Broadcaster writes the `.ts` files to disk. Textile's "hub" software "watches" the `.lpData/offchain` folder, and uploads segments to IPFS. An example of the video segments being automatically stored is here, and also shown in the attached screenshots: https://hub.textile.io/thread/bafkvtmvqlacpi43dlegqwpafhjxjxcdssgw47ahhvgc4datqzqz6fmq/buckets/bafzbeialaizugr5wtk6jb7cbg26mamwssczms4bnzo7xihpr3fx5aeqsum/offchain Full instructions for setting up a build environment for this are here: https://github.com/videoDAC/Livestream-NFT-Minting/blob/main/ubuntu-build-environment.md Further, the project delivered a UX Concept for displaying Livestream NFTs (see attachments), as well as initial work towards a User Interface: https://github.com/videoDAC/front-videodac Additional investigation is ongoing to build a direct integration from go-livepeer to go-ipfs using golang. Further mentoring required for golang, and there were insufficient hackers with this skillset to be able to effectively deliver this part of the architecture. # What is Livepeer? Livepeer is a protocol, a live mainnet, a staking token, an open-source software suite, and the video layer of web3 stack, on Ethereum. The delegated-Proof-of-Stake (dPoS) protocol, launched in May 2018, provides inflation-funding mechanisms to reward for continuous participation in the network. The mainnet is a production transcoding network, where nodes receive source video, and transcode live video ("resize it" / "squash it") into "more accessible" formats, in sub-real-time, in exchange for streaming fees in ETH. The staking token is Livepeer Token (LPT), which can be used to curate nodes on the live mainnet, and receive a share of their fees and rewards. This can be done by connecting your wallet to Livepeer's Protocol Explorer. The open-source software suite is available on Livepeer's Github page, containing stuff for people who like Solidity, golang, javascript, typescript and C.
Technologies used