Broadcaster Setup

Overview

The getting started tutorial will walk you through the steps required to send a livestream into the Livepeer public network for transcoding and play it back inside your application. Initial setup for a Broadcaster node can involve some DevOps and requires that you pay in a cryptocurrency (ETH). But, there is large, global Livepeer community ready to help. The Livepeer Discord server is very active.

note

For the sake of this guide, we'll be livestreaming using the Rinkebytest network. You can think of this network like a sandbox environment for testing your livestreams. If you're livestreaming in a production setting make sure to change the network to mainnet. Learn more about supported networks, including Ethereum mainnet and Rinkeby, here.

Pre-requisites

Run Broadcaster

Starting livepeer with the -broadcaster starts the node in broadcaster mode enabling you to stream video into the Livepeer network.

livepeer \
-network rinkeby \
-ethUrl https://rinkeby.infura.io/v3/<PROJECT_ID> # Visit https://infura.io to obtain a PROJECT_ID \
-broadcaster \
-httpAddr 0.0.0.0 \
-rtmpAddr 0.0.0.0 \
-currentManifest

Deposit Broadcasting Funds

You will need to deposit funds used to pay the node operators on the network (orchestrators) responsible for transcoding your live video. Node operators get paid in a cryptocurrency called Ether (ETH).

Since we're using the Rinkeby test network for this tutorial you'll need to acquire some free test ETH. You can get some here.

Once you've acquired your test ETH, in a separate terminal window other than the one that is running livepeer, run the livepeer_cli:

$ livepeer_cli

Note: The livepeer_cli binary is provided alongside the livepeer binary when you install the Livepeer client.

This command starts the CLI interactive wizard which can be used to issue commands to be executed by your broadcaster node.

Select the following option:

Invoke "deposit broadcasting funds" (ETH)

Upon selecting the option, you should be prompted to enter the amount of ETH to allocate for your deposit and reserve. Broadcasting funds are split into a deposit and a reserve. Deposit funds are used to pay any active orchestrator on the network. Reserve funds guarantee active orchestrators up to a fixed cap to ensure that orchestrators are paid fairly even if a broadcaster depletes its primary deposit. The distinction between the deposit and the reserve arises from the probabilistic micropayment protocol that broadcasters use to pay orchestrators - see this blog post for more details.

After answering the wizard’s prompt, you should see a transaction submitted by your node. After the transaction confirms, you can see your updated deposit and reserve by refreshing the wizard.

Congrats! Your broadcasting wallet is loaded up and you're ready to begin broadcasting.