backend: Add new endpoint to retrieve recording content and remove streaming endpoint
This commit is contained in:
parent
bb54cd6c8e
commit
713f99acf7
@ -17,6 +17,8 @@ paths:
|
||||
$ref: './paths/recordings.yaml#/~1recordings'
|
||||
/recordings/{recordingId}:
|
||||
$ref: './paths/recordings.yaml#/~1recordings~1{recordingId}'
|
||||
/recordings/{recordingId}/content:
|
||||
$ref: './paths/recordings.yaml#/~1recordings~1{recordingId}~1content'
|
||||
components:
|
||||
securitySchemes:
|
||||
$ref: './components/security.yaml'
|
||||
|
||||
@ -20,8 +20,6 @@ paths:
|
||||
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}'
|
||||
/rooms/{roomId}/participant-role:
|
||||
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}~1participant-role'
|
||||
/recordings/{recordingId}/stream:
|
||||
$ref: './paths/internal/recordings.yaml#/~1recordings~1{recordingId}~1stream'
|
||||
/participants/token:
|
||||
$ref: './paths/internal/participants.yaml#/~1participants~1token'
|
||||
/participants/token/refresh:
|
||||
|
||||
@ -1,78 +0,0 @@
|
||||
/recordings/{recordingId}/stream:
|
||||
get:
|
||||
operationId: getRecordingStream
|
||||
summary: Stream an OpenVidu Meet recording
|
||||
description: >
|
||||
Streams the OpenVidu Meet recording with the specified recording ID.
|
||||
This endpoint supports range requests, allowing partial content retrieval
|
||||
for video playback without downloading the entire file.
|
||||
tags:
|
||||
- Internal API - Recordings
|
||||
security:
|
||||
- accessTokenCookie: []
|
||||
parameters:
|
||||
- $ref: '../../components/parameters/recording-id.yaml'
|
||||
- $ref: '../../components/parameters/recording-range.yaml'
|
||||
responses:
|
||||
'200':
|
||||
description: Successfully streaming the full recording
|
||||
headers:
|
||||
Accept-Ranges:
|
||||
description: Indicates that byte-range requests are supported
|
||||
schema:
|
||||
type: string
|
||||
Content-Length:
|
||||
description: The total file size in bytes
|
||||
schema:
|
||||
type: integer
|
||||
content:
|
||||
video/mp4:
|
||||
schema:
|
||||
type: string
|
||||
format: binary
|
||||
'206':
|
||||
description: Partial content streaming based on byte range
|
||||
headers:
|
||||
Accept-Ranges:
|
||||
description: Indicates that byte-range requests are supported
|
||||
schema:
|
||||
type: string
|
||||
Content-Range:
|
||||
description: Specifies the range of bytes being sent
|
||||
schema:
|
||||
type: string
|
||||
Content-Length:
|
||||
description: The length of the partial content in bytes
|
||||
schema:
|
||||
type: integer
|
||||
content:
|
||||
video/mp4:
|
||||
schema:
|
||||
type: string
|
||||
format: binary
|
||||
'400':
|
||||
description: Bad Request — Invalid range header format
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '../../components/schemas/error.yaml'
|
||||
example:
|
||||
code: 400
|
||||
message: 'Invalid Range header'
|
||||
'401':
|
||||
$ref: '../../components/responses/unauthorized-error.yaml'
|
||||
'403':
|
||||
$ref: '../../components/responses/forbidden-error.yaml'
|
||||
'404':
|
||||
$ref: '../../components/responses/error-room-not-found.yaml'
|
||||
'416':
|
||||
description: Requested range not satisfiable
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '../../components/schemas/error.yaml'
|
||||
example:
|
||||
code: 416
|
||||
message: 'Requested range not satisfiable'
|
||||
'500':
|
||||
$ref: '../../components/responses/internal-server-error.yaml'
|
||||
@ -178,3 +178,83 @@
|
||||
$ref: '../components/responses/error-recording-in-progress.yaml'
|
||||
'500':
|
||||
$ref: '../components/responses/internal-server-error.yaml'
|
||||
/recordings/{recordingId}/content:
|
||||
get:
|
||||
operationId: getRecordingContent
|
||||
summary: Get recording content
|
||||
description: >
|
||||
Retrieves the content of a recording with the specified recording ID.
|
||||
The content is returned in a binary format suitable for video playback.
|
||||
This endpoint supports range requests, allowing partial content retrieval
|
||||
for video playback without downloading the entire file.
|
||||
tags:
|
||||
- OpenVidu Meet - Recordings
|
||||
security:
|
||||
- apiKeyInHeader: []
|
||||
- accessTokenCookie: []
|
||||
parameters:
|
||||
- $ref: '../components/parameters/recording-id.yaml'
|
||||
- $ref: '../components/parameters/recording-range.yaml'
|
||||
responses:
|
||||
'200':
|
||||
description: Successfully streaming the full recording
|
||||
headers:
|
||||
Accept-Ranges:
|
||||
description: Indicates that byte-range requests are supported
|
||||
schema:
|
||||
type: string
|
||||
Content-Length:
|
||||
description: The total file size in bytes
|
||||
schema:
|
||||
type: integer
|
||||
content:
|
||||
video/mp4:
|
||||
schema:
|
||||
type: string
|
||||
format: binary
|
||||
'206':
|
||||
description: Partial content streaming based on byte range
|
||||
headers:
|
||||
Accept-Ranges:
|
||||
description: Indicates that byte-range requests are supported
|
||||
schema:
|
||||
type: string
|
||||
Content-Range:
|
||||
description: Specifies the range of bytes being sent
|
||||
schema:
|
||||
type: string
|
||||
Content-Length:
|
||||
description: The length of the partial content in bytes
|
||||
schema:
|
||||
type: integer
|
||||
content:
|
||||
video/mp4:
|
||||
schema:
|
||||
type: string
|
||||
format: binary
|
||||
'400':
|
||||
description: Bad Request — Invalid range header format
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '../components/schemas/error.yaml'
|
||||
example:
|
||||
code: 400
|
||||
message: 'Invalid Range header'
|
||||
'401':
|
||||
$ref: '../components/responses/unauthorized-error.yaml'
|
||||
'403':
|
||||
$ref: '../components/responses/forbidden-error.yaml'
|
||||
'404':
|
||||
$ref: '../components/responses/error-room-not-found.yaml'
|
||||
'416':
|
||||
description: Requested range not satisfiable
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '../components/schemas/error.yaml'
|
||||
example:
|
||||
code: 416
|
||||
message: 'Requested range not satisfiable'
|
||||
'500':
|
||||
$ref: '../components/responses/internal-server-error.yaml'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user