wiki:broadcast-admin

Version 2 (modified by Jamie McClelland, 22 months ago) (diff)

--

Broadcast Admin page

The user facing documentation is published here.

The May First/People Link live code lives on dee.mayfirst.org and is published via gitlab.

It has two components:

  • A client component that users the mediarecorder API to capture and send a video stream.
  • A nodejs component to pipe the stream to ffmpeg, which sends it to icecast

The code is installed on dee in /home/icream and the service is maintained via /etc/systemd/system/icecream.service.

Icecast

Our code is currently streaming to b.stream.mayfirst.org (sankara).

Iceast is configured using the url method of authentication plus wildcard mount points.

In other words, we have the following mount point defined:

    <mount>
      <mount-name>/s-*</mount-name>
      <public>1</public>
      <authentication type="url">
        <option name="stream_auth" value="http://localhost:3000"/>
      </authentication>
    </mount>

The s-* means it will match on any stream starting with s-.

The authentication part says: whenever someone tries to authenticate this stream, send the username and password (via POST) to the given URL.

This setting is complemented with a nodejs web app (published via git://git.mayfirst.org/mfpl/icecast-stream-auth) that is running on sankara in /home/icecast-stream-auth with the service managed via /etc/systemd/system/icecast-stream-auth. This web app simply passes the username and password on to our login service and returns an appropriate answer to icecast.