project screenshot 1
project screenshot 2

Livestream NFT Minting

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

Created At

Web3 Weekend

Project 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.

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.

background image mobile

Join the mailing list

Get the latest news and updates