Red5 Mixers API

Mixer session lifecycle management

OpenAPI Specification

red5-mixers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Red5 Pro Brew Mixer Admin Mixers API
  description: The Red5 Pro Brew Mixer API is a REST interface for the Cauldron Media Engine that enables dynamic composition of multiple live video and audio streams into a single mixed output stream. It supports creating and managing mixers, controlling input sources and layout, and producing composite streams for broadcasting. The API provides both v1 and v2 endpoints for mixer lifecycle management and image overlay control, making it useful for virtual events, live production, and multi-participant streaming scenarios.
  version: '2.0'
  contact:
    name: Red5 Support
    url: https://www.red5.net/contact/
  termsOfService: https://www.red5.net/terms/
servers:
- url: http://{host}:5080
  description: Red5 Pro Server with Brew Mixer
  variables:
    host:
      default: localhost
      description: Hostname or IP address of the Red5 Pro server
security:
- accessToken: []
tags:
- name: Mixers
  description: Mixer session lifecycle management
paths:
  /brewmixer/2.0/mixers:
    get:
      operationId: listMixers
      summary: List Active Mixers
      description: Returns a list of all currently active mixer sessions on the Red5 Pro server, including their configuration and current input stream count.
      tags:
      - Mixers
      parameters:
      - $ref: '#/components/parameters/accessTokenParam'
      responses:
        '200':
          description: List of mixers returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Mixer'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createMixer
      summary: Create a Mixer
      description: Creates a new mixer session that combines multiple live input streams into a single composite output stream. Specify output dimensions, frame rate, bitrate, and the name of the output stream.
      tags:
      - Mixers
      parameters:
      - $ref: '#/components/parameters/accessTokenParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MixerCreate'
      responses:
        '201':
          description: Mixer created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mixer'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /brewmixer/2.0/mixers/{mixerId}:
    get:
      operationId: getMixer
      summary: Get Mixer Details
      description: Returns configuration and status details for the specified mixer session, including active inputs, output stream name, and rendering parameters.
      tags:
      - Mixers
      parameters:
      - $ref: '#/components/parameters/mixerIdParam'
      - $ref: '#/components/parameters/accessTokenParam'
      responses:
        '200':
          description: Mixer details returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mixer'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteMixer
      summary: Delete a Mixer
      description: Terminates the specified mixer session and stops the composite output stream. All input stream connections are released when the mixer is deleted.
      tags:
      - Mixers
      parameters:
      - $ref: '#/components/parameters/mixerIdParam'
      - $ref: '#/components/parameters/accessTokenParam'
      responses:
        '200':
          description: Mixer deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Mixer:
      type: object
      description: A mixer session combining multiple input streams into a composite output
      properties:
        id:
          type: string
          description: Unique mixer session identifier
        outputStreamName:
          type: string
          description: Name of the composite output stream
        outputWidth:
          type: integer
          description: Output frame width in pixels
        outputHeight:
          type: integer
          description: Output frame height in pixels
        outputFrameRate:
          type: number
          description: Output frame rate in frames per second
        outputBitrate:
          type: integer
          description: Output video bitrate in bits per second
        inputCount:
          type: integer
          description: Number of currently connected input streams
        status:
          type: string
          description: Mixer operational status (active, idle, error)
    MixerCreate:
      type: object
      description: Parameters for creating a new mixer session
      required:
      - outputStreamName
      - outputWidth
      - outputHeight
      properties:
        outputStreamName:
          type: string
          description: Name for the composite output stream
        outputWidth:
          type: integer
          description: Output frame width in pixels
        outputHeight:
          type: integer
          description: Output frame height in pixels
        outputFrameRate:
          type: number
          description: Output frame rate in frames per second
          default: 30
        outputBitrate:
          type: integer
          description: Output video bitrate in bits per second
          default: 2000000
        backgroundColor:
          type: string
          description: Background fill color in hex format (e.g.,
    Error:
      type: object
      description: Error response
      properties:
        code:
          type: integer
          description: HTTP status code
        message:
          type: string
          description: Human-readable error message
  responses:
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Request body or parameters are invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication failed or access token is missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    mixerIdParam:
      name: mixerId
      in: path
      description: Unique identifier for the mixer session
      required: true
      schema:
        type: string
    accessTokenParam:
      name: accessToken
      in: query
      description: API access token for authentication
      required: true
      schema:
        type: string
  securitySchemes:
    accessToken:
      type: apiKey
      in: query
      name: accessToken
      description: API access token for authenticating Brew Mixer API requests
externalDocs:
  description: Red5 Pro Brew Mixer API Documentation
  url: https://www.red5.net/docs/red5-pro/development/api/mixer/brew-mixer-api/