MK.IO
Live streaming workflows
Live streaming workflows

Live streaming workflows

Live streaming broadcasts video content in real-time as it is generated. This guide covers the complete workflow from configuring input signals to delivering live streams to your audience.

Prerequisites

Before you begin, make sure you have:

  • Access to your MK.IO account
  • Cloud storage connected for recording
  • Software or hardware to generate a live video signal (for example, OBS Studio or a hardware encoder)
  • RTMP or SRT streaming capability

Understanding live streaming

Live streaming broadcasts video in real-time as content is generated. Common use cases include:

  • Live events — Conferences, concerts, sports broadcasts
  • Live interviews — Real-time conversations
  • Fake live — Pre-recorded content streamed as if live
  • 24/7 channels — Continuous broadcasting

In all cases, content continuously arrives at MK.IO, which packages it for distribution to your audience.

Preparing your signal source

To stream to MK.IO, you need software or hardware that captures your content and sends it via RTMP or SRT protocols.

Protocol overview:

  • RTMP — Established, widely supported (YouTube, Twitch, Vimeo). Delivers pre-encoded H.264 video and AAC audio.
  • SRT — Modern protocol offering superior reliability and security. Increasingly used in professional workflows.

This guide uses OBS Studio with RTMP for simplicity.

Setting up OBS Studio

Install OBS Studio

Download OBS Studio from obsproject.com (opens in a new tab) (Windows, Linux, or Mac) and launch the application. You see a black preview with controls and source lists.

Add a test source

  1. Click + under Sources.
  2. Choose Browser.
  3. Name it Clock and paste this URL: https://vclock.com.

This creates a live clock for testing. Minimise OBS and return to MK.IO to configure the receiving end.

If the clock site shows a cookie consent banner, right-click the browser source and select Interact to accept cookies.

Creating a live event

  1. Go to your MK.IO project dashboard at https://app.mk.io/project/<your-project-name>.
  2. Navigate to Create > Live Events.
  3. Click + Create Live Event.

Basic settings

  • Name: A descriptive identifier such as live-tutorial
  • Description: Optional additional information

Event type

Live passthrough mode:

Live passthrough requires advanced streaming knowledge and is not recommended for beginners.

  • MK.IO receives RTMP input and packages it for streaming without modification.
  • The stream must be pre-encoded at the source (for example, by OBS).
  • For adaptive bitrate streaming (ABR), encoding must be done at the source.
Live passthrough mode diagram

Live encoding mode (recommended):

  • MK.IO processes the incoming stream and creates multiple resolutions.
  • MK.IO automatically generates adaptive bitrate streaming (ABR).
  • Supports both RTMP and SRT input protocols.
  • Suitable for most use cases.
Live encoding mode diagram

Adaptive Bitrate Streaming (ABR) creates multiple versions of your live stream at different bitrates and resolutions. The player switches between versions in real-time based on network conditions, device performance, and screen size, ensuring smooth playback.

Recommended configuration

  • Event type: Live Encoding (720p) — a good default quality
  • Input protocol: RTMP
  • Archive window length: How long recordings are retained
  • Storage account: Your connected storage for recordings
  • Output key frame interval: 2 (recommended)
  • Image fitting: Auto size
  • AI pipeline:
    • None — no additional processing
    • Predefined_ACSLiveTranscription — for automatic live subtitles (specify ISO language code)

Click Review then Create to finalise your live event.

Setting up streaming infrastructure

Live content requires two infrastructure components before it can reach viewers:

The two components

1
Streaming Endpoint

The delivery infrastructure

2
Streaming Locator

The access permissions and URLs

Creating a streaming endpoint

If you have not already created an endpoint:

  1. Go to Streaming Endpoints at https://app.mk.io/project/<your-project-name>/streamingEndpoints.
  2. Click + Create Streaming Endpoint.
  3. Configure:
    • Name: TutorialEndpoint
    • Base URL: tutorial
    • Type: Shared (cost-effective for this guide)
  4. Click Create then Start.

Endpoint types for live streaming:

  • Shared — Up to 200 concurrent viewers, cost-effective
  • Dedicated — Up to 10,000 concurrent viewers, better performance
  • CDN — Unlimited viewers, maximum performance, lowest latency

Creating a streaming locator

Before starting your live stream, configure the streaming locator:

  1. In your live event, scroll to the Locators section.
  2. Click + Create Locator.
  3. Configure:
    • Name: live-tutorial-locator (unique identifier)
    • Streaming policy: Predefined_ClearStreamingOnly (streaming without protection)
    • Content key policy: Leave empty unless you require DRM protection
    • Expiration time: Leave empty for a stream that does not expire
    • Asset filters: Leave empty unless you need content modification
    • Account filters: Leave empty unless you need account-level filtering
  4. Click Add.

Unlike VOD, you cannot apply the streaming locator until the live stream starts. You apply it in the next step.

Going live

In your live event interface you see:

  • The input URL for sending your stream — copy this now
  • The streaming endpoint (must be running)
  • The streaming locator (configured but not yet applied)

Configure OBS for streaming

  1. In OBS, go to Settings > Stream.
  2. Configure the connection:
    • Service: Custom

    • Server: The input URL you copied, without the /stream suffix

      rtmp://in-707ee7ae-a496-42b9-a450-0a6895af6a68.uksouth.streaming.mediakind.com:1935/527ecc1d-2e14-49ef-86f0-778cba76b3c0
    • Stream Key: stream

  3. Click Apply and OK.

Start the stream

  1. Start the live event in MK.IO.
  2. In OBS, click Start Streaming — this sends your feed to MK.IO.
  3. Once MK.IO receives the stream, apply the streaming locator.
  4. MK.IO generates your playback URLs in HLS and DASH formats.

Your stream is now live and ready for viewers through MK Player or any compatible player.

Monitoring your stream

OBS status indicators

The status bar at the bottom of the OBS window shows:

  • Bitrate — Data sent per second. Should be stable and green.
  • Dropped frames — Should remain at 0%. A rising count indicates network or CPU issues.
  • FPS — Frame rate being sent (typically 30 or 60).
  • CPU usage — Keep below 60%. Avoid 90%+ as it causes quality degradation.
OBS status bar example

MK.IO stream status

  1. Return to your live event page in MK.IO.
  2. Verify the stream appears in the built-in player.
  3. Confirm that playback URLs are visible for HLS and DASH formats.
  4. Test the URLs in MK Player or another compatible player to confirm viewers can access the stream.

You notice a delay between OBS input and MK.IO player output. This is expected. Typical delays are 15–30 seconds, which MK.IO optimises compared to standard solutions (50–60 seconds). With low-latency players, delays can be as low as approximately 20 seconds.

Sharing your live stream

Once your streaming locator is applied, you have access to:

Playback URLs:

  • HLS: https://tutorial.uksouth.streaming.mediakind.com/.../manifest(format=m3u8-cmaf)
  • DASH: https://tutorial.uksouth.streaming.mediakind.com/.../manifest(format=mpd-time-cmaf)

URL structure:

https://tutorial.uksouth.streaming.mediakind.com/<locator-id>/<live-event-name>.ism/manifest(format=mpd-time-cmaf)

These URLs work with:

When viewers access live streaming URLs, egress transfer costs apply. See MK.IO pricing (opens in a new tab) for details.

Recording and playback

Your live stream is automatically recorded to your connected storage. Once you stop the event:

  1. Go to Outputs in your live event.
  2. You see an asset containing the complete recording.
  3. Click the asset link to access the VOD version.

This recording becomes a standard VOD asset that you can process with transforms, create additional streaming locators for, or use for distribution.

Stopping your stream

When your event concludes:

  1. Click Stop on the live event page in MK.IO.
  2. In OBS, click Stop Streaming.
  3. If the streaming endpoint is no longer needed, stop it to avoid unnecessary costs.