Параметр bufferSizeGetter
Описание
Параметр bufferSizeGetter предоставляет Teleport SDK функцию для считывания текущего размера буфера у видео-плеера. Эта информация используется SDK для принятия решений о том, когда и какие сегменты запрашивать из пиринговой сети или CDN, оптимизируя процесс доставки и минимизируя буферизацию.
Важность размера буфера
Точное знание размера буфера плеера позволяет Teleport SDK более эффективно управлять стратегией загрузки, предотвращая избыточную загрузку (что экономит трафик) и недостаточную загрузку (что предотвращает буферизацию).
Когда это необходимо?
Рекомендуется всегда указывать функцию bufferSizeGetter, если ваш плеер предоставляет доступ к информации о размере буфера. Это позволяет Teleport SDK максимально адаптироваться к состоянию плеера.
Пример использования
js
let player = new shaka.Player(video); // Пример инициализации плеера Shaka Player
let tlprt = await teleport.initialize({
apiKey: "YOUR_API_KEY", // Ваш API-ключ
loader: {
type: "PLUGIN_ID", // Идентификатор используемого плагина плеера
params: {
// Функция для получения текущего размера буфера плеера
bufferSizeGetter: () => {
// Пример получения информации о буфере из Shaka Player
let playhead = player.getPlayheadTimeAsDate().getTime();
let presentation = player.getPresentationStartTimeAsDate().getTime();
let start = (playhead - presentation) / 1000; // Текущая позиция воспроизведения в секундах
let buf = player.getBufferedInfo();
let end = buf && buf.video && buf.video[0] && buf.video[0].end || 0; // Конец буферизованного диапазона
// Возвращаем размер буфера в секундах
return end > start ? end - start : 0;
}
}
}
});