API ключ приложения
Токен авторизации
Токен анонимной авторизации
Домен, чтобы попасть в тестовую группу. Для тестирования экспериментальных улучшений существуют отдельные сервера, чтобы собирать фидбек и уже потом раскатывать на всех юзеров. Если передать сюда специальный ключ, то конверсейшн будет обрабатываться на таком сервере.
Не отправлять в ICE-кандидатах персональные IP-адреса
Минимальная ширина видео в пикселях
По умолчанию: 428
Максимальная ширина видео в пикселях
По умолчанию: 1280
Минимальная высота видео в пикселях
По умолчанию: 240
Максимальная высота видео в пикселях
По умолчанию: 720
Соотношение сторон видео
По умолчанию: 16/9
FPS видео
По умолчанию: 25
Какую камеру получать с мобильного устройства
По умолчанию: FacingMode.USER для мобильных устройств и null для остальных
FPS трансляции экрана
По умолчанию: 15
Экземпляр класса VideoEffects из @vkontakte/calls-video-effects
Можно установить позднее методом setVideoEffects
Экземпляр класса AudioEffects из @vkontakte/calls-audio-effects
Можно установить позднее методом setAudioEffects
Максимальная ширина видео в пикселях для видео эффекта
По умолчанию: 640
Максимальная высота видео в пикселях для видео эффекта
По умолчанию: 360
Экземпляр класса Vmoji из @vkontakte/calls-vmoji
Можно установить позднее методом setVmoji
Настройки Vmoji
Частота получения статистики в миллисекундах
По умолчанию: 5000
Параметры детектора голоса
Отдавать приоритет кодеку H264 для исходящего видео
По умолчанию: false
Отдавать приоритет кодеку VP9 для исходящего видео, если preferH264 тоже выставлен в true то первый приоритет будет у VP9, второй у H264
По умолчанию: false
Принимать параллельно видео с камеры и трансляцию экрана от одного и того же участника. Работает только при приёме экрана через дата-канал.
По умолчанию: true
Отдавать трансляцию экрана отдельным стримом. Работает только при отправке экрана через дата-канал.
По умолчанию: true
Количество входящих видео-треков.
Только для звонков с серверной топологией. Для прямых peer-to-peer звонков эта настройка не используется.
При значении 0 количество треков меняется динамически в зависимости от количества участников звонка.
При значении отличном от 0 количество треков фиксировано, при этом клиент должен уведомлять сервер о том, каких участников звонка он хочет видеть, через вызов updateDisplayLayout
По умолчанию: 30
Включить постраничный вывод участников. Работает только если включено videoTracksCount (слоты)
По умолчанию: false
Включить сессионные залы
По умолчанию: false
Включить чат румы
По умолчанию: false
Включить поддержку добавления участника в разговор
Включает поддержку режима WAIT_FOR_ADMIN в звонках.
Индекс участника для первого chunk'а который придет при установке соединения с сервером
По умолчанию: 0
Количество участников которые придут в первом chunk'е при установке соединения с сервером если параметр не проставлен то будет использоваться значение по умолчанию установленное на сервере
Включать RED-extension (redundancy) для групповых звонков
По умолчанию: true
Включать RED-extension (redundancy) для p2p звонков
По умолчанию: true
Разрешить вход в звонок одним пользователем с разных устройств одновременно
По умолчанию: false
Включить возможность захвата звука при трансляции экрана
По умолчанию: false
Включить поддержку динамического контента при трансляция экрана
По умолчанию: false
Включить отправку быстрой шары с клиента по RTP
По умолчанию: false
Включает отправку сервером нотификации video-quality-update
По умолчанию: false
Использовать новые правила allMute для админа
Включить поддержку приостановки видео в плохой сети.
По умолчанию: false
Включает логгирование статистики webrtc
По умолчанию: false
Поддержка переключения качества видео в зависимости от сети Только для режима p2p
По умолчанию: false
Включает деградацию фпс для видео с камеры при низком фпс с включенными вирт фонами
По умолчанию: false
Включить поддержку simulcast на отправке
По умолчанию: false
Включить поддержку webtransport для сигналинга
По умолчанию: false
Включить поддержку webtransport для сигналинга в FireFox Отдельная ручка, так как есть проблемы сейчас с FF
По умолчанию: false
OptionalonLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => voidПолучен локальный стрим с камеры/микрофона
OptionalonLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind) => voidЛокальный стрим изменился
OptionalonScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => voidЛокальный стрим с экрана добавлен/удалён
OptionalonVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => voidЛокальный стрим вимоджи добавлен/удалён
OptionalonVmojiError?: (error: VmojiError) => voidПроизошла ошибка вимоджи
OptionalonLocalStatus?: (status: ParticipantStatus) => voidИзменился статус локального соединения
OptionalonRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => voidПолучен стрим собеседника. Если сервер закончил стримить собеседника, вместо стрима будет передан null
OptionalonRemoteStreamSuspended?: (Cтрим собеседника приостановлен/возобновлен.
OptionalonRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => voidПолучен стрим с экрана собеседника. Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
OptionalonRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => voidПолучен стрим вимоджи собеседника. Если сервер закончил стримить вимоджи собеседника, вместо стрима будет передан null
OptionalonRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => voidПолучен стрим трансляция или мувик от собеседника. Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
OptionalonLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => voidПолучен собственный стрим трансляция или мувик. Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
OptionalonRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => voidПолучено обновление стрима или лайва от собеседника.
OptionalonLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => voidПолучено обновление собственного стрима или лайва.
OptionalonConversation?: (Начат звонок
OptionalonConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk) => voidНачальный список участников для постраничного звонка
OptionalonRemoteMediaSettings?: (Изменились данные стрима собеседника
OptionalonLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings) => voidИзменились данные стрима собеседника
OptionalonRemoteSharedMovieInfo?: (Полученны данные по стримам (лайв/мувик) от собеседника
OptionalonRemoteSharedMovieStoppedInfo?: (Полученны данные по остановленным стримам (лайв/мувик) от собеседника
OptionalonLocalSharedMovieInfo?: (Полученны данные по собственным стримам (лайв/мувик)
OptionalonLocalSharedMovieStoppedInfo?: (Полученны данные по собственным остановленным стримам (лайв/мувик)
OptionalonParticipantAdded?: (Добавили участника
OptionalonParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantMarkers) => voidУчастник присоединился к звонку
OptionalonLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean) => voidПолучены данные по изменению локальных состояний со стороны админа Например, принудительно опущена рука
OptionalonRemoteParticipantState?: (Изменились данные состояний собеседника
OptionalonRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId) => voidИзменились данные состояний нескольких собеседников
OptionalonRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any) => voidИзменился статус соединения собеседников
OptionalonPermissionsRequested?: () => voidРазрешения на доступы были запрошены в браузере
OptionalonPermissionsError?: (error: FatalError, original: Error) => voidОшибка получения трека с камеры или микрофона
OptionalonRemoteRemoved?: (Пользователь отключился от звонка
OptionalonCallState?: (Изменилось состояние звонка
OptionalonDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean) => voidИзменилось состояние камеры или микрофона
OptionalonMuteStates?: (Изменились состояния устройств пользователя или разрешения включать камеру/микрофон
OptionalonRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean) => voidИзменились роли собеседника в звонке
OptionalonLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean) => voidИзменились свои роли в звонке
OptionalonPinnedParticipant?: (Закрепляет/открепляет собеседника для всех
OptionalonLocalPin?: (unpin: boolean) => voidЗакрепляет/открепляет текущего пользователя у других собеседников
OptionalonOptionsChanged?: (options: ConversationOption[]) => voidИзменились опции звонка
OptionalonRateNeeded?: FunctionOptionalonSpeakerChanged?: (userId: ExternalParticipantId) => voidИзменился говорящий в звонке
OptionalonVolumesDetected?: (volumes: { uid: ExternalParticipantId; volume: number }[]) => voidГромкость собеседников
OptionalonLocalVolume?: (volume: number, isMicEnabled: boolean) => voidГромкость своего микрофона
OptionalonJoinStatus?: FunctionOptionalonHangup?: (type: HangupReason | Error, conversationId: string | null) => voidЗвонок был завершен
OptionalonCallAccepted?: () => voidВходящий звонок был принят мной
OptionalonAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities) => voidИсходящий звонок был принят кем-то
OptionalonDeviceChange?: () => voidСписок устройств изменился
OptionalonMultipartyChatCreated?: (conversation: ConversationData) => voidOptionalonFingerprintChange?: (fingerprint: string) => voidИзменилась подпись звонка 1:1
OptionalonTokenExpired?: () => voidТребуется обновление токена
OptionalonChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean) => voidПолучено сообщение чата
OptionalonCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean) => voidПолучены данные от собеседника
OptionalonRecordStarted?: (Начата трансляция/запись звонка
OptionalonRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null) => voidЗакончена трансляция/запись звонка
OptionalonLocalNetworkStatusChanged?: (rating: number) => voidСостояние своей сети
OptionalonNetworkStatusChanged?: (status: { uid: ExternalParticipantId; rating: number }[]) => voidСостояние сети участников
OptionalonDebugMessage?: (type: DebugMessageType, ...args: any[]) => voidПолучено отладочное сообщение. Работает только при выключенном режиме отладки
OptionalonStatistics?: (stats: {}) => voidСтатистика звонка
OptionalonAutoplayError?: () => voidОшибка воспроизведения звука
OptionalonChatRoomUpdated?: (Изменилось состояние зала ожидания/зала в режиме Audience
OptionalonJoinLinkChanged?: (joinLink: string) => voidПолучена новая ссылка на звонок
OptionalonRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate>>) => voidПолучено обновление списка сессионных залов
OptionalonRoomUpdated?: (Получено обновление сессионных зало
OptionalonRoomParticipantsUpdated?: (update: RoomParticipantUpdate) => voidПолучение обновление списка участников в сессионном зале
OptionalonRoomSwitched?: (roomId: number | null) => voidПолучение информации о смене зала
OptionalonRoomStart?: (roomId: number | null) => voidУстановить id сессионного зала на старте звонка
OptionalonFeedback?: (feedback: IFeedbackExternal[], roomId: number | null) => voidПолучены новые реакции в звонке
OptionalonFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole) => voidИзменился список ролей, которым доступны ConversationFeatures
OptionalonParticipantVmojiUpdate?: (externalId: ExternalParticipantId) => voidИзменился Vmoji-аватар пользователя
OptionalonAsrStarted?: (Начата текстовая расшифровка звонка
OptionalonAsrStopped?: (roomId: number | null) => voidЗакончена текстовая расшифровка звонка
OptionalonAsrTranscription?: (Получена расшифровка речи
OptionalonAsrSet?: (data: IAsrData | null, roomId: number | null) => voidУстановка начальных параметров текстовой расшифровки звонка. (Используется при входе в звонок/ смене комнаты)
OptionalonRemoteSharedUrl?: (Админ начал/остановил совместное использование стороннего web-приложения
OptionalonParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId) => voidИзменился id участника (деанонимизация)
OptionalonVideoSuspendSuggest?: (bandwidth: number) => voidПредложение включить режим автоматического отключения приёма видео в плохой сети
OptionalonPromotionApproved?: (adminParticipantId: ExternalParticipantId) => voidОдобрено повышение пользователя в зале ожидания/зале в режиме Audience
OptionalonPromoted?: (demoted: boolean) => voidУчастник повышен/разжалован в зале ожидания/зале в режиме Audience
OptionalonPeerRegistered?: () => voidСобеседник подключился к сигналлингу
Параметры инициализации