Managing Presentation Profiles
This series of API calls allows you to view and manage presentation profile recordings within a Rev account.
Get Presentation Profiles
Lists all Presentation Profiles in the system. These GUIDs are required when creating a Webcast via API.
Request Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| none |
Example Response
[
{
"id": "string",
"name": "string",
"description": "string",
"status": "string",
"videoSource": "string",
"destinations": [
{
"deviceId": "string",
"deviceName": "string",
"type": "string",
"isActive": true,
"streams": [
"string"
]
}
]
}
]
Response Codes
| Code | Description |
|---|---|
| 200 | ok |
| 401 | Unauthorized error |
| 500 | Internal server error |
Start/Schedule a Presentation Profile Recording
This API starts or schedules a Presentation Profile recording. It does not reserve the source device or the recording device. It assumes that the source device is live and a recording device is available around the time when the recording is scheduled to start.
Request Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| startScheduledRecordingRequest | multipart/form-data | The recording parameters | Yes |
“Recording” MetaData Structure
| Name | Type | Description | Required |
|---|---|---|---|
| presentationProfileId | String | Profile being used in the Webcast. | Yes |
| useAccountRecordingDevice | Boolean | Default is false. If set to true, the account primary/secondary recording device will be used. If false, the destination DME that streams the chosen RTSP stream will be used. If the chosen RTSP stream is not from any destination DME or its DME is not available, the first available DME in the Presentation Profile will be used. | |
| startDate | UTC time | Example: “2018-05-21T20:20:00Z”. If it’s not specified, the current time will be used. | |
| endDate | UTC time | If it’s not specified, StartDate + 2 hours (default duration) will be used. | |
| title | string | If title is not specified, the recording will have the Presentation Profile name as its title. |
System Wide Configuration Settings
| Setting | Default Value | Description |
|---|---|---|
| RecordingDurationMax | “10:00:00” | Max duration – difference between StartDate and EndDate cannot exceed the default 10 hours |
| RecordingDurationMin | “00:00:30” | Min duration |
| RecordingDurationDefault | “02:00:00” | The default duration is 2 hours. |
| StartRecordingLeadTime | “00:03:00” | Rev starts the recording process 3 minutes ahead of the scheduled recording time due to overhead of the Rev scheduler and Rev/DME communication scheme. |
| PurgeScheduledRecordingRecordAfter | “1.00:00:00” | The recording DB record that provides the recording status update will be purged 1 day after the recording is completed. |
| PurgeFailedScheduledRecordingRecordAfter | “7.00:00:00” | The recording DB record that provides the recording status update will be purged 7 days after the recording fails. |
Example Request
{
"presentationProfileId": "string",
"useAccountRecordingDevice": true,
"startDate": "2018-06-14T14:25:33.602Z",
"endDate": "2018-06-14T14:25:33.602Z",
"title": "Test Video"
}
Example Response
{
"scheduledRecordingId": "string"
}
Response Codes
| Code | Description |
|---|---|
| 401 | Unauthorized error |
| 500 | Internal server error |
Stop/Cancel a Presentation Profile Recording
This API will stop or cancel (if it has not started) a Webcast recording from a Presentation Profile. It requires the scheduledRecordingId returned from the Start/Schedule Recording API.
Request Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| scheduledRecordingId | Obtained from the Start/Schedule Recording API | Yes |
Example Response
{
"recordingVideoId": "string",
"status": "stopping"
}
Additional Possible Responses
| Status | Response | Comment |
|---|---|---|
| When Status == Scheduled | { “recordingVideoId”: null, “status”: “Cancelled” } | Rev will cancel the recording if it has not started. |
| When Status == Stopping | { “recordingVideoId”: “be820cea-82c2-4e26-8e45-27a731818f09”, “status”: “Stopping” } | |
| When Status == Stopped | { “recordingVideoId”: “be820cea-82c2-4e26-8e45-27a731818f09”, “status”: “Stopped” } | |
| When Status == Failed | { “code”: “ScheduledRecordingFailed”, “detail”: “Detail error message.” } | |
| When Status == Cancelled | { “code”: “ScheduledRecordingAlreadyCancelled”, “detail”: “ScheduledRecording is already cancelled.” } | |
| If the recording record does not exists | { “code”: “ScheduledRecordingNotFound”, “detail”: “Invalid request. ScheduledRecording does not exist.” } | |
| If the recording id is not supplied | { “code”: “ScheduledRecordingIdRequired”, “detail”: “Invalid request. ScheduledRecordingId is required.” } |
Response Codes
| Code | Description |
|---|---|
| 401 | Unauthorized error |
| 500 | Internal server error |
Get Presentation Profile Recording Status
This API retrieves the status of a Presentation Profile recording.
Responses include:
- Scheduled
- Starting
- Recording
- Stopping
- Failed
- Cancelled
Request Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| scheduledrecordingid | string | The scheduledrecordingid returned in the Start/Schedule API. | Yes |
Example Response
{
"startDate": "2018-05-23T19:42:20.82Z",
"endDate": "2018-05-23T19:47:00Z",
"status": "Stopped"
}
Example Response if No Recording Found
{
"code": "ScheduledRecordingNotFound",
"detail": "Invalid request. ScheduledRecording does not exist."
}
Response Codes
| Code | Description |
|---|---|
| 200 | ok |
| 401 | Unauthorized error |
| 500 | Internal server error |
- Presentation Profiles
-
Get Presentation Profiles
Lists all Presentation Profiles in the system. These GUIDs are required when creating a Webcast via API.
GET/api/v2/presentation-profilesRequest Parameters
Name Type Description Required none Example Response
[
{
"id": "string",
"name": "string",
"description": "string",
"status": "string",
"videoSource": "string",
"destinations": [
{
"deviceId": "string",
"deviceName": "string",
"type": "string",
"isActive": true,
"streams": [
"string"
]
}
]
}
]Response Codes
Code Description 200 ok 401 Unauthorized error 500 Internal server error - Start/Schedule Recording
-
Start/Schedule a Presentation Profile Recording
This API starts or schedules a Presentation Profile recording. It does not reserve the source device or the recording device. It assumes that the source device is live and a recording device is available around the time when the recording is scheduled to start.
POST/api/v2/pp/start-recordingRequest Parameters
Name Type Description Required startScheduledRecordingRequest multipart/form-data The recording parameters Yes “Recording” MetaData Structure
Name Type Description Required presentationProfileId String Profile being used in the Webcast. Yes useAccountRecordingDevice Boolean Default is false. If set to true, the account primary/secondary recording device will be used. If false, the destination DME that streams the chosen RTSP stream will be used. If the chosen RTSP stream is not from any destination DME or its DME is not available, the first available DME in the Presentation Profile will be used. startDate UTC time Example: “2018-05-21T20:20:00Z”. If it’s not specified, the current time will be used. endDate UTC time If it’s not specified, StartDate + 2 hours (default duration) will be used. title string If title is not specified, the recording will have the Presentation Profile name as its title. System Wide Configuration Settings
Setting Default Value Description RecordingDurationMax “10:00:00” Max duration – difference between StartDate and EndDate cannot exceed the default 10 hours RecordingDurationMin “00:00:30” Min duration RecordingDurationDefault “02:00:00” The default duration is 2 hours. StartRecordingLeadTime “00:03:00” Rev starts the recording process 3 minutes ahead of the scheduled recording time due to overhead of the Rev scheduler and Rev/DME communication scheme. PurgeScheduledRecordingRecordAfter “1.00:00:00” The recording DB record that provides the recording status update will be purged 1 day after the recording is completed. PurgeFailedScheduledRecordingRecordAfter “7.00:00:00” The recording DB record that provides the recording status update will be purged 7 days after the recording fails. Example Request
{ "presentationProfileId": "string", "useAccountRecordingDevice": true, "startDate": "2018-06-14T14:25:33.602Z", "endDate": "2018-06-14T14:25:33.602Z", "title": "Test Video" }Example Response
{ "scheduledRecordingId": "string" }Response Codes
Code Description 401 Unauthorized error 500 Internal server error - Stop/Cancel Recording
-
Stop/Cancel a Presentation Profile Recording
This API will stop or cancel (if it has not started) a Webcast recording from a Presentation Profile. It requires the scheduledRecordingId returned from the Start/Schedule Recording API.
POST/api/v2/pp/stop-recordingRequest Parameters
Name Type Description Required scheduledRecordingId Obtained from the Start/Schedule Recording API Yes Example Response
{ "recordingVideoId": "string", "status": "stopping" }Additional Possible Responses
Status Response Comment When Status == Scheduled { “recordingVideoId”: null, “status”: “Cancelled” } Rev will cancel the recording if it has not started. When Status == Stopping { “recordingVideoId”: “be820cea-82c2-4e26-8e45-27a731818f09”, “status”: “Stopping” } When Status == Stopped { “recordingVideoId”: “be820cea-82c2-4e26-8e45-27a731818f09”, “status”: “Stopped” } When Status == Failed { “code”: “ScheduledRecordingFailed”, “detail”: “Detail error message.” } When Status == Cancelled { “code”: “ScheduledRecordingAlreadyCancelled”, “detail”: “ScheduledRecording is already cancelled.” } If the recording record does not exists { “code”: “ScheduledRecordingNotFound”, “detail”: “Invalid request. ScheduledRecording does not exist.” } If the recording id is not supplied { “code”: “ScheduledRecordingIdRequired”, “detail”: “Invalid request. ScheduledRecordingId is required.” } Response Codes
Code Description 401 Unauthorized error 500 Internal server error - Recording Status
-
Get Presentation Profile Recording Status
This API retrieves the status of a Presentation Profile recording.
Responses include:
- Scheduled
- Starting
- Recording
- Stopping
- Failed
- Cancelled
GET/api/v2/pp/recording-status/{scheduledrecordingid}Request Parameters
Name Type Description Required scheduledrecordingid string The scheduledrecordingid returned in the Start/Schedule API. Yes Example Response
{ "startDate": "2018-05-23T19:42:20.82Z", "endDate": "2018-05-23T19:47:00Z", "status": "Stopped" }Example Response if No Recording Found
{ "code": "ScheduledRecordingNotFound", "detail": "Invalid request. ScheduledRecording does not exist." }Response Codes
Code Description 200 ok 401 Unauthorized error 500 Internal server error