So, you’ve tried our five minute streaming tutorial and have even tried interacting with our API directly.You’ve tested Livepeer’s transcoding infrastructure first-hand, and see how it instantly enables video on any platform. You’ve decided you’d like to integrate Livepeer into your app. Now you’re wondering … well, what else do I need to know? What adjacent live streaming pipeline software and features does Livepeer support?
Before we begin, keep in mind that Livepeer is constantly evolving, adding new features, and enabling new integrations. As we continue growing, we’ll keep this blog post and our support matrix with similar information current. Feel free to reach out with any questions, suggestions, and thoughts to [email protected]
Let’s start at the beginning - ingest support
At the moment, we have Livepeer ingest points located in Germany (Frankfurt) and the United States (Chicago). You’ll see these referenced in the RTMP ingest and playback URL pairs when you create a stream on livepeer.com. For best performance, broadcasters in or around Europe should select the Frankfurt endpoint, and those in the Americas the Chicago endpoint.
We support RTMP, H264 + AAC streams and several broadcasting encoder software - OBS 25.0.8, ffmpeg 4.3, and Streamaxia. Though we haven’t tested the following encoders, we are happy to support integrations with Xsplit, other versions of OBS and ffmpeg, and other RTMP encoders. We don’t support WebRTC and SRT encoders at the moment.
When considering what kind of resolutions or frame rates to successfully send through Livepeer, we recommend sticking to resolutions up to 1080p and frames per second (fps) of 24, 25, 30, 60, uniform across all renditions. Reach out if you have a different use case here - we’re happy to chat about other resolutions and fps you might be interested in.
Finally, and very importantly, we recommend you stick to constant GOP sizes of 2s to 8s. GOP size is also called “keyframe interval” on broadcasting software like OBS. The length of a GOP, or group of pictures, refers to the number of frames between two intraframes or I-frames. An I-frame contains all data needed to display that frame and generally, the more i-frames a video has, the higher the quality and larger the size of the video.
As with ingest, we have transcoding clusters in Europe and the United States, support H264 + AAC codecs, and transcode video into similar resolutions and frame rates.
With H264 transcoding comes a range of profile options that enable a variety of features. At Livepeer, we support the Baseline, Main, and High profiles. Profiles ensure compatibility between encoder and decoder devices - they essentially ensure that all involved can handle specific features supported by the profiles. A baseline profile generally supports a more basic set of features, as the name suggests. Main and high profiles are typically used for web streaming and high-quality broadcasting.
You should set your pixel format to YUV4:2:0.
Video Workflow Support
Once you’ve transcoded your video through Livepeer, you should expect to be able to watch your video as an m3u8 HLS playlist in a number of different video players. At Livepeer, we’ve tested with and support video.js, hls.js, safari/ios native player, and THEOplayer. For a detailed guide on how to integrate with THEOPlayer, take a look at our tutorial here. Though we haven’t tested them internally, we’re happy to work with you on integration with JWPlayer, android native, Shaka, Exo, Bitmovin, and Brightcove.
At the moment, we’re seeing end-to-end latency of 10-18 seconds in the EU and US with good RTMP ingest health, 2s segment size, and standard 3 segment buffering in player.
Finally, paying users can take advantage of CDN delivery and custom Livepeer CDN setups.
We hope this information was useful! At Livepeer, we’re building the future of video transcoding services, and can’t do that without your input. Please let us know what you think, tell us what you’d like to see us support in the future, reach out with any questions, and let us know how we can help by emailing us at [email protected]
Video transcoding will allow your content to reach more end users. Video transcoding helps ensure that viewers with devices that do not support certain formats, have reduced capacity, or are incompatible with obsolete file types, are able to access the video files. It also ensures that those with slow connections can have a seamless watching experience.