jamcaster

Docker container to broadcast Jamulus sound to an Icecast server OR broadcast video to an RTMP server (e.g. Facebook Live, YouTube Live).

Usage

After creating the configuration file jamcaster.env, you can run the following command to invoke Jamcaster:

docker run -ti --rm --init --env-file=jamcaster.env ghcr.io/dtinth/jamcaster:main

Example configuration

Example jamcaster.env configuration to stream to Icecast server
ICECAST_MOUNT_POINT=icecast://source:<passworld>@<host>:<port>/<mountpoint>
JAMULUS_SERVER=<host>:<port>
Example jamcaster.env configuration to stream to YouTube
VIDEO_STREAM_TARGET=rtmp://a.rtmp.youtube.com/live2/<streamkey>
JAMULUS_SERVER=<host>:<port>
JAMULUS_CLIENT_NAME=YouTube
Example jamcaster.env configuration to stream to Facebook
VIDEO_STREAM_TARGET=rtmps://live-api-s.facebook.com:443/rtmp/<streamkey>
JAMULUS_SERVER=<host>:<port>
JAMULUS_CLIENT_NAME=FBLive

Environment variables

ICECAST_MOUNT_POINT

(Icecast mode) The mount point to use for the Icecast server.

Example: icecast://source:<password>@<host>:<port>/<mountpoint>

VIDEO_STREAM_TARGET

(RTMP streaming mode) The URL to use for streaming the RTMP server. Setting this variable activates RTMP streaming mode and disables Icecast mode.

Example: rtmp://a.rtmp.youtube.com/live2/<streamKey>

JAMULUS_SERVER

Jamulus server to connect to.

Example: <host>:<port>

JAMULUS_CLIENT_INSTRUMENT

The instrument number to use for the Jamulus client. The list of available instruments can be found here, where None is 0.

Example: 24 (streamer)

JAMULUS_CLIENT_NAME

The name to use for the Jamulus client. In Icecast mode, the special token %s will be replaced by the current number of listeners.

TZ

The time zone to use, e.g. Asia/Bangkok. Use the TZ database name from this list.