threefive
threefive is available in the NetActuate Marketplace as a one-click, open-source appliance you can deploy into any NetActuate PoP. Headless SCTE-35 toolkit: threefive parser plus x9k3 HLS segmenter, driven over SSH. It is grouped under the Media & Streaming category.
What It Does
threefive is a fast, complete SCTE-35 library and command-line tool: it decodes and encodes SCTE-35 from base64, hex, bytes, integers, XML, JSON, MPEG-TS, HLS and DASH, and can inject cues into a stream. x9k3 is a companion HLS segmenter that splits an MPEG-TS input at SCTE-35 splice points and writes SCTE-35 HLS tags, so you can prepare ad-insertable HLS from the command line. FFmpeg is bundled for generating and inspecting test media.
Key features
- SCTE-35 parse, encode and inject across base64, hex, int, bytes, XML, XMLbin, JSON, MPEG-TS, HLS and DASH
- Read cues from files, stdin, HTTP(S), UDP, multicast and SRT
- x9k3 HLS segmenting with SCTE-35 splice-point awareness and sidecar cue injection
- Importable Python library for building your own SCTE-35 workflows
Use cases
- Broadcast and OTT engineers validating or crafting SCTE-35 ad markers
- Building HLS ad-insertion pipelines and QA tooling
- Learning and debugging the SCTE-35 wire format
This is a headless appliance: threefive and x9k3 are on the PATH and you drive them over SSH. A small landing page on the management port documents the exact commands and links to a bundled sample, and reports a first-boot self-check so you can confirm the toolkit is healthy at a glance.
Vendor and Project
threefive is an open-source project, offered here under the Open Source listing with best-effort community support.
- Project home: github.com
NetActuate supports the underlying infrastructure. Application-level support follows the listing SLA class (open-source, best effort).
Sizing
| vCPU | RAM | Disk | |
|---|---|---|---|
| Minimum | 1 | 1 GB | 20 GB |
| Recommended | 2 | 2 GB | 25 GB |
No VPU (hardware acceleration) is required for this appliance. Choose a size at deploy based on your expected load.
Configuration Fields
When you deploy, you provide these fields. They are written into the appliance at first boot.
| Field | Required | Default | Notes |
|---|---|---|---|
| Landing page port | No | 8080 | TCP port for the co-located nginx landing/instructions page (default 8080). |
Using the Appliance
Reach the appliance
- Open the landing page. Browse to http://YOUR_VM_IP:8080/ for runnable examples and a health self-check (threefive and x9k3 versions). Health JSON is at http://YOUR_VM_IP:8080/healthz .
- Use the tools over SSH. SSH into the instance;
threefiveandx9k3are on your PATH.- Decode a cue:
threefive '/DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=' - Segment the bundled sample:
cd /opt/threefive/demo && x9k3 -i sample.ts - Inject SCTE-35 from a sidecar:
x9k3 -i sample.ts -s sidecar.txt
- Decode a cue:
- Build in Python.
import threefivein your own scripts (venv at /opt/threefive/venv).
The landing port is configurable via the mkt_landing_port seed field (default 8080). There is no web login; the appliance is a CLI and library toolkit.
FAQ
Is there a software license fee? No. threefive is open source and free to run. You pay only for the NetActuate infrastructure and bandwidth.
Which port does the appliance serve on?
The primary service is published on port 8080 by default; see the configuration fields for any adjustable ports.
Who supports it? NetActuate operates the underlying infrastructure. The application itself is community-supported open source (best-effort SLA class).
Version and Changelog
| Version | Status | Released |
|---|---|---|
| 3.0.93 | Current (default) | 2026-07-14 |
Deploy
- Deploy in the portal: Deploy threefive
- View the listing: portal.netactuate.com/platform/marketplace/l/threefive
- Public listing: netactuate.com/marketplace/threefive
Need Help?
Contact support@netactuate.com or open a support ticket from the portal.