Короткое определение

Операции плеера, отличные от обычного воспроизведения вперёд: fast-forward, rewind, thumbnail-ы на scrub-баре, frame-step. Обычно опираются на отдельный low-bitrate I-frame-only rendition.

Trick play охватывает всё, что зритель делает для навигации внутри контента, кроме нажатия play. Скрабинг таймлайна, fast-forward 2× или 8×, перемотка назад, шаг по кадрам. У каждого свои технические требования, которых нет у обычного воспроизведения. Forward 8× требует декодировать 8 секунд контента в секунду – дорого для HEVC или AV1 на высоких битрейтах. Thumbnail-ы на scrub-баре требуют, чтобы плеер забирал preview-картинку на наведённом таймстемпе, не трогая основной буфер воспроизведения.

Стандартное решение – trick-play-трек: low-bitrate, low-resolution, I-frame-only rendition, закодированный отдельно и перечисленный в манифесте. HLS использует плейлисты `EXT-X-I-FRAMES-ONLY`; DASH – AdaptationSet с `@trickModeType`. Плееры используют этот rendition для fast-forward и rewind, возвращаясь к обычному при скорости 1×. Для thumbnail-ов на scrub-баре отдельный WebVTT- или sprite-sheet-трек даёт плееру preview 160×90 каждые N секунд без декодирования видео.

Хорошо реализовать trick play сложнее, чем кажется. Trick-play-rendition должен быть идеально выровнен с обычными rendition-ами по I-frame-границам. Scrub thumbnails должны грузиться достаточно быстро, чтобы обновляться со скоростью скрабинга. Долгий контент (фильмы, сериалы) сильно выигрывает от вылизанного trick play; короткий (Instagram, TikTok) его обычно вообще пропускает. У Netflix и YouTube известно хороший trick play; меньшие сервисы часто запускаются без него и добавляют как полировку позже.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.