Changelog

1.1.0

  • License tiers: Scout now supports three license tiers — Standard, Integration, and Enterprise. The active tier is logged at startup and gates which subsystems are started. See License.

  • MQA (Media Quality Assessment): Per-stream PSNR and SSIM computed on-device from the AMS encoder pipeline. Optional VMAF support via libvmaf (sampled at keyframe boundaries). The CMSD-MQA header is injected on segment responses for streams with MQA enabled. Configured per-stream via the REST API (PUT /rest/scout/stream/{appName}/{streamId}/mqa). See Media Quality Assessment (MQA).

  • Prometheus metrics export (Standard+): Per-stream PSNR, SSIM, VMAF, bitrate, and injection counters exposed at http://<host>:9090/metrics. See Telemetry (Prometheus).

  • MQA REST score ingest (Standard+): Accept quality scores pushed by an external quality-assessment tool via POST /mqa/{streamName} (requires restApiEnabled: true). Injected scores feed Prometheus and alerting. See Media Quality Assessment (MQA).

  • Quality alerting (Enterprise): Webhook alerts when a stream’s effective VMAF drops below the configured threshold (requires alertingEnabled: true). See Quality Alerting.

  • Filter install robustness: ScoutFilter installation and removal no longer fail if the Tomcat JMX context MBean is not found — the web.xml change is persisted on disk and a message prompts for a manual application restart.

1.0.0

  • Initial release.

  • CMSD-Static injection for HLS (.m3u8, .ts) and DASH (.mpd, .m4s) streams.

  • Five CMSD-Static keys: d (duration), br (bitrate), ot (object type), sf (streaming format), st (stream type).

  • Header delivery: CMSD-Static: RFC 8941 Dictionary response header.

  • Tag delivery: #EXT-X-CMSD-STATIC: injected after #EXTM3U in HLS manifests.

  • Tag delivery: <SupplementalProperty schemeIdUri="urn:mpeg:dash:cmsd:2020"> injected as first child of <MPD> in DASH manifests.

  • Configurable delivery mode: headers, tags, or both.

  • Configurable scope: manifests, segments, or both.

  • Bitrate resolved from _<N>kbps filename suffix with fallback to stream encoder settings.

  • Two-level settings hierarchy: global → per-application.

  • Configuration hot-reload without restarting AntMedia Server.

  • Web-based management UI with per-application filter installation and settings editing.

  • REST API for programmatic management.