Параметр setSegmentAcceptor
Описание
Метод setSegmentAcceptor в TeleportConfiguration.Builder позволяет определить функцию для идентификации запросов на скачивание видео-сегментов. Это необходимо для того, чтобы Teleport SDK мог перехватывать и обрабатывать только те запросы, которые относятся к медиа-сегментам, предназначенным для пиринговой доставки.
Поведение по умолчанию
По умолчанию Teleport SDK определяет сегменты по их расширениям: .ts, .mp4, .m4s, .m4v, .m4a, .vtt.
Когда это необходимо?
Вам потребуется определить собственную функцию setSegmentAcceptor в следующих случаях:
- Нестандартные URL: Если ваш медиасервер использует специфичные или нестандартные URL-адреса для видео-сегментов, которые не соответствуют стандартным расширениям.
- Исключение Init-сегментов: Если ваш протокол стриминга предполагает наличие "init" сегментов (инициализационных сегментов), которые не должны попадать в обработку Teleport. В этом случае функция должна быть настроена так, чтобы исключать такие сегменты.
Требования к функции
- Функция должна принимать
Uriи возвращатьBoolean(true, если URL является видео-сегментом). - Вызывается на бэкграунд потоке.
Пример использования
kotlin
TeleportConfiguration.Builder("YOUR_API_KEY")
.setSegmentAcceptor { uri: Uri ->
// Пример: определяет сегмент по наличию ".mp4" в пути и исключает "init" сегменты
uri.path?.contains(".mp4") ?: false && !uri.path?.contains("init")
}
.build()В этом примере функция setSegmentAcceptor будет считать сегментом любой URL, содержащий .mp4, но не содержащий "init" в пути.