Выгрузка видеозаписи и аналитики проведенного вебинара или конференции
API livedigital предоставляет возможность LMS автоматически выгружать аналитику в формате JSON/XLSX, получать доступ к видеозаписи мероприятия и получать транскрибацию/саммаризацию после доставки webhook о завершении конференции или вебинара.
Выгрузка видео с записью вебинара или конференции
Метод RedirectToDownloadRoomRecord
позволяет получить ссылку на загрузку видео с проведенным вебинаром или конференцией. Ссылка будет действительна в течении 24 часов.
В строке запроса RedirectToDownloadRoomRecord
обязательно передаются идентификаторы группы, комнаты и записи - параметры spaceId
, roomId
и recordId
. Идентификаторы группы и комнаты для заданной вебинарной комнаты должны быть известны (см. раздел Создание групп и комнат). А получить идентификатор записи можно двумя способами: с помощью вебхуков или с помощью специального метода (см. описание обоих способов ниже).
Полная спецификация метода приведена в Swagger.
Пример выполнения запроса RedirectToDownloadRoomRecord
GET
https://moodhood-api.livedigital.space/v1/spaces/{spaceId}/rooms/{roomId}/records/download/{recordId}
В результате выполнения запроса возвращается текстовая строка, содержащая URL записи, вида https://some.url/record.mp4
.
Как получить идентификатор записи вебинара/конференции
Как было сказано выше, идентификатор записи можно получить, если настроен механизм отправки обратных запросов (вебхуков) с уведомлением о наступлении в системе определенного события (см. Отслеживание событий в группе). Так для событий record_finished
или record_started
в теле обратного запроса возвращается идентификатор законченной или начатой видеозаписи (recordId
).
Пример обратного запроса для отслеживания события record_finished
:
{
"signature": "ae6edba49d063002f2957d94e47f5ff5de3dda0a5c1ce98848d15c777b9df7ce",
"body": {
"eventName": "record_finished",
"roomId": "649c18e086b915cae33041a2",
"spaceId": "64217150224cd9e040e114d1",
"recordId": "64b6544f7b3b4f29d70afec2"
}
}
В теле обратного запроса передается значение recordId
, которое и нужно использовать в качестве идентификатора записи в строке запроса RedirectToDownloadRoomRecord
.
Если вебхуки для отслеживания событий не настроены, то можно использовать метод getRecords
для получения списка идентификаторов всех записей. После чего выбрать нужный идентификатор и использовать его в методе RedirectToDownloadRoomRecord
.
В строке запроса для метода getRecords
передаются обязательные параметры spaceId
и roomId
- идентификаторы группы и комнаты, записи для которых нужно получить, а также дополнительные параметры для фильтрации записей, например, dateFrom
и dateTo
- ограничения по датам начала и конца периода, за который нужны записи. Полная спецификация метода приведена в Swagger.
Пример выполнения запроса getRecords
GET
https://moodhood-api.livedigital.space/v1/spaces/{spaceId}/rooms/{roomId}/records
В результате выполнения запроса возвращается JSON, содержащий список items
, где каждый элемент списка это объект типа RoomRecord
, а поле id этого объекта это идентификатор записи.
{
"items": [
{
"id": "60d55c0eb9ef88ab17b0aabb",
"name": "string",
"fileSize": 0,
"roomId": "60d55c0eb9ef88ab17b0aabb",
"spaceId": "60d55c0eb9ef88ab17b0aabb",
"callId": "60d55c0eb9ef88ab17b0aabb",
"state": "new",
"createdAt": "2023-08-08T07:05:59.369Z",
"startedAt": "2023-08-08T07:05:59.369Z",
"finishedAt": "2023-08-08T07:05:59.369Z"
}
],
"total": 0
}
Для каждой записи также возвращаются различные параметры, например, callId
- идентификатор события, startedAt
, finishedAt
- время начала и конца записи; по которым можно идентифицировать нужную запись.
Значение id
для нужной записи необходимо передать в качестве параметра recordId
в вызове метода RedirectToDownloadRoomRecord
для получения ссылки на запись.
Примечание! Помимо получения списка записей и загрузки записи с видео API позволяет проводить другие операции с видео: стартовать и останавливать запись для комнаты, удалять видеозаписи и др. Полный набор методов для работы с видео можно посмотреть в Swagger.
Выгрузка аналитики по проведенному вебинару или конференции
Для выгрузки аналитики по вебинару\конференции используется метод getRoomAnalyticsReport
, который возвращает данные аналитики в формате JSON или XLSX. В параметрах метода указывается идентификатор вызова callId
, который можно получить с помощью метода analyticsCalls
. В отличие от записи видео идентификатор callId
для аналитики нельзя получить с помощью вебхука для события call_finished
. Но обратный вызов для этого события означает формирование аналитики после мероприятия (т.е. нет смысла запрашивать аналитику, пока не получено уведомление о событии call_finished
).
В строке запроса getRoomAnalyticsReport
как часть URL обязательно передается идентификатор группы spaceId
, а также в качестве обязательных параметров запроса передается идентификатор комнаты и идентификатор вызова - параметры roomId
и callId
. Также указывается параметр format
, который определяет формат выгрузки отчета и может принимать значение xlsx или json.
Идентификаторы группы и комнаты для заданной вебинарной комнаты должны быть известны (см. раздел Создание групп и комнат). А получить идентификатор вызова callId
можно с помощью метода analyticsCalls
(см. описание ниже).
Полная спецификация метода getRoomAnalyticsReport
приведена в Swagger.
Пример выполнения запроса getRoomAnalyticsReport
:
GET
https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/analytics/report?roomId=60d55c0eb9ef88ab17b0aabb&callId=60d55c0eb9ef88ab17b0aabb&format=xlsx
В результате выполнения запроса возвращается аналитика по событию в формате JSON или XLSX.
Для получения callId
нужно использовать метод analyticsCalls
. В строке запроса как часть URL обязательно передается идентификатор группы spaceId
, а также в качестве обязательных параметров запроса передается идентификатор комнаты и дата, за которую надо получить аналитику - параметры roomId
и date
. Дополнительно можно указать, например, фильтр по минимальному количеству участников события.
Полная спецификация метода приведена в Swagger.
Пример выполнения запроса analyticsCalls
:
GET
https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17b0aabb/analytics/calls?roomId=60d55c0eb9ef88ab17b0aabb&date=2023-08-01T12%3A25%3A40.253Z
В результате выполнения запроса возвращается JSON со списком завершенных вызовов за указанную дату.
{
"items": [
{
"id": "60d55c0eb9ef88ab17b0aabb",
"active": true,
"roomId": "60d55c0eb9ef88ab17b0aabb",
"participantsCount": 0,
"isBreakoutRoom": true,
"planAlias": "string",
"roomType": "lesson",
"totalParticipantsCount": 0,
"uniqueParticipantsCount": 0,
"startedAt": "2023-08-12T12:26:51.553Z",
"finishedAt": "2023-08-12T12:26:51.553Z"
}
]
}
Значение id
- это и есть идентификатор вызова, который необходимо передать в качестве параметра callId
, в методе getRoomAnalyticsReport
для получения аналитики.
Важно! Мы рекомендуем собирать данные аналитики после окончания мероприятия, добавив небольшой дополнительный промежуток времени. Также можно делать это после получения вебхука (webhook) о завершении, которое приходит только после начала мероприятия. Это поможет избежать ситуации, когда вы получаете пустые данные, например, если администратор случайно зашел в комнату до начала мероприятия и вышел, а затем вернулся к старту встречи. В этом случае звонок завершится, и уведомление придет, но данные будут не по самому мероприятию.
Получение и выгрузка транскрибации и саммаризации видеозаписи
Транскрибация представляет собой процесс преобразования аудиозаписей или видео в текстовый формат, что позволяет сохранить важные детали обсуждений, лекций или интервью. Саммаризация, в свою очередь, заключается в сокращении объемного текста до его основных идей и ключевых моментов. Это особенно актуально в условиях избытка информации, когда необходимо быстро извлечь суть без необходимости прочтения всего материала. Саммаризация помогает пользователям сосредоточиться на наиболее значимых аспектах текста, экономя время и усилия.
Важно! Подготовка транскрибации видеозаписи занимает некоторое время (обычно 10-15 минут), т.е. моменьтально после завершения встречи транскрибацию и саммари получить невозможно. Если функция транскрибации и саммаризации недоступна, то обратитесь в технческую поддержку livedigital или к персональному менеджеру.
Получение и выгрузка
Для получения транкрипции и саммаризации видеозаписи прошедшей встречи используется метод GetRoomRecordTranscription
, в котором требуется указать идентификатор группы (spaceId
), идентификатор комнаты (roomId)
и идентификатор записи, которую требуется транскрибировать (recordId
). Полная спецификация метода приведена в Swagger.
В результате выполнения в ответе будет возвращена сама транскрипция встречи в кодировке base64 и саммари в текстовом формате.
Пример выполнения запроса GetRoomRecordTranscription
GET
https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17aabb12/rooms/60d55c0eb9ef88ab17aabb12/records/60d55c0eb9ef88ab17aabb12/transcription
Тело ответа:
{
"transcription": {
"segmentsBufferString": "H4sIAAAAAAAAA9XRQWpbMRAG4KuEAe8eYkbSaGberml6ilKM7CdT09Rp/Z6hELIvdNNFL9AbeG+aMyg3Knp1EnoEI/iZxSD45n9/D+OU9xP0wan3ZmYcvQ8phA7KboA+uoSMiEiGEqKmDqbybYIerurvenr68fS9/qmPDjoYv5T8qeyhv4dd/lygh8UNLt74ltc659s53y1uaKFxnnlOgw62A/SQZBVzjCV7G6hEY",
"segmentsCount": 5,
"summary": "1. **Введение**: - Максим представил компанию, занимающуюся разработкой программного обеспечения с 2008 года. - Компания начала работать в сфере видеоконференц-связи во время пандемии COVID-19, понимая потребности рынка образования. 2. **Партнеры**: - Среди партнеров компании: Geekbrains, Яндекс.Практикум, Skill Factory. - Яндекс постепенно переходит к использованию сервиса от компании, так как их собственный сервис Яндекс.Телемост не совсем подходит для качественного образования. 3. **Опыт использования видеоконференц-связи**: - Перспектива использует видеоконференции для обучения, важны вебинарный формат, возможность записи, численность участников (иногда до 100) и обратная связь от учащихся. - Встречи проходят как в формате больших групп (50-100 человек), так и параллельно (до 5-6 занятий одновременно)."
}
}
Пример кода для cURL:
curl -X 'GET' \
'https://moodhood-api.livedigital.space/v1/spaces/60d55c0eb9ef88ab17aabb12/rooms/60d55c0eb9ef88ab17aabb12/records/60d55c0eb9ef88ab17aabb12/transcription' \
-H 'accept: application/json'