meteor

 

Какое-то время назад мы анонсировали поддержку видеозвонков в Voximplant. Сейчас есть несколько способов реализовать видеозвонки на Voximplant, используя либо Web/мобильные SDK, либо SIP-телефоны с видео как конечные устройства. Если звонок сделан не в P2P-режиме, то медиапоток проходит через наши серверы и его можно записать.

Сейчас это легко сделать – всего лишь надо передать специальный параметра в функцию record в вашем сценарии:

call.addEventListener(CallEvents.RecordStarted, callevent => {
  Logger.write(`Видео будет здесь: ${+callevent.url}`);
});
call.record({video: true});

Итоговый формат файла зависит от медиапотока в видеозвонке. Поддерживаюся оба кодека VP8 и H.264: VP8 сохраняется в WebM-файле, в то время как H.264 запишется в виде mp4-файла. Вы можете ставить/снимать видео с паузы прямо во время звонка – наша платформа автоматически обрабатывает такое поведение; также вы можете поворачивать устройство и использовать SIP-телефон с поддержкой видео.

Также есть возможность записать два разных аудиопотока (по одному в каждый канал), указав еще один параметр:

call.record({video: true, stereo: true});

Так как каждым звонком можно независимо управлять в Voxengine, вы можете записать обоих участников, вызвав метод record для каждого объекта call. В итоге вы получите два видеофайла, которые по умолчанию хранятся до 3 месяцев.

Управление битрейтом WebRTC

Обычно WebRTC начинает отправку видеопотока с примерным битрейтом 300 кбит/с, который скорее всего не поднимется выше 512 кбит/с. Поэтому, если вы хотите записывать HD-видео, вы должны использовать метод setVideoBandwidth, чтобы указать битрейт, который WebRTC попробует использовать в следующем звонке.