Red5 File Restreamer API

Restream recorded FLV or MP4 files as pseudo-live streams

OpenAPI Specification

red5-file-restreamer-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Red5 Pro Brew Mixer Admin File Restreamer 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: File Restreamer
  description: Restream recorded FLV or MP4 files as pseudo-live streams
paths:
  /filerestreamer/provision.create:
    post:
      operationId: createFileRestreamProvision
      summary: Create File Restream Provision
      description: Creates a provision that restreams a recorded FLV or MP4 file as a pseudo-live stream. The file is played back continuously or on loop, allowing pre-recorded content to be distributed as a live stream.
      tags:
      - File Restreamer
      parameters:
      - $ref: '#/components/parameters/accessTokenParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileRestreamProvision'
      responses:
        '200':
          description: File restream provision created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProvisionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /filerestreamer/provision.delete:
    post:
      operationId: deleteFileRestreamProvision
      summary: Delete File Restream Provision
      description: Stops and removes an active file restreaming provision, halting playback and live distribution of the specified pre-recorded file.
      tags:
      - File Restreamer
      parameters:
      - $ref: '#/components/parameters/accessTokenParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvisionDelete'
      responses:
        '200':
          description: File restream provision deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProvisionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    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'
  schemas:
    Error:
      type: object
      description: Error response
      properties:
        code:
          type: integer
          description: HTTP status code
        message:
          type: string
          description: Human-readable error message
    FileRestreamProvision:
      type: object
      description: Configuration for restreaming a pre-recorded file as a live stream
      required:
      - filePath
      - streamName
      properties:
        filePath:
          type: string
          description: Server filesystem path to the FLV or MP4 file to restream
        streamName:
          type: string
          description: Name to use for the pseudo-live output stream
        appName:
          type: string
          description: Red5 Pro application scope to publish the stream into
          default: live
        loop:
          type: boolean
          description: Whether to loop the file continuously when playback ends
          default: false
    ProvisionResponse:
      type: object
      description: Response from a provision create or delete operation
      properties:
        result:
          type: boolean
          description: True if the operation completed successfully
        message:
          type: string
          description: Human-readable result message
        streamName:
          type: string
          description: Name of the stream affected by the operation
    ProvisionDelete:
      type: object
      description: Parameters to identify the provision to delete
      required:
      - streamName
      properties:
        streamName:
          type: string
          description: Name of the stream whose provision should be removed
        appName:
          type: string
          description: Red5 Pro application scope containing the stream
          default: live
  parameters:
    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/