diff --git a/CHANGELOG.md b/CHANGELOG.md index ed7089f..2e0c68b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Fixed +* Corrected a spelling error in the file path that the Docker image looks for the JSON configuration. + ## [0.3.1] ### Added * Created a deployment script for running the `multistreaming-server` locally. diff --git a/README.md b/README.md index 43046ba..0693202 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Once built, start the docker image on a host that has sufficient bandwidth to ha ``` docker run -it -p 80:80 -p 1935:1935 \ --env MULTISTREAMING_PASSWORD=__made_up_password__ \ - -v /path/to/my-rtmp-config.json:/rtmp-configuation.json + -v /path/to/my-rtmp-config.json:/rtmp-configuration.json multistreaming-server:latest ``` @@ -26,7 +26,7 @@ Note that an environment variable is set when running the Docker image: * `MULTISTREAMING_PASSWORD` _(REQUIRED)_ - This is a password you define and will be used by your steaming software. This is a marginally secure way to prevent other people from pushing to your stream. -You must also create and JSON file with the RTMP rebroadcasting configuration you desire. This file should get mapped from your local file system to the `/rtmp-configuation.json` file path within the Docker container. The JSON file has the following elements: +You must also create and JSON file with the RTMP rebroadcasting configuration you desire. This file should get mapped from your local file system to the `/rtmp-configuration.json` file path within the Docker container. The JSON file has the following elements: * `endpoint`- This is the name of the RTMP ingest endpoint that the source stream will be pushed to. Defaults to `live` if not specified. * `rebroadcastList`- _Required_ Contains a list of JSON objects that each configure a distinct RTMP destination that the stream pushed to the ingest endpoint will be rebroadcasted to. At least one destination should be configured. There is no specific limit on the number of destinations except for the hardware limitations of your host. Each destination is configured with the following JSON elements: @@ -35,14 +35,14 @@ You must also create and JSON file with the RTMP rebroadcasting configuration yo * `regionCode` - If `periscope` is specified as the platform for this destination, this is the two letter region code that is part of the Periscope server URL. If undefined, it will default to `ca` (the "US West" region) * `streamKey` - This is the stream key that identifies the unique stream on the specified platform. This value is provided by the platform. This element must be provided for all `platform` types except for `custom` and `microsoft-stream`. * `fullRTMPURL` - If `custom` or `microsoft-stream` is specified in the `platform`, the URL specified in this element is used for the forming destination URL. This should include the `rtmp://` prefix. For the `microsoft-stream` platform, this is the full URL provided in their stream set up. This element is ignored for all other platform types. - * `transcode` - If present, the stream will be trancoded before rebroadcasting it to this list item's destination. Note that when using this transcoding, the stream will be trancoded to 30 FPS and CBR bit rate. The value is a JSON object that contains the following configuration elements: + * `transcode` - If present, the stream will be transcoded before rebroadcasting it to this list item's destination. Note that when using this transcoding, the stream will be trancoded to 30 FPS and CBR bit rate. The value is a JSON object that contains the following configuration elements: * `pixels` - The pixel dimension that the stream should be transcoded to. Formatted like "1920x1080". If not specified, defaults to "1280x720". * `videoBitRate` - The video bit rate that should be used when sending the stream to this destination. Should be a number followed by "k" or "m" for kilo- and mega- bits-per-second. If not specified defaults to "4500k". * `videoKeyFrameSecs` - The number of seconds between key frames in the transcoded stream. If not specified, defaults to 2. * `audioBitRate` - The bit rate that should be used for the transcoded audio signal. Should be a number followed by "k" or "m" for kilo- and mega- bits-per-second. If not specified, defaults to "160k". If neither `audioBitRate` or `audioSampleRate` are specified, then the audio signal is simply copied from source with no alteration. * `audioSampleRate` - The sampling rate to be used for the transcoded audio signal. Should be an integer indicating the sampling Hertz. If not specified, defaults to `48000`. If neither `audioBitRate` or `audioSampleRate` are specified, then the audio signal is simply copied from source with no alteration. -Here is an example of the JSON configuraiton file: +Here is an example of the JSON configuration file: ``` { "endpoint": "live", diff --git a/deployment-scripts/.gitignore b/deployment-scripts/.gitignore index 422d05b..f859d26 100644 --- a/deployment-scripts/.gitignore +++ b/deployment-scripts/.gitignore @@ -1,2 +1,3 @@ # ignore pythyon environments set up for development upcloud/ +linode/ diff --git a/deployment-scripts/linode-deploy.sh b/deployment-scripts/linode-deploy.sh index 74c00d2..1aae05e 100755 --- a/deployment-scripts/linode-deploy.sh +++ b/deployment-scripts/linode-deploy.sh @@ -118,7 +118,7 @@ echo "Launch kamprath/multistreaming-server:latest Docker image." docker_proc_id=$(ssh root@"$linode_ip_addr" \ "docker run -d -p 80:80 -p 1935:1935 " \ "--env MULTISTREAMING_PASSWORD=${RTMP_SERVER_STREAM_PASSWORD} " \ - "-v /root/rtmp_server_config.json:/rtmp-configuation.json " \ + "-v /root/rtmp_server_config.json:/rtmp-configuration.json " \ "kamprath/multistreaming-server:latest" \ ) echo "Started Docker container: $docker_proc_id" diff --git a/deployment-scripts/local-deploy.sh b/deployment-scripts/local-deploy.sh index c1ee7d2..d6baf15 100755 --- a/deployment-scripts/local-deploy.sh +++ b/deployment-scripts/local-deploy.sh @@ -72,7 +72,7 @@ echo "Launching $RTMP_SERVER_DOCKER_IMAGE_NAME Docker image with config at '${co docker_proc_id=$( \ docker run -d -p 80:80 -p 1935:1935 \ --env MULTISTREAMING_PASSWORD=${RTMP_SERVER_STREAM_PASSWORD} \ - -v "${config_file_absolute_path}":/rtmp-configuation.json \ + -v "${config_file_absolute_path}":/rtmp-configuration.json \ ${RTMP_SERVER_DOCKER_IMAGE_NAME} \ ) docker_short_proc_id=$(echo $docker_proc_id | cut -c1-12) diff --git a/deployment-scripts/upcloud-deploy.py b/deployment-scripts/upcloud-deploy.py index a1ba460..50baae2 100644 --- a/deployment-scripts/upcloud-deploy.py +++ b/deployment-scripts/upcloud-deploy.py @@ -209,7 +209,7 @@ def print_help(): 'ssh rtmpserver@{0} ' '"docker run -d -p 80:80 -p 1935:1935 ' '--env MULTISTREAMING_PASSWORD={1} ' - '-v /home/rtmpserver/rtmp_server_config.json:/rtmp-configuation.json ' + '-v /home/rtmpserver/rtmp_server_config.json:/rtmp-configuration.json ' 'kamprath/multistreaming-server:latest"'.format( ip_addr, rtmp_streaming_password ), diff --git a/multistreaming-server/launch-nginx-server.sh b/multistreaming-server/launch-nginx-server.sh index 7541bee..d5cad91 100644 --- a/multistreaming-server/launch-nginx-server.sh +++ b/multistreaming-server/launch-nginx-server.sh @@ -8,7 +8,7 @@ envsubst < base-nginx.conf > /usr/local/nginx/conf/nginx.conf /usr/bin/stunnel & # append nginx conf with RTMP Configuration -python3 /rtmp-conf-generator.py /rtmp-configuation.json >> /usr/local/nginx/conf/nginx.conf +python3 /rtmp-conf-generator.py /rtmp-configuration.json >> /usr/local/nginx/conf/nginx.conf if [ $? -ne 0 ]; then echo "ERROR encountered when generating RTMP configuration." exit 1 diff --git a/multistreaming-server/rtmp-conf-generator.py b/multistreaming-server/rtmp-conf-generator.py index 8f386d0..fa3ed9b 100644 --- a/multistreaming-server/rtmp-conf-generator.py +++ b/multistreaming-server/rtmp-conf-generator.py @@ -175,7 +175,7 @@ def addRTMPPushConfiguration(orig_rtmp_conf, block_config, endpoint_name): if len(sys.argv) != 2: - print("Must pass a single argument of the JSON configuraiton file path.", file=sys.stderr) + print("Must pass a single argument of the JSON configuration file path.", file=sys.stderr) sys.exit(1) try: