Thanks for your interest in Livepeer. We’re going to publish project updates on a weekly cadence to make sure that everyone in the community can stay up to speed on the progress being made. The early part of this note will contain high level project, product, and business updates, and the latter part will be largely technical development updates.
Livepeer Weekly Update - 3/24/2017
This week we made progress on two major efforts:
- The Livepeer Media Server is now functioning as a standalone media server with a clean interface for use within any live streaming application.
- We designed a candidate protocol for verification of work (proof of transcoding) within Livepeer.
There are many different factors which will contribute to the success of the Livepeer project including things like the community, the eventual productization of the platform, the ease of use, marketing and support, etc. But the two factors that will really make or break the project in the early days are the quality and functionality of the live video streaming experience, and the viability of the crypto-protocol that governs and incentivizes the network. This is why we're largely heads down building and designing technology at the moment. It's critical to get these things right.
Media Server Update
Livepeer Media Server (LPMS) is a live streaming media server that can be used either independently, or on top of the Livepeer network. It allows you to broadcast / manipulate a live video stream. Currently, LPMS supports RTMP as input format and RTMP/HLS as output formats. We re-architected the LPMS project this week so it now lives in its own repo.
LPMS can be integrated into another service, or run as a standalone service. We have provided a standalone example in cmd/lpms.go, where you can start a LPMS server instance and stream video to it. It also serves as an example as how you can integrate the package into your existing project.
This version of LPMS is a small starting point on a much longer roadmap. Our goal is to make LPMS into a full-featured video live streaming media server, supporting many of the features an internet broadcaster requires. In the coming months we'll be adding features like adaptive streaming, multi-stream support, and metadata support. Please feel free to give us feedback in our forum at http://forum.livepeer.org.
To give it a go, check out the repo at https://github.com/livepeer/lpms.
This week we focused on one of the open areas of research for Livepeer, computation verification. When a node in Livepeer takes the job of transcoding a stream, it needs to be verified that they actually did this work correctly so that they can be paid for the task, or they can be penalized if they cheated. As mentioned last week, we were super excited about the release of the Truebit whitepaper, which describes an onchain protocol for verification of work.
We've been working with the Truebit team this week to figure out how to adapt the protocol for the purposes of transcoding verification, or how to use the protocol as a black box algorithm, for use within Livepeer. At the moment we have an early draft of a spec for transcoding verification, and we're working through various options for defending attacks and weaknesses. While we're not ready to publish the spec yet (look for it in the future Whitepaper), here's a preview of the high level data flow of video segments, signed proof of transcoding, and random verification against Truebit. Feel free to drop into our gitter chat to discuss and ask questions.