Dolby.io
Streaming & PlayoutPublished by
Techtriq
Dolby.io
Streaming & PlayoutDolby.io is a platform that offers developers a range of audio and video APIs and SDKs to enhance their applications with immersive media capabilities. With Dolby's expertise, developers can integrate advanced features like spatial audio and noise reduction into their applications, delivering crystal-clear audio and captivating experiences. The platform provides comprehensive tools, documentation, and support to seamlessly integrate Dolby's technologies, enabling developers to create high-quality multimedia content.
Dolby.io empowers developers to elevate their applications with immersive audio and video experiences. By leveraging Dolby's APIs and SDKs, developers can add features like surround sound and voice enhancement to captivate their users. The platform's extensive resources facilitate a seamless integration process, enabling developers to unlock the full potential of Dolby's technologies and create exceptional media experiences.
Dolby.io Streaming Director API
Get cluster by ID
Retrieve a cluster by providing a cluster ID
Publish
Request for url and authorization to publish a stream.
Subscribe
Request for url and authorization to subscribe to a stream.
RtcBackup Publish
RtcBackup endpoint for publish on top of WHIP.
RtcBackup Subscribe
RtcBackup endpoint for subscribe on top of WHEP.
WHEP
WHEP endpoint for subscribers. Request body is SDP Offer. Response body will contain SDP Answer. Location header contains remote WHEP endpoint url.
WHIP
WHIP endpoint for publishers. Request body is SDP Offer. Response body will contain SDP Answer. Location header contains remote WHIP endpoint url.
Dolby.io Streaming Millicast API
Account Geo
Get bandwith and views per country code on account over a date range. Response keys are ISO 3166-1 alpha-2 country codes.
Account Geo Series
Get bandwith, duration, publishes, and views as a time series per country code on account over a date range. Response keys are ISO 8601 dates from requested resolution, followed by keys for ISO 3166-1 alpha-2 country codes.
Account Geo Total
Get bandwith and duration per country code on account over a date range. Response keys are ISO 3166-1 alpha-2 country codes.
Account Series
Get bandwith used as a time series on account over a date range. Response keys are ISO 8601 dates from requested resolution.
Account Total
Get total bandwith used on account over a date range.
Streams Geo
Get bandwith and views per country code on specified streamnames over a date range. Response keys are requested streamnames, followed by keys for ISO 3166-1 alpha-2 country codes.
Streams Geo Series
Get bandwith, duration, publishes, and views as a time series per country code on specified streamnames over a date range. Response keys are requested streamnames, followed by keys for ISO 8601 dates from requested resolution, followed by keys for ISO 3166-1 alpha-2 country codes.
Streams Geo Total
Get bandwith and duration per country code on specified streamnames over a date range. Response keys are requested streamnames, followed by keys for ISO 3166-1 alpha-2 country codes.
Streams Series
Get bandwith used as a time series on specified streamnames over a date range. Response keys are requested streamnames, followed by keys for ISO 8601 dates from requested resolution.
Streams Total
Get total bandwith used on specified streamnames over a date range. Response keys are requested streamnames.
Series bandwidth for streams specified by TrackingID
Get bandwidth information used as a time series on specified TrackingIDs over a date range on a stream-by-stream basis. Response keys are requested TrackingIDs, followed by keys for ISO 8601 dates from requested
Series bandwidth per TrackingID per stream
Get bandwidth used as a time series on specified streamnames over a date range. Response keys are requested streamnames, followed by keys for ISO 8601 dates from requested
Total bandwidth per TrackingID per stream
Get total bandwidth for each TrackingID associated with specified streamNames over a date range. Response keys are requested streamnames.
Total bandwidth for streams specified by TrackingID
Get total bandwidth for TrackingIDs specifed on a stream-by-stream basis. Response keys are requested TrackingIDs.
Read Clusters
Default cluster and list of available clusters.
Update Cluster
Update default cluster on account.
Read Account Geo Restrictions
Gets account wide geo restrictions. If a Token (either Publish or Subscribe) does not define any geo restrictions, the account wide rules are used.
Update Account Geo Restrictions
Update account wide geo restrictions. Updated to an empty array `[]` removes all rules of that type.
Create Token
Creates new token given a label and associated stream name(s). Stream names are limited to 128 characters.
Get active Publish Token ID
Gets the Publish Token ID of an active stream by its Stream ID. Publish Tokens for long running streams published before 1st October 2022 will not be returned. If you need to stop a long running stream, use the Dashboard or try republishing the stream.
Get all active Publish Token IDs
Get all Publish Token IDs for active streams on the account. Publish Tokens for long running streams published before 1st October 2022 will not be returned. If you need to stop a long running stream, use the Dashboard or try republishing the stream.
Disable Publish Token(s)
Disables Publish Token(s) by their Token ID. An array of Token IDs can be used for bulk disable.
List Tokens
List all tokens with specific sorting and pagination. If response array is empty, you have reached the end of the list ordering.
List Tokens By Name
List all tokens with specific sorting and pagination that matches given token name or stream name. If response array is empty, you have reached the end of the list ordering.
Read Token
Gets token specified by token id.
Update Token
Update token stream information as well as updates token itself.
Delete Token
Deletes token specified by the token's ID. The Token ID can be found using the List Tokens API or in the API response of Create Token API.
Delete Files
Deletes multiple recorded file from storage.
Delete All Files
Deletes all recorded files from storage.
List Files
List files for account with specific sorting and pagination. If response array is empty, you have reached the end of the list ordering.
List Files By Stream
List files using a streamname with specific sorting and pagination. If response array is empty, you have reached the end of the list ordering.
List Files By Token
List files using a token with specific sorting and pagination. If response array is empty, you have reached the end of the list ordering.
Usage
Get current total bytes of recorded files in storage.
Usage Billable
Gets total number of gigabyte hours of storage used within date range.
Read File
Gets file specified by record file id. Includes temporary download link.
Delete File
Deletes recorded file from storage.
Stop an active stream
Stop an active stream by its Stream ID
Stop all active streams
Stop all currently active streams associated with your account
Create Token
Creates new token given a label and associated stream name(s). Stream names are limited to 128 characters.
List Tokens
List all tokens with specific sorting and pagination. If response array is empty, you have reached the end of the list ordering.
List Tokens By Name
List all tokens with specific sorting and pagination that matches given token name or stream name. If response array is empty, you have reached the end of the list ordering.
Read Token
Gets token specified by token id.
Update Token
Update token stream information as well as updates token itself.
Delete Token
Deletes token specified by the token's ID. The Token ID can be found using the List Tokens API or in the API response of Create Token API.
Add Webhook
Add new webhook on account.
List Webhooks
Iterative call to list webhooks on account.
Read Webhook
Webhook url and details used on account.
Update Webhook
Update webhook url, events to signal, or refresh signing secret.
Remove Webhook
Removes all webhook data for account.
Dolby.io Communications API
Create
Creates a conference. You can bypass proximity-based conference creation, and create a conference in a particular region by prefixing the regional code to the REST API endpoint URL. For example, using **eu.comms.api.dolby.io** instead of **comms.api.dolby.io** enforces traffic routing to the Europe data center. For more information, see [Multi-region Support](doc:guides-multi-region-support). If [Enhanced Conference Access Control](doc:guides-enhanced-conference-access-control) is enabled for the application: - The response will include the token for requested participants. - If the conference already exists, tokens are not generated and notifications are not sent; you must use the [Invite](#operation/invite-to-conference) REST API.
Start recording
--- Starts recording a specific conference. You can specify a custom layout URL per a recording request. The **layoutUrl** parameter overrides the layout URL configured in the dashboard. You can also specify the resolution of the recording. The default mixer layout application supports both 1920x1080 (16:9 aspect ratio) and 1080x1920 (9:16 aspect ratio). If the resolution parameters are not specified, then the system defaults to 1920x1080. Using the **mixId** parameter you can uniquely identify individual mixed recordings. For example, `landscape-stage` and `portrait-audience` as mixId can help you identify the purpose of the recording when you receive the webhook notification or use the Monitor API to retrieve the recordings. You may start only one recording per mixId .
Stop recording
Stops recording the specified conference. Calling this API while recoding multiple mixed recordings stops all recordings.
Remix a conference
Triggers a remix and regenerates a recording of a previously recorded conference using a [mixer layout](doc:guides-mixer-layout). You can remix only one conference at a time. The [Recordings.Available](doc:webhooks-events-recordings-available) event is sent if the customer has configured the webhook in the developer portal. For more information, see the [Recording Conferences](doc:guides-recording-conferences) and [Multiple Layout Mixes](doc:guides-multiple-layout-mixes) documents. ### Note >For conferences with [enhanced conference access control](doc:guides-enhanced-conference-access-control), you must use the Remix APIs available at `https://comms.api.dolby.io/v2` with bearer authentication.
Get status of the current remix job
Gets the status of a current mixing job. ### Note >For conferences with [enhanced conference access control](doc:guides-enhanced-conference-access-control), you must use the Remix APIs available at `https://comms.api.dolby.io/v2` with bearer authentication.
Start RTMP streaming
Starts the RTMP live stream for the specified conference. Once the Dolby.io Communications APIs service starts streaming to the target URL, the platform sends the [Stream.Rtmp.InProgress](doc:webhooks-events-stream-rtmp-in-progress) webhook event. Providing multiple destination URIs in a requests does not cause sending multiple webhook events. ### Note >For conferences with [enhanced conference access control](doc:guides-enhanced-conference-access-control), you must use the Streaming APIs available at `https://comms.api.dolby.io/v2` with bearer authentication.
Stop RTMP streaming
Stops the RTMP stream of the specified conference. You must provide an empty body in the request. ### Note >For conferences with [enhanced conference access control](doc:guides-enhanced-conference-access-control), you must use the Streaming APIs available at `https://comms.api.dolby.io/v2` with bearer authentication.
Start Real-time Streaming
Starts real-time streaming using Dolby.io Real-time Streaming services (formerly Millicast). ### Note >The `streamName` and `publishingToken` parameters are available in the Dolby.io dashboard. To access the parameters, follow these steps: >1. Log into the [Dolby.io dashboard](https://dashboard.dolby.io/signin). >2. Navigate to the **Streaming** tab and click the **+** button in the **Live Broadcast** tab to add a new token. >3. Give your token a label, select the number of stream names to add, and click **OK**. >4. Open the created token and select the **API** tab. >5. Locate and copy the **stream name** and the **publishing token**.
Stop Real-time Streaming
Stops real-time streaming to Dolby.io Real-time Streaming services.
Terminate
Terminates an ongoing conference and removes all remaining participants from the conference.
Invite
Invites participants to an ongoing conference. This API can also be used to generate new conference access tokens for an ongoing conference. If the invite request includes participants that are already in the conference, a new conference access token is not generated and an invitation is not sent.
Kick
Kicks participants from an ongoing conference. This API requires providing either external IDs or user IDs of participants who should be kicked. Providing both IDs is also supported.
Send message
Sends a message to some or all participants in a conference. Message size is limited to 16KB.
Participants
Returns the current participant list.
Update permissions
Updates permissions for participants in a conference. When a participant's permissions are updated, the new token is sent directly to the SDK and the API response includes the new API token. The SDK automatically receives, stores, and manages the new token and a [permissionsUpdated](doc:js-client-sdk-conferenceservice#permissionsupdated) event is sent.
Set Spatial Listeners Audio
Sets the spatial audio scene for all listeners in an ongoing conference. This sets the spatial audio environment, the position and direction for all listeners with the [spatialAudio](doc:js-client-sdk-model-joinoptions#spatialaudio) flag enabled. The calls are not cumulative, and each call sets all the spatial listener values. Participants who do not have a position set are muted.
Get a list of conferences
Gets a list of conferences that were started in a specific time range, including ongoing conferences. ### Note >Only terminated conferences include a complete summary. The summary of ongoing conferences includes the following fields in the response: `confId`, `alias`, `region`, `dolbyVoice`, `start`, `live`, `owner`.
Get a summary of a conference
Gets a summary of a conference. ### Note >Only terminated conferences include a complete summary. The summary of ongoing conferences includes the following fields in the response: `key`, `confId`, `alias`, `region`, `dolbyVoice`, `start`, `live`, `owner`.
Get information about conference participants
Gets the statistics and connection details of all participants in a conference. Optionally limit the search result with a specific time range.
Get information about a specific conference participant
Gets the statistics and connection details of a conference participant, during a specific time range.
Get the recordings of a specific conference
Gets a list of the recorded conference metadata, such as duration or size of the recordings. This API checks the recordings that have ended during a specific time range and were sent via the [Recording.MP4.Available](doc:webhooks-events-recording-mp4-available) and [Recording.Audio.Available](doc:webhooks-events-recording-audio-available) webhook events. Recordings are indexed based on the ending time. This API returns presigned URLs for secure download of the recording files. By default, the URL returned in the response is an AWS S3 presigned URL with a validity of ten minutes. You can add the query string option `perm=true` to replace the URL with a monitor API signed URL with unlimited validity.
Delete recordings
Deletes all recording data related to a specific conference, even data downloaded using the v2 Monitor API. **Warning:** After deleting the recording, it is not possible to restore the recording data.
Get Dolby Voice audio recordings of a conference
Gets the details of all Dolby Voice-based audio recordings, and associated split recordings, for a given conference and gets the download links for the conference recording in the MP3 audio format.
Get a conference statistics
Gets the statistics of a terminated conference. The statistics include the maximum number of participants present during a conference and the maximum number of the transmitted and received packets, bytes, and streams. ### Note >The statistics are available only for terminated conferences.
Get conference webhook events
Gets a list of webhook events sent in a specified conference, during a specific time range. The list includes associated endpoint response codes and headers. For more information on webhook functionality, refer to this [page](https://docs.dolby.io/communications-apis/docs/webhooks-overview).
Get recording details
Gets a list of the recorded conference metadata, such as duration or size of the recording. This API checks only the recordings that have ended during a specific time range. Recordings are indexed based on the ending time. This API returns presigned URLs for secure download of the recording files. By default, the URL returned in the response is an AWS S3 presigned URL with a validity of ten minutes. You can add the query string option `perm=true` to replace the URL with a monitor API signed URL with unlimited validity.
Get webhooks
Gets a list of webhook events sent in all conferences, during a specific time range. The list includes associated endpoint response codes and headers. For more information on webhook functionality, refer to this [page](https://docs.dolby.io/communications-apis/docs/webhooks-overview).
Dolby.io Media API
Get Analyze Status
For a given *job_id*, this method will check if the processing task has completed. When the **status** is *Success* you'll be able to retrieve your result from the **output** location you provided in the original `POST`.
Start Analyzing
Start analyzing to learn about your media. The `input` location of your source media file and `output` location of your Analyze JSON results file are required. This is an asynchronous operation so you will receive a `job_id` to use in calling `GET /media/analyze` to retrieve the job status. There are additional optional parameters that can be provided to identify the type of content and additional loudness or validation requirements. See the samples for examples of what requests and responses look like.
Get Analyze Music Status
For a given *job_id*, this method will check if the processing task has completed. When the **status** is *Success*, you'll be able to retrieve your result from the **output** location you provided in the original `POST`.
Start Analyzing Music
Start analyzing to learn about music in your media. The `input` location of your source media file and `output` location of your JSON results file are required. This is an asynchronous operation so you will receive a `job_id` to use in calling ***GET** /media/analyze/music* to retrieve the job status.
Get Analyze Speech Status
For a given *job_id*, this method will check if the processing task has completed. When the **status** is *Success* you'll be able to retrieve your result from the **output** location you provided in the original `POST`.
Start Analyzing Speech
Start analyzing to learn about speech in your media. The `input` location of your source media file and `output` location for your JSON results file are required. This is an asynchronous operation so you will receive a `job_id` to use in calling `GET /media/analyze/speech` to retrieve the job status.
Get Diagnose Results
For a given *job_id*, this method will check if the processing task has completed. When the **status** is *Success* the response will contain the result of the diagnose operation.
Start Diagnosing
The Dolby.io Media Analyze Audio Diagnose API provides a quick diagnosis for discovering audio quality issues with your media.
Get Enhance Results
For a given *job_id*, this method will check if the processing task has completed. When the **status** is *Success* you'll be able to retrieve your result from the **output** location you provided in the original `POST`.
Start Enhancing
Start enhancing to improve your media. The `input` location for your source media file as well as the `output` location for the processed result are required. This is an asynchronous operation so you will receive a `job_id` where you can retrieve the results when enhancement is complete. There are additional optional parameters that can be provided to control and select the type of enhancements made. See the samples for some examples of what requests and responses look like.
Get Upload URL
To use the Dolby provided temporary storage is a two step process. You start by declaring a `dlb://` url that you can reference in any other Media API calls. The response will provide a url where you can put your media. This allows you to use the `dlb://` url as a short-cut for a temporary storage location. You'll be returned a pre-signed url you can use to `PUT` and upload your media file. The temporary storage should allow you to read and write to the dlb:// locations for a period of at least 24 hours before it is removed.
Get Jobs
Returns a list of the jobs that have been submitted in the past 31 days.
Cancel a Job
Request the cancellation of a previously submitted job.
Get Mastering Results
For a given *job_id*, this method will check if the mastering task has completed. When the **status** is *Success* you'll be able to retrieve your results from the **outputs** locations you provided in the original `POST`.
Start Mastering
Start mastering to improve your music. The `inputs` location for your source media file as well as the `outputs` location for the processed media file are required. **Note**: The Music Mastering API supports a maximum of one input. A `preset` applies dynamic EQ processing to shape your music to match a desired sound. There are also additional optional parameters that can be provided to control the mastering output. This is an asynchronous operation. You receive a `job_id` that you use to retrieve the results when the mastering is complete. To learn more, see the example requests and responses.
Get Mastering Preview Results
For a given *job_id*, this method will check if the mastering task has completed. When the **status** is *Success* you'll be able to retrieve your results from the **outputs** locations you provided in the original `POST`.
Start Mastering Preview
Start mastering to improve your music. The `inputs` location for your source media file as well as the `outputs` locations for the processed media files are required. **Note**: The Music Mastering Preview API supports a maximum of one input. A `preset` applies dynamic EQ processing to shape your music to match a desired sound. There are also additional optional parameters that can be provided to control the mastering output. A `segment` object specifying preview `start` may optionally be provided. This is an asynchronous operation. You receive a `job_id` that you use to retrieve the results when the mastering is complete. To learn more, see the example requests and responses.
Start Media Download
`Note`: This API is deprecated. Please use POST /media/output instead. You can download media you previously uploaded with /media/input or media that was generated through another Dolby Media API. The temporary storage should allow you to read and write to the dlb:// locations for a period of at least 24 hours before it is removed.
Get Download URL
You can download media you previously uploaded with /media/input or media that was generated through another Dolby Media API. The temporary storage should allow you to read and write to the dlb:// locations for a period of at least 24 hours before it is removed.
Get Transcode Results
For a given job_id, this method will check if the transcoding task has completed and return transcoding results.
Start Transcoding
**POST /media/transcode** Start transcoding to modify the size, bitrates, and formats for your media. The `inputs` and `outputs` parameters are required to identify the source material and target for results. **Note**: The Transcode API supports a maximum of 25 inputs. To use your own cloud storage provider for input/output files, use the optional `storage` parameter. (_See [Media Input & Output](https://docs.dolby.io/media-apis/docs/media-input-and-output) docs for more info_) This is an asynchronous operation so you will receive a `job_id` to use in calling `GET /media/transcode` to retrieve the job status. There are additional optional parameters that can be provided to further specify the desired output content types. See the [How-To Guide](https://docs.dolby.io/media-apis/docs/transcode-api-guide) for examples of transcode requests.
Get Usage
Returns a summary of Media API usage for the last day, or a custom time range if specified.
Retrieve Webhook
Retrieve the previously registered webhook configuration.
Register Webhook
Register a webhook that is triggered when a job completes.
Update Webhook
Update the previously registered webhook configuration.
Delete Webhook
Delete a previously registered webhook configuration.
2 months ago