Changelog

1.0.0

  • Initial release.

  • CMSD-Static header injection: ot (object type), sf (streaming format), st (stream type), br (bitrate) injected on every HLS and DASH segment and manifest response. See Configuration.

  • CMSD-Dynamic header injection: vmaf, psnr, ssim injected when quality scores are available for a stream/rendition. See Media Quality Assessment (MQA).

  • HLS and DASH support: Cupertino (HLS) and MPEG-DASH streaming sessions via WSE IHTTPStreamerSessionActionNotify.

  • H.264 SEI ingest: SVTA2128 MQA quality scores extracted from user_data_unregistered SEI NAL units in live H.264 streams. Enabled by default via cmsdMqa.input.seiParsing=true. See Media Quality Assessment (MQA).

  • MQA REST score ingest (Standard+): Accept VMAF, PSNR, and SSIM scores pushed by an external encoder or quality-assessment tool via POST /mqa/{streamName} (requires cmsdMqa.input.restApi=true). See Media Quality Assessment (MQA).

  • Prometheus metrics export (Standard+): Per-stream quality scores, bitrate, keyframe interval, event counters, and a VMAF score histogram at http://<host>:9090/metrics. See Telemetry.

  • Webhook JSON export (Standard+): Periodic push of all active stream metrics to a configurable HTTP endpoint (requires cmsdMqa.telemetry.webhook.enabled=true). See Telemetry.

  • OpenTelemetry (OTLP) export (Integration+): Per-stream gauge and counter instruments exported to an OpenTelemetry Collector via gRPC (port 4317) or HTTP/protobuf (port 4318). See Telemetry.

  • Kafka export (Integration+): Per-stream metrics published as JSON to a configurable Kafka topic on a 15-second interval. See Telemetry.

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

  • License tiers: Standard, Integration, and Enterprise. The active tier is logged at startup (ModuleCmsdMqa: license valid, tier = STANDARD). Subsystems gated by tier do not start until a license of sufficient level is validated. See License.

  • Metrics store TTL: Configurable eviction of stale stream entries via cmsdMqa.store.scoreTtlSeconds (default: 60 seconds).

  • Application configuration via Application.xml properties; a WSE application restart is required to apply changes. See Configuration.