Construct a job JSON with an InputClipping if needed, then define an HLS output group with a manifest duration format and a destination S3 URI
Add multiple video outputs in the group — each with a distinct bitrate, resolution, and rate control mode (QVBR recommended); set codec settings to H.264 or H.265
Add an audio output and any caption outputs (WebVTT or embedded) to the same output group
Submit the job via the MediaConvert REST API (POST to the regional endpoint /2017-08-29/jobs) or AWS SDK, supplying the job JSON and the IAM role ARN with S3 read/write and CloudWatch permissions
Poll job status or subscribe to EventBridge events on the aws.mediaconvert source for COMPLETE/ERROR notifications; retrieve the output S3 path from the job response
Known gotchas
MediaConvert endpoints are region-specific and per-account; use the DescribeEndpoints API call to get your account's endpoint URL before submitting jobs, or the submission will return a 404
QVBR rate control can produce segments that temporarily exceed the declared peak bitrate in the HLS playlist BANDWIDTH attribute — always set a maxBitrate constraint to avoid ABR ladder misreporting
Caption outputs must be in a separate output if targeting WebVTT sidecar files; embedding captions in the video stream and also outputting a sidecar in the same job requires two caption output entries with different destination settings
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp