This role configures LivePeer, an open-source service:
Open Source Video Infrastructure Services, Built On The Ethereum Blockchain.
A LivePeer node - which runs as a docker container - exposes 3 ports:
- CLI - Command line tool access, management API (
7935
) - HTTP - For streaming video to web and other media players (
8080
) - RTMP - For receiving media stream to transcode and broadcast (
1935
)
In general the workflow is as follows:
- A source of media(video+audio) like OBS or else is set up.
- The source streams to the RTMP TCP port.
- The LivePeer node runs transcoding if necessary.
- The LivePeer node broadcasts the stream via the HTTP port.
The HTTP port is exposed via HTTPS using Nginx using CloudFlare certificates.
This role deploys two services:
- LivePeer node described above.
- LivePeer JS player and website.
The proxy that exposes the JS player defaults to ports 80
and 443
in Nginx, you can see that in templates/nginx_proxy.conf.j2
.
Add to your requirements.yml
file:
- name: livepeer
src: https://github.com/status-im/infra-role-livepeer.git
Due to being part of Status infra this role assumes availability of certain things:
- Docker for running containers
- Nginx full installation
- The
iptables-persistent
module