Get Presentation Profiles

Lists all Presentation Profiles in the system. These GUIDs are required when creating a Webcast via API.

GET
/api/v1/presentation-profiles

Request Parameters

Name Type Description Required
none

Example Response

 
[
{
  "id": "496e0ba2-7402-4f63-8a73-1074d9c26b15",
  "name": "Profile1",
  "description": "Video Description",
  "status": "Active",
  "videoSource": ""
},
{
  "id": "dad2e6f8-8a5d-4bbb-8ac6-dcedcf737714",
  "name": "Profile2",
  "description": "Video Description",
  "status": "Active",
  "videoSource": ""
} ]

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.

NOTE: This API is available as of Rev v7.23.

POST
/api/v1/pp/start-recording

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.

NOTE: This API is available as of Rev v7.23.

POST
/api/v1/pp/stop-recording

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

NOTE: This API is available as of Rev v7.23.

GET
/api/v1/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