Description

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.

Livestream NFT Minting showcase

How it's made

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

Ethereum