Livepeer Studio

Live streaming from your app

Livepeer Studio global-optimized ingest URL is rtmp://rtmp.livepeer.studio/live/.

There are many 3rd party applications that allow streamers to push video in the RTMP protocol. These include:

For building your own streaming application you can also use any RTMP library available out there. For example, Streamaxia is available both for iOS and Android.

Livepeer Studio is currently working on additional recommendations for mobile SDKs. Fill out a contact form if you have more urgent needs.

Streaming from the browser is non-trivial since the RTMP protocol has a dedicated wire protocol on top of TCP. Browsers do not allow applications to use TCP directly, so you can't do RTMP directly from a web app.

To make things a little easier, Livepeer provides the @livepeer/webrtmp-sdk which can be used for streaming from the browser. It doesn't use RTMP but a wrapped version of it on top of WebSockets.

Check the package documentation on NPM to get started, it also contains a couple sample projects that you can get started with. To see a production application with it check out justcast.it.

Livepeer hosts its own WebSocket to RTMP server, which the SDK uses by default. Not all browsers support the video codec supported by the Livepeer network though, currently only H.264. So this default hosted server will only work well in Chrome Desktop for now.

If you want to take your browser-streaming application to production and support users in non-Chrome or non-desktop browsers, you can deploy your own webrtmp-server. All you need to set is the LP_STRICT_PROTOCOL=false flag so it does transcoding of the video in case the user browser does not support H.264. For an example of such setup check the justcast.it deployment spec on fly.io.

Keep in mind that this transcoding can get unperformant or expensive if you have a lot of users sending video not in H.264.