Skip to content

Параметр qualityGetter

Описание

Параметр qualityGetter позволяет Teleport SDK идентифицировать активное качество видео-потока в текущий момент. Это крайне важно для оптимизации работы Teleport PDN (Peer-to-Peer Delivery Network), так как позволяет пирам обмениваться сегментами одного и того же качества, что повышает эффективность и стабильность пиринговой сети.

Важность определения качества

Точное определение текущего качества видео-потока помогает Teleport SDK более эффективно подбирать пиров для обмена сегментами, обеспечивая доставку контента в наилучшем доступном качестве и снижая нагрузку на CDN.

Когда это необходимо?

Рекомендуется всегда указывать функцию qualityGetter, если ваш плеер предоставляет информацию об активном качестве видео-потока. Это особенно актуально для адаптивных стриминговых протоколов, где качество может динамически меняться.

Пример использования

js
let player = new shaka.Player(video); // Пример инициализации плеера Shaka Player
let videoIdToQuality = {}; // Карта для сопоставления ID видео с качеством Teleport

// Пример заполнения карты (зависит от логики вашего плеера и манифеста)
videoIdToQuality["1"] = teleport.Quality.Q1080P;
videoIdToQuality["2"] = teleport.Quality.Q720P;
videoIdToQuality["3"] = teleport.Quality.Q480P;

let tlprt = await teleport.initialize({
    apiKey: "YOUR_API_KEY", // Ваш API-ключ
    loader: {
        type: "PLUGIN_ID", // Идентификатор используемого плагина плеера
        params: {
            // Функция для определения текущего качества видео-потока
            qualityGetter: () => {
                // Пример получения активного трека из Shaka Player
                let activeTrack = player.getVariantTracks().find(x => x && x.active);

                // Возвращаем соответствующее качество Teleport или Unknown, если не определено
                return activeTrack && activeTrack.videoId && videoIdToQuality[activeTrack.videoId] || teleport.Quality.Unknown;
            }
        }
    }
});

Перечисление teleport.Quality

Доступные значения для качества видеопотока определены в перечислении teleport.Quality. Подробнее см. в разделе JavaScript API: Enums.