Setup

How to get your very own Javelin running.

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

# Make sure your $CARGO_HOME/bin is in your $PATH

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

© Lucia's Cipher: The place where robots, foxes, smores and tomatoes are worshiped.