This repository provides examples demonstrating usage of the
Bitmovin API SDKs in different programming languages.
You'll need an active Bitmovin API key for these examples to work.
Don't have an account yet? Sign up for a free Bitmovin trial plan!
If you are new to the topic, we suggest reading our tutorial Understanding the Bitmovin Encoding Object Model to get a basic idea of the building blocks that make up an encoding.
For instructions how to set up the configuration environment and run examples, consult the README.md
file in the subfolder for your preferred programming language.
For full documentation of all available API endpoints, see the Bitmovin API reference.
-
Encoding Templates
Generate optimized renditions by letting the Per-Title algorithm choose resolutions and bitrates based on the complexity of your content with a single configuration file -
Fixed Bitrate Ladder Encoding
Generate multiple MP4 renditions from a single input file using a fixed set of resolutions and target bitrates -
Generating Default Manifests
Generate basic DASH and HLS manifests tailored to your encoding output -
Per-Title Encoding
Generate optimized renditions by letting the Per-Title algorithm choose resolutions and bitrates based on the complexity of your content -
Multi Codec Encoding
Run a multi-codec workflow following the best practices. -
Multi-language Broadcast TS Encoding
Add multiple audio streams to a Broadcast TS muxing -
Applying Filters
Enhance and manipulate content by applying pre-defined video or audio filters -
Server-Side Ad Insertion (SSAI)
Prevent blocking of ads by delivering a continuous content stream -
Batch Encoding
Efficiently start and track a large number of encodings -
Multiple Inputs Concatenation
Combine multiple input files into a single output using concatenation and trimming -
HDR SDR Conversion Convert dynamic range format between DolbyVision, HDR10, HLG and SDR.
-
CDN Use the Bitmovin CDN Streaming storage to distribute your assets.
-
Content Protection
- Applying CENC DRM Content Protection
Encrypt output to prevent unauthorized playback - Applying Content Protection with SPEKE
Obtain DRM keys from a SPEKE server
- Applying CENC DRM Content Protection
-
Audio Manipulations
Map, mix and merge audio streams and channels from one or multiple sources
-
Live Encoding
- RTMP Live Encoding
Start a live encoding using an RTMP stream as input - RTMP Live HD Encoding
Start a live encoding with HD option using an RTMP stream as input - SRT Live Encoding
Start a live encoding using an SRT stream as input - SRT Live Encoding with HLS, SCTE-35 and SSAI
- Start a live encoding with SRT input, HLS output, SCTE-35 markers and SSAI
- SRT Live Encoding HLS with Azure Speech To Captions Filter
Start a live encoding with SRT input and Azure Speech To Captions filter
- RTMP Live Encoding
For more code snippets, and sometimes complete scripts, please have a look at our tutorials and our Community pages
C# -
Go -
Java -
TS/JS -
PHP (not working) -
Python
This example shows how to do a Per-Title encoding with default manifests with a single configuration file. A Per-Title encoding automatically detects the optimal codec settings for your video assets.
Visit https://bitmovin.com/per-title-encoding/ to get an insight what Per-Title encoding is and how it works.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to create multiple MP4 renditions in a single encoding, using a fixed resolution- and bitrate ladder.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to create basic DASH and HLS manifests for an encoding. Default manifests will try include all the encoding's features that are supported by the respective manifest type.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example shows how to do a Per-Title encoding with default manifests. A Per-Title encoding automatically detects the optimal codec settings for your video assets.
Visit https://bitmovin.com/per-title-encoding/ to get an insight what Per-Title encoding is and how it works.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example showcases how to run a multi-codec workflow following the best practices.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how multiple audio streams can be included in a BroadcastTS muxing. BroadcastTS muxings are MPEG transport stream muxings which allow setting custom properties such as PCR interval and PIDs for transmission to traditional broadcast targets like set top boxes, QAM streamers and similar devices. This muxing is not generally used for streaming to IP devices such as browsers, iOS, or Android devices.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to apply filters to a video stream. Filters will manipulate the content of a stream, e.g. remove noise or add a watermark image. See the Encoding Filters API Reference for a complete list of available filters.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)WATERMARK_IMAGE_PATH
(?)TEXT_FILTER_TEXT
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to create multiple fMP4 renditions with Server Side Ad Insertion (SSAI).
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to efficiently execute a large batch of encodings in parallel. In order to keep the startup time for each encoding to a minimum, it is advisable to constantly have some encodings queued. Encodings will therefore be started in a way to maintain a constant queue size.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
This example demonstrates how to use the Bitmovin CDN Streaming storage to distribute your assets to end users.
Required configuration parameters:
C# - Java - TS/JS - PHP - Python
This example demonstrates how to use concatenation and trimming to combine multiple input files into a single output. This script is the full version of the script documented in the tutorial on concatenation and trimming https://bitmovin.com/docs/encoding/tutorials/stitching-and-trimming-part-1-the-basics
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)HTTP_INPUT_BUMPER_FILE_PATH
(?)HTTP_INPUT_PROMO_FILE_PATH
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
This example demonstrates how to convert dynamic range format between DolbyVision, HDR10, HLG and SDR.
The supported HDR/SDR conversions are as follows. If the target output format is either DolbyVision, HDR10 or HLG, this example adds SDR renditions automatically. This example works only with Bitmovin Encoder version 2.98.0 or later.
- Input: DolbyVision
- Output:
- DolbyVision and SDR
- HDR10 and SDR
- Output:
- Input: HDR10
- Output:
- HDR10 and SDR
- HLG and SDR
- Output:
- Input: HLG
- Output:
- HLG and SDR
- HDR10 and SDR
- Output:
- Input: SDR
- Output:
- HDR10 and SDR
- HLG and SDR
- Output:
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)HTTP_INPUT_AUDIO_FILE_PATH
(?)HDR_CONVERSION_INPUT_FORMAT
(?)HDR_CONVERSION_OUTPUT_FORMAT
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
If you want to load a DolbyVision metadata as a sidecar XML file, the following parameter also needs to be specified. If that parameter is not provided for a DolbyVision encoding, the example assumes the corresponding metadata is embedded into the DolbyVision input mezzanine file itself.
HTTP_INPUT_DOLBY_VISION_METADATA_FILE_PATH
(?)
C# - Go - Java - TS/JS - PHP - Python
This example shows how DRM content protection can be applied to a fragmented MP4 muxing. DRM is used to prevent playback on unauthorized devices (piracy) and requires integration with a key server. The encryption is configured to be compatible with both FairPlay and Widevine, using the MPEG Common Encryption standard.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)DRM_KEY
(?)DRM_FAIRPLAY_IV
(?)DRM_FAIRPLAY_URI
(?)DRM_WIDEVINE_KID
(?)DRM_WIDEVINE_PSSH
(?)
This example builds on the previous one, but shows how keys for DRM content protection can be obtained from a SPEKE server, and adds FairPlay DRM. Manifests are built from scratch, with DASH for CENC protected outputs, and HLS for FairPlay
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)SPEKE_URL
(?)- and for AWS IAM authentication
- or for simple credentials
Optional Parameters
A set of examples that demonstrate how to perform audio stream and channel manipulations. They are provided as illustrations of the [tutorial on audio manipulations] (https://bitmovin.com/docs/encoding/tutorials/separating-and-combining-audio-streams)
C# - Java - TS/JS - PHP - Python
This example demonstrates the simplest mechanism to include a stereo audio stream in an output MP4, from an input file containing a stereo audio stream (and a video stream), with the use of a single IngestInputStream.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH_STEREO_SOUND
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to combine and map audio streams from multiple input files into a single output MP4 file with multiple audio streams/tracks, with multiple IngestInputStreams.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH
(?)HTTP_INPUT_FILE_PATH_STEREO_SOUND
(?)HTTP_INPUT_FILE_PATH_SURROUND_SOUND
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to swap 2 audio channels from a stereo input, using a simple AudioMixInputStream configuration.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH_STEREO_SOUND
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates one mechanism to downmix a 5.1 stream down to 2.0. It uses an advanced AudioMixInputStream configuration with gain adjusted on each input channel.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH_SURROUND_SOUND
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates one mechanism to create single output tracks from multiple mono input tracks, using multiple IngestInputStreams (by position in the source), and mapping them to output channels (by type).
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH_MULTIPLE_MONO_AUDIO_TRACKS
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example demonstrates how to merge multiple stereo streams (from a single file, but this can easily be extended to select them from separate input files), adjusting gain on the second stream to turn it into a background effect.
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)HTTP_INPUT_HOST
(?)HTTP_INPUT_FILE_PATH_TWO_STEREO_TRACKS
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
C# - Java - TS/JS - PHP - Python
This example shows how to configure and start a live encoding using default DASH and HLS manifests. For more information see: https://bitmovin.com/live-encoding-live-streaming
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
Java - C# - TS/JS - PHP - Python
This example shows how to configure and start a live encoding with HD option using default DASH and HLS manifests. For more information see: https://bitmovin.com/live-encoding-live-streaming
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
This example shows how to configure and start a live encoding using default DASH and HLS manifests. For more information see: https://bitmovin.com/live-encoding-live-streaming
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
This example shows how to configure and start a live encoding using a default HLS manifests with SCTE-35 AdMarker settings For more information see: https://developer.bitmovin.com/encoding/docs/live-encoding-with-hls-scte-35-and-ssai
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)
This example shows how to configure and start a live encoding using a default HLS manifests with Azure Speech Services - Speech to captions feature to transcribe an audio stream in real-time. For more information see: https://bitmovin.com/live-encoding-live-streaming
Required configuration parameters:
BITMOVIN_API_KEY
(?)BITMOVIN_TENANT_ORG_ID
(?)S3_OUTPUT_BUCKET_NAME
(?)S3_OUTPUT_ACCESS_KEY
(?)S3_OUTPUT_SECRET_KEY
(?)S3_OUTPUT_BASE_PATH
(?)AZURE_SPEECH_SERVICES_SUBSCRIPTION_KEY
(?)AZURE_SPEECH_SERVICES_REGION
(?)
These are the parameters that need to be supplied for the examples to work.
They can be defined in a file, set as environment variables or passed directly to the run-example
script.
Note! See the README.md
of the API SDK examples in your preferred programming language on how to configure parameters.
BITMOVIN_API_KEY
- Your API key for the Bitmovin API
BITMOVIN_TENANT_ORG_ID
- The ID of the Organisation in which you want to perform the encoding. Only required if working with a multi-tenant account.
HTTP_INPUT_HOST
- The Hostname or IP address of the HTTP server hosting your input files
Example: my-storage.biz
HTTP_INPUT_FILE_PATH
- The path to your input file on the HTTP host
Example: videos/1080p_Sintel.mp4
HTTP_INPUT_BUMPER_FILE_PATH
- The path to your input file on the provided HTTP server to be concatenated before HTTP_INPUT_FILE_PATH
Example: videos/bumper.mp4
HTTP_INPUT_PROMO_FILE_PATH
- The path to your input file on the provided HTTP server to be concatenated after HTTP_INPUT_FILE_PATH
Example: videos/promo.mp4
HTTP_INPUT_AUDIO_FILE_PATH
- The path to your audio input file on the provided HTTP server. It's used when you want to load audio stream from a separated input file.
Example: audio/aac.mp4
HTTP_INPUT_DOLBY_VISION_METADATA_FILE_PATH
- The path to your DolbyVision metadata file. This parameter is required only when using a DolbyVision input file with a separated sidecar XML metadata file.
HDR_CONVERSION_INPUT_FORMAT
- The input dynamic range format. Either DolbyVision, HDR10, HLG, or SDR can be specified. This parameter needs to be matched with the actual dynamic range format of the input file.
Example: DolbyVision
, HDR10
, HLG
, SDR
.
HDR_CONVERSION_OUTPUT_FORMAT
- The output dynamic range format to be converted from the input file.
If the input dynamic range is DolbyVision
, the supported output dynamic range format is either DolbyVision
, HDR10
or SDR
.
If the input dynamic range is HDR10
, the supported output dynamic range format is either HDR10
, HLG
or SDR
.
If the input dynamic range is HLG
, the supported output dynamic range format is either HDR10
, HLG
or SDR
.
If the input dynamic range is SDR
, the supported output dynamic range format is either HDR10
, HLG
or SDR
.
Example: DolbyVision
, HDR10
, HLG
, SDR
.
HTTP_INPUT_FILE_PATH_STEREO_SOUND
- the path to a file containing a video with a single audio stereo stream
Example: videos/1080p_Sintel_Stereo.mp4
HTTP_INPUT_FILE_PATH_SURROUND_SOUND
- the path and filename for a file containing a video with a 5.1 audio stream
Example: videos/1080p_Sintel_Surround.mp4
HTTP_INPUT_FILE_PATH_MULTIPLE_MONO_AUDIO_TRACKS
- the path to a file containing a video with multiple mono audio tracks
Example: videos/1080p_Sintel_8_Mono_Audio_Tracks.mp4
HTTP_INPUT_FILE_PATH_TWO_STEREO_TRACKS
- the path to a file containing a video with 2 stereo tracks
Example: videos/1080p_Sintel_Two_Stereos.mp4
S3_OUTPUT_BUCKET_NAME
- The name of your S3 output bucket
Example: my-s3-bucket-name
S3_OUTPUT_ACCESS_KEY
- The access key of your S3 output bucket
Example: AKIAIOSFODNN7EXAMPLE
S3_OUTPUT_SECRET_KEY
- The secret key of your S3 output bucket
Example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
S3_OUTPUT_BASE_PATH
- The base path on your S3 output bucket where content will be written
Example: /outputs
WATERMARK_IMAGE_PATH
- The path to the watermark image
Example: http://my-storage.biz/logo.png
TEXT_FILTER_TEXT
- The text to be displayed by the text filter
DRM_KEY
- 16 byte encryption key, represented as 32 hexadecimal characters
Example: cab5b529ae28d5cc5e3e7bc3fd4a544d
DRM_FAIRPLAY_IV
- 16 byte initialization vector, represented as 32 hexadecimal characters
Example: 08eecef4b026deec395234d94218273d
DRM_FAIRPLAY_URI
- URI of the licensing server
Example: skd://userspecifc?custom=information
DRM_WIDEVINE_KID
- 16 byte encryption key id, represented as 32 hexadecimal characters
Example: 08eecef4b026deec395234d94218273d
DRM_WIDEVINE_PSSH
- Base64 encoded PSSH payload
Example: QWRvYmVhc2Rmc2FkZmFzZg==
DRM_CONTENT_ID
- An optional content ID used to register the DRM keys with the SPEKE provider
Example: my-content-id
DRM_KEY_ID
- An optional 16-byte hex key ID used to refer to a key stored in the DRM provider system (in particular with SPEKE)
Example: d94238436e2fe421a27a7d5dd3d26f31
SPEKE_URL
- The URL of the SPEKE server
Example: https://my-speke-server.com/v1.0/vod
SPEKE_ARN
- For AWS IAM authentication, the role ARN for the user providing access to the SPEKE server
Example: arn:aws:iam::1234567890:role/speke_role_assumption
SPEKE_GATEWAY_REGION
- For AWS IAM authentication, the AWS Gateway region hosting the SPEKE server
Example: eu-west-1
SPEKE_USERNAME
- For basic authentication with the SPEKE server
SPEKE_PASSWORD
- For basic authentication with the SPEKE server
AZURE_SPEECH_SERVICES_SUBSCRIPTION_KEY
- The Azure Speech Services subscription key
AZURE_SPEECH_SERVICES_REGION
- The Azure Speech Services region
Example: westus
You may also add your own parameters in your configuration. The ConfigProvider class in each example offers a generic function to get the value of the parameter by its name.