| 3 | | The user facing documentation is published [wiki:broadcast here]. |
| 4 | | |
| 5 | | The May First/People Link live code lives on dee.mayfirst.org and is published via [https://gitlab.com/jamie/icecream gitlab]. |
| 6 | | |
| 7 | | It has two components: |
| 8 | | |
| 9 | | * A client component that users the [https://developer.mozilla.org/en-US/docs/Web/API/MediaStream_Recording_API/Using_the_MediaStream_Recording_API mediarecorder API] to capture and send a video stream. |
| 10 | | * A nodejs component to pipe the stream to ffmpeg, which sends it to icecast |
| 11 | | |
| 12 | | The code is installed on dee in /home/icream and the service is maintained via /etc/systemd/system/icecream.service. |
| 13 | | |
| 14 | | == Icecast == |
| 15 | | |
| 16 | | Our code is currently streaming to b.stream.mayfirst.org (sankara). |
| 17 | | |
| 18 | | Iceast is configured using [http://icecast.org/docs/icecast-2.4.1/auth.html the url method of authentication] plus wildcard mount points. |
| 19 | | |
| 20 | | In other words, we have the following mount point defined: |
| 21 | | |
| 22 | | {{{ |
| 23 | | <mount> |
| 24 | | <mount-name>/s-*</mount-name> |
| 25 | | <public>1</public> |
| 26 | | <authentication type="url"> |
| 27 | | <option name="stream_auth" value="http://localhost:3000"/> |
| 28 | | </authentication> |
| 29 | | </mount> |
| 30 | | }}} |
| 31 | | |
| 32 | | The s-* means it will match on any stream starting with s-. |
| 33 | | |
| 34 | | The authentication part says: whenever someone tries to authenticate this stream, send the username and password (via POST) to the given URL. |
| 35 | | |
| 36 | | 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 [wiki:login-service login service] and returns an appropriate answer to icecast. |
| | 3 | This service has been discontinued. |