Getting Started

Encore Packager is an open-source service that listens for completed SVT Encore transcoding jobs and packages them into adaptive streaming formats (DASH and HLS) using Shaka Packager. Output can be written to a local path or an S3-compatible bucket. Available as an open web service in Eyevinn Open Source Cloud.

Prerequisites

Step 1: Create a Valkey instance

Encore Packager uses a Redis-compatible queue to receive job notifications from SVT Encore.

Navigate to Valkey and create an instance (e.g. packagerqueue). Note the RedisUrl from the instance details.

Step 2: Set up output storage

Option A — S3-compatible bucket (MinIO on OSC)

Create a MinIO instance and note its internal endpoint URL, access key, and secret key.

Option B — AWS S3

Use an existing S3 bucket and have your AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY ready.

Step 3: Store credentials as secrets

Navigate to the Encore Packager service page, go to Service Secrets, and create secrets for:

  • oscpat — your OSC personal access token (for accessing Encore instances)
  • awskey — AWS or MinIO access key ID
  • awssecret — AWS or MinIO secret access key

Step 4: Create the Encore Packager instance

Go to My encore-packagers and click Create encore-packager. Fill in:

Field Description
Name Alphanumeric name (e.g. mypackager)
RedisUrl URL of your Valkey instance (e.g. redis://packagerqueue.valkey-io-valkey.auto.prod.osaas.io:6379)
OutputFolder Output path — local folder or S3 bucket (e.g. s3://my-output-bucket)
PersonalAccessToken {{secrets.oscpat}}
AwsAccessKeyId {{secrets.awskey}}
AwsSecretAccessKey {{secrets.awssecret}}

Optional settings:

Field Description
RedisQueue Queue name to listen on (default: packaging-queue)
Concurrency Number of parallel packaging jobs (default: 1)
AwsRegion AWS region when using S3 (e.g. eu-west-1)
S3EndpointUrl Custom S3 endpoint for MinIO or other S3-compatible storage
OutputSubfolderTemplate Template for output subfolders (default: $INPUTNAME$/$JOBID$)
SkipPackaging Copy MP4s and generate SMIL instead of DASH/HLS packaging (true/false)
CallbackUrl HTTP callback URL for packaging completion notifications

Click Create.

How it works

Encore Packager subscribes to the Valkey queue and waits for job completion messages published by SVT Encore. When a job arrives, it:

  1. Fetches the transcoded files from the Encore output location
  2. Runs Shaka Packager to produce DASH manifests (manifest.mpd) and HLS playlists (master.m3u8)
  3. Writes the packaged output to OutputFolder/InputName/JobId/
  4. Sends an optional callback notification on success or failure

CLI usage

osc create eyevinn-encore-packager mypackager \
  -o RedisUrl="redis://packagerqueue.valkey-io-valkey.auto.prod.osaas.io:6379" \
  -o OutputFolder="s3://my-output-bucket" \
  -o PersonalAccessToken="{{secrets.oscpat}}" \
  -o AwsAccessKeyId="{{secrets.awskey}}" \
  -o AwsSecretAccessKey="{{secrets.awssecret}}" \
  -o AwsRegion="eu-west-1"

Resources