Service: Scene Detect Media Function - EyevinnOSC/community GitHub Wiki

Getting Started

Scene Detect Media Function is an open source serverless function that detects scene transitions in video files and extracts keyframe thumbnails at each scene boundary. You point it at a video URL, it processes the file asynchronously, and you retrieve the resulting thumbnail images via a simple REST API. Available as an open web service in Eyevinn Open Source Cloud, it is useful for generating preview images, building chapter navigation, or feeding scene metadata into content workflows. This tutorial walks you through the steps to get started.

Prerequisites

Step 1: Create the Scene Detect instance

Navigate to the Scene Detect Media Function service. Click Create mediafunction and enter a name for the instance. No additional configuration is required.

Click the instance card when the status is green and running.

Step 2: Submit a video for scene detection

Send a POST request to the /api/v1 endpoint with the URL of the video you want to process:

curl -X POST https://<instance-url>/api/v1 \
  -H "Content-Type: application/json" \
  -d '{"medialocator": "https://example.com/myvideo.mp4"}'

The response contains a jobId you use to track the job:

{ "jobId": "abc123" }

Step 3: Check job status

Poll the status endpoint until the job is complete:

curl https://<instance-url>/api/v1/abc123/status

The response reports the current state (running or completed).

Step 4: Retrieve thumbnails

Once the job is complete, fetch the extracted keyframe images:

curl https://<instance-url>/api/v1/abc123/thumbnails

The response is a JSON array of temporary image URLs, one per detected scene boundary. Download these images promptly — the links are temporary and the service does not persist them.

[
  "https://<instance-url>/thumbnails/abc123/0.jpg",
  "https://<instance-url>/thumbnails/abc123/1.jpg",
  "https://<instance-url>/thumbnails/abc123/2.jpg"
]

CLI usage

osc create eyevinn-function-scenes myscenedetect

Resources