Requirements
Warning! This setup guide assumes you have some knowledge about running servers,
compiling source code, managing the same, and understanding bandwidth limitations and server outputs.
This setup requires a savvy system administrator.
- OBS
- Cargo or Docker
- High-Bandwidth Server
- Beer
Installing and Running
Cargo
Cargo is Rust's compiler helper tool, which can also be used to quickly install Crates.
cargo install javelin
javelin --permit-stream-key="mysecretstreamkey"
Docker
Docker is a virtualization layer that allows for the creation of isolated services and easy management.
You can find the image on the docker hub
here.
docker pull registry.gitlab.com/valeth/javelin:latest
docker run --tty -p 1935:1935 \
registry.gitlab.com/valeth/javelin:latest \
--hls-root=/tmp/streamout \
--permit-stream-key=123456
Broadcasting
Open Broadcaster Software (OBS Studio)
Make sure you set up OBS adequately for your network bandwidth.
Don't forget that you still need to send video and audio data to the server.
And that the server then needs to send that same data to whoever is watching.
Go into
File > Settings > Stream.
Set
Service to
Custom...
In the
Server field enter your server location in the form of
rtmp://host:port/app where
host is the server domain or IP.
You can omit the
port if you are using the default
1935
and the
app is arbitrary and can be whatever you choose.
The
Stream Key is the same one you permitted in the installation above.
Watching
Media Player Classic
Going into
File > Open File... will open a source dialogue.
In the
Open: field enter either the same addres you entered in the
Server field in OBS, or the
.m3u8 playlist URL if you
are exporting the files over an HTTP server in the HLS format.
The HLS url, depending on your setup, is usually at
http(s)://host:port/app/playlist.m3u8 VLC Media Player
Going into
Media > Open Network Stream... will open a source dialogue.
In the
Please enter a network URL: field enter either the same addres you entered in the
Server field in OBS, or the
.m3u8 playlist URL if you
are exporting the files over an HTTP server in the HLS format.
The HLS url, depending on your setup, is usually at
http(s)://host:port/app/playlist.m3u8