This thread is meant to contain all the resources that one needs in order to understand what it means to be a transcoder on the Livepeer Network, and how to successfully operate as a transcoder.
Transcoder Election Dashboard (currently Rinkeby testnet) - https://explorer.livepeer.org/transcoders
Transcoder campaign thread - (Coming soon)
Livepeer Whitepaper - https://github.com/livepeer/wiki/blob/master/WHITEPAPER.md
Transcoder chat - https://discord.gg/cBfD23u
What is a transcoder on Livepeer?
Video transcoding is the process of converting video from one format to another. For background on why video transcoding is necessary see this link from DaCast. On Livepeer, transcoders run the Livepeer Media Server software in order to provide video transcoding, but they also have special responsibilities to the network in terms of generating new Livepeer Token (LPT), and helping to settle payments from broadcasters across all network participants.
In the medium term, Transcoders will run significant scaled hardware and have significant bandwidth to handle many parallel streams of video. Their setups may be akin to cryptocurrency mining operations. But in the short term, while Livepeer is in alpha and the network is rolling out, the primary responsibilities of a transcoder are:
- Keep your node running 24/7.
- Conduct all the required protocol interactions for performing a transcoding job, minting new Livepeer Token, and claiming your fees + rewards.
- Pay attention to the network economics and respond to your incentives accordingly. This could be fixing bugs, adjusting your prices, or sharing feedback and bug reports to the community.
- Secure your node so that no one can access your Ethereum private key.
You can see that being a transcoder at this stage is just as much about understanding and interacting with the Livepeer protocol running on the Ethereum blockchain, as it is about actually transcoding video. A great transcoder may be 1/4th DevOps professional, 1/4th economics and protocol enthusiast, 1/4th developer, and 1/4th community builder.
Keep your node running 24/7
The Livepeer node is a command line process that runs on OS X or Linux. It’s started in transcode mode quite simply by passing the
At this point, if Livepeer was perfect software, it would run 24/7 indefinitely. However Livepeer is very much in alpha. The process may crash. Or even worse, the process may continue running but get into a state where it’s lost connectivity with its peers on the network, or won’t continue taking all the protocol actions.
Your job is to keep this process running, observe and test that it’s doing what it’s supposed to be doing, and potentially even improve the software as you find bugs that is causing it to act incorrectly.
Conduct all required protocol interactions
Note that, again, the node should do all of this for you, if it is running correctly. But if it is not running, or you discover a bug, the effects will be on lost opportunity for you as a transcoder, so best to be aware of what is expected of you.
- Initialize the round. (only one transcoder has to do this once per day, so you may not have to).
reward()once per round. This is how you get your LPT token rewards.
- For transcode jobs that you get assigned and perform,
distributeFees(). This is all handled for you by the software and would be difficult to compose manually. See details in the Spec.
Pay attention to network economics
To get work you have to set your prices accordingly and attract delegators. The best way to do this is to pay close attention to the network parameters in the livepeer_cli and at https://explorer.livepeer.org.
In your campaign to be elected as a transcoder, and in your ongoing communications to the community, you can promote your pricing, your fee shares and reward cuts, and your history of reliability in calling
reward() and distributing fees.
Secure your node
A transcoder node must be online 24/7 constantly signing (and paying gas for) Ethereum transactions. This means that the private key for a funded account is likely sitting on the node in an unlocked state.
- This is a risky situation in any circumstance.
- The Livepeer software is in alpha and certainly may contain bugs or opportunities for exploits.
It is up to you to run your node responsibly using solid security practices, to manage any associated ETH or LPT responsibly, and to be on the lookout for and fix bugs before they cause any harm to your node.
How to become a transcoder
The Livepeer protocol elects active transcoders according to their total delegated stake. This is a complex topic which is covered in An overview of bonding, How to stake and delegate in order to participate in the network, and The Livepeer Whitepaper. To actually declare yourself a transcoder candidate, you fund your node with ETH and LPT, and you bond to yourself. The CLI makes it easy to do this.
Setting your reward cut, fee share, and price/segment
These are the levers that you have as a transcoder to compete for delegated stake and work on the network against other transcoders.
Each round Livepeer mints new LPT, and distributes them to everyone in proportion to how much they stake. Reward Cut is the % of your delegators LPT that you will keep for yourself. Delegators -> paying you because you’re doing great work for the network and routing fees and rewards towards them.
As a transcoder you charge fees to transcode video. Fee share is the % of these fees you will share back to your delegators. You -> rewarding your delegators for providing great QA to the network and routing work towards you.
Price/segment is what you charge per 4 second segment of video that you transcode. (Note that this will be adjusted in the future to take into account what type of transcoding you performed). If you’d like to charge $0.50/hr/output stream, then at $500/ETH you would set your price/segment to 1,111,111,111,111 wei.
What are the most important things you can do as a transcoder today?
reward()every round. This is how you get your earned LPT and keep your delegators happy.
Keep that node running and pay attention to whether it’s claiming work, verifying work, and distributing fees. If not, participate in the discussion in transcoder chat and even consider filing or fixing issues on the node itself. We’re all in this together!