← Cloudflare Realtime / realtime / sfu
Ограничения, тайм-ауты и квоты
Понимание ограничений и тайм-аутов Cloudflare Realtime крайне важно для оптимизации производительности и надёжности ваших приложений. В этом разделе описаны основные ограничения и особенности поведения, которые следует учитывать при интеграции Cloudflare Realtime в приложение.
Free
- Каждый аккаунт бесплатно получает 1 000 ГБ трафика в месяц от Cloudflare к клиенту.
- Передача данных от вашего клиента к Cloudflare всегда бесплатна.
Лимиты
-
API Realtime за сессию: Вы можете выполнять до 50 вызовов API в секунду для каждой сессии. Ограничение частоты запросов действует не на уровне App, а на уровне сессий.
-
Треков за вызов API: За один вызов API можно добавить до 64 треков. Если нужно добавить больше треков в сессию, распределите их между несколькими вызовами API.
-
Треков за сессию: Верхнего предела на количество треков, которые может содержать сессия, не существует, практическим ограничением служит пропускная способность вашего соединения с Cloudflare и обратно.
-
Эксклюзивность canReply в DataChannel: не более одного подписчика может удерживать
canReplyдля одного DataChannel издателя одновременно. ПредоставлениеcanReplyна другого подписчика заменяет предыдущий выбор. Издатель получает только обратный трафик, который не рассылается другим подписчикам. Дополнительные сведения см. в Возврат к издателю (canReply).
Тайм-аут бездействия
- Тайм-аут трека: Треки автоматически завершаются по тайм-ауту и удаляются сборщиком мусора после 30 секунд бездействия, где бездействие означает, что Cloudflare не получает медиапакеты. Этот механизм обеспечивает эффективное использование ресурсов и поддерживает чистоту сессий для всех Session, использующих трек.
- Тайм-аут подтверждения DataChannel: Когда
waitForAckвключён на удалённом DataChannel, подписчик должен отправить своё первое сообщение (подтверждение) в течение 30 секунд с момента создания канала. Если этого не произойдёт, SFU закроет такой канал и перестанет пересылать сообщения. Чтобы повторить попытку, создайте удалённый DataChannel заново.
Требования к PeerConnection
- Состояние сессии: Для любой операции с Session (например, получения или отправки треков) состояние PeerConnection должно быть
connected. Операции блокируются на срок до 5 секунд в ожидании этого состояния, после чего происходит тайм-аут. Это гарантирует, что в передаче медиаданных участвуют только активные и работоспособные сессии.
Обработка проблем с подключением
- Особенности подключения к интернету: Возможность потери интернет-соединения между клиентом и Cloudflare является рабочей реальностью, которую необходимо учитывать. Рекомендуется реализовать стратегию обнаружения разрыва связи и переподключения, чтобы сохранить непрерывность сессии. Для этого можно периодически отправлять на бэкенд-сервер сигналы «heartbeat» и отслеживать состояние соединения. При обнаружении проблем со связью рекомендуется автоматически пытаться переподключиться и устанавливать новую сессию. Session и треки остаются доступными для повторного использования в течение 30 секунд, прежде чем истечет тайм-аут, что дает небольшое окно для попыток переподключения.
Соблюдение этих ограничений и понимание особенностей тайм-аутов помогут вашим приложениям оставаться отзывчивыми и стабильными, обеспечивая при этом удобство работы пользователей.
Поддерживаемые кодеки
Cloudflare Realtime поддерживает следующие кодеки:
Поддерживаемые видеокодеки
- H264
- H265
- VP8
- VP9
- AV1
Поддерживаемые аудиокодеки
- Opus
- G.711 PCM (A-law)
- G.711 PCM (µ-law)