Skip to content
All use cases
Media & Streaming

Turn a video file into an HLS stream

Open Media Convert takes a video from a file or a link, encodes it into MP4 renditions and packages them as HLS and DASH streams, ready to play on a phone, a laptop or a TV. You do not wire a transcoder, a packager and a queue together: one hosted product does the whole job, built on SVT Encore and Open VideoCore.

Updated

How to convert a video to HLS with Open Media Convert

The hosted app at mediaconvert.apps.osaas.io does the job in three steps.

  1. 1

    Add your video

    Upload a file or paste a link to one. Common inputs such as MP4, MOV, AVI, MKV and WebM are accepted.

  2. 2

    Choose a profile

    A profile lists the renditions to make: sizes, codecs and audio. Pick one, build one in a form, or write plain Encore YAML.

  3. 3

    Watch it run, then play it

    Follow the job in Activity. When it is done, play the HLS or DASH stream, or download the MP4 renditions.

From your own code: the Open VideoCore API

Media Convert runs on Open VideoCore, which is also in the OSC catalog as a service of its own. With your own instance, the same job is one call per step:

  1. POST /api/v1/provision creates a media stack: storage, a database and a queue. It runs in the background, so poll the returned operation until it reports done.
  2. POST /api/v1/profiles/bootstrap seeds the default Encore transcoding profiles, once per instance.
  3. POST /api/v1/assets/ingest-url pulls a video from a public URL into a new asset.
  4. POST /api/v1/assets/:id/transcode builds the adaptive bitrate ladder with SVT Encore.
  5. POST /api/v1/assets/:id/package writes the HLS and DASH output.
  6. GET /api/v1/assets/:id/delivery returns the playback URLs.

Encoders start when jobs arrive and stop when they are idle. The packager is created on the first packaging job of a stack, so that first job takes longer than the ones after it.

Open VideoCore has no login of its own. On OSC it runs behind the platform sign-in, which is the supported setup; do not expose it anywhere without an authenticating proxy in front.

Let your AI agent set up Open VideoCore

Connect your AI agent to the OSC MCP server and give it the prompt below. It creates the parameter store and the Open VideoCore instance, then provisions a stack for your videos.

Prompt

Set up an app-config parameter store called ovcconfig. Create a Personal Access Token for Open VideoCore, then create an Open VideoCore instance called ovcvideo, connected to ovcconfig with its API key, using the token as the OSC access token and strong generated passwords for MinioRootPassword and CouchdbAdminPassword. Wait until it is running, then provision a media stack called mystack and bootstrap the transcoding profiles.

Today the agent sets up the service, and you or your code send the videos. Adding videos and picking profiles by asking, inside Media Convert, needs MCP tools that do not exist yet.

Machine-readable recipe (JSON)

Prefer to assemble the chain yourself?

If you want every part as a separate service, the VOD transcoding use case wires SVT Encore, the Encore Packager, a callback listener and a Valkey queue into the same video-to-HLS job, and the VOD pipeline tutorial builds it step by step.

Open source, every part

SVT Encore is public on GitHub under EUPL-1.2 and Open VideoCore is public too. The output is standard HLS and DASH plus MP4 with no proprietary wrapper, so it plays from any CDN or from your own servers.

Related

Frequently asked questions

What is HLS?

HLS (HTTP Live Streaming) is an adaptive streaming format. The video is cut into short segments at several sizes and bitrates, and a playlist lets the player switch between them as the connection changes. It plays in browsers, on phones and on TVs, over any HTTP CDN.

Do I need to build a transcoding pipeline?

No. Open Media Convert is one product that encodes and packages. If you want to run the pieces as separate services, the Encore chain on the VOD transcoding page is the do-it-yourself route.

Which formats come out?

HLS and DASH streams, plus MP4 renditions for direct playback.

Can I write my own profile?

Yes. Profiles are plain Encore YAML: build one in a form, or write the YAML yourself.

Can I deliver through my own CDN?

Yes. The output is standard HLS and DASH plus MP4, so any CDN or your own origin can serve it.

What does it cost?

Current rates are on osaas.io/pricing. This guide does not quote one.

Turn your first video into HLS

Sign up for Open Source Cloud, then open Media Convert or create an Open VideoCore instance.