Skip to content

Publish content for streaming

To deliver content to viewers, MK.IO uses two infrastructure components that must both be in place before playback is possible:

  • Streaming Endpoint — The delivery server that handles viewer requests and serves your content from storage. Think of it as the origin that your CDN or media players connect to.
  • Streaming Locator — Attached to a specific asset, this generates the playback URLs and controls which streaming protocols and protections are applied.

Both must exist and be linked to an asset before anyone can watch it. You typically create one endpoint per environment (for example, production and staging) and reuse it across many assets. Each asset gets its own locator.

A streaming endpoint is the network infrastructure that serves content from your storage to viewers. Each endpoint has a hostname that becomes part of every playback URL for assets assigned to it.

You can create multiple endpoints — for example, separate endpoints for live and VOD content. Each asset is assigned to one endpoint at a time, though you can reassign at any time.

Endpoint types:

TypeConcurrent viewersBest for
SharedUp to 200Development, testing, light workloads
DedicatedUp to 10,000Production streaming with consistent performance
CDNUnlimitedHigh-scale global delivery (Azure projects)

Go to Streaming Endpoints in the left navigation and click + Create Streaming Endpoint.

  • Name: A unique identifier using lowercase letters, numbers, and hyphens (for example, production). This becomes part of your playback URLs and is visible to end users — keep it descriptive.
  • Description: Optional. Useful if you run multiple endpoints for different content types.
  • Type: Shared, Dedicated, or CDN based on your scale requirements. You can switch between Shared and Dedicated at any time.
  • Scale units (Dedicated only): Start at 1 and increase as your audience grows.
  • CDN (Azure projects only): Enable to integrate with Azure CDN for global distribution.
  • Auto-start: Enable to activate the endpoint immediately after creation.
  • Tags: Optional labels for resource grouping and cost tracking.

Click Create. If you did not enable auto-start, select your endpoint from the list and click Start.

A running streaming endpoint incurs costs even when no content is actively being played. Stop endpoints when they are no longer needed. See MK.IO pricing for details.

A streaming locator is attached to one asset and generates the playback URLs for it. It controls:

  • Which streaming protocols are available - Clear streaming, adaptive bitrate streaming, or DRM-protected
  • Access window — Optional start and end dates that restrict when content can be viewed
  • Output modification — Optional filters that trim or adjust the manifest

Every asset needs at least one locator before it can be played. You can create multiple locators on the same asset — for example, one for free public access and one for DRM-protected subscribers. Locator names must be unique within your project.

Go to Assets and click the name of the asset you want to publish.

Scroll to the Streaming Locators section and click + Add Streaming Locator.

You can also open the Streaming locator dropdown at the top of the asset page and choose + Add Streaming Locator.

  • Name: A unique identifier for this locator (for example, public-access). This appears in the playback URL path.

  • Streaming policy: Controls which protocols and protections apply. Common options:

    PolicyUse when
    Predefined_ClearStreamingOnlyAdaptive streaming (HLS/DASH) with no download or DRM
    Predefined_DownloadAndClearStreamingBoth streaming and direct file download, no DRM
    Predefined_MultiDrmCencStreamingHLS/DASH protected with Widevine and PlayReady

    For protected content, you also need a content key policy. See Content protection.

  • Content key policy: Required when using a DRM streaming policy. Leave empty for clear streaming.

  • Start time (optional): The earliest date and time the content is accessible. Leave empty for immediate access.

  • Expiration time (optional): The date and time the locator expires and content becomes unavailable. Leave empty for content that does not expire.

  • Asset filter (optional): Limits or modifies the output for this asset specifically. See Create an asset filter.

  • Account filter (optional): An account-level filter applied across all assets on this locator.

  • Streaming locator ID (optional): A custom UUID. MK.IO auto-generates one if left empty.

Click Add. The locator appears in the Streaming Locators list with its generated ID.

Apply the endpoint and locator to your asset

Section titled “Apply the endpoint and locator to your asset”

With both components created, link them to the asset to generate the playback URLs.

On the asset page, open the Streaming Endpoint dropdown and select your running endpoint. Only running endpoints appear in this list.

Open the Streaming locator dropdown and select the locator you created.

Click Apply. MK.IO generates the playback URLs and displays them at the top of the asset page.

Your asset’s HLS and DASH playback URLs are now available. You can copy them for use in players, embed them in your application, or test them directly in the built-in MKPlayer on the asset page.

Playback URL format:

https://<endpoint-name>.<region>.streaming.mediakind.com/<locator-id>/<manifest-name>.ism/manifest(format=m3u8-cmaf)
https://<endpoint-name>.<region>.streaming.mediakind.com/<locator-id>/<manifest-name>.ism/manifest(format=mpd-time-cmaf)
© 2025–2026 MediaKind. All rights reserved.