Я смотрю матчи по крикету онлайн. Обратите внимание, что матч проводится в прямом эфире (где-то!). Время от времени, так как мое интернет-соединение работает медленно, мое видео начинает буферизоваться.

Допустим, мое видео перестает воспроизводиться и поражает, когда игрок с битой бьет шестерку. Через некоторое время, когда буферизация закончилась, видео возобновляет воспроизведение именно там, где оно было остановлено (в этом случае, когда игрок с битой ударил по шестерке). Тем не менее, это живой матч, так что, очевидно, я не получаю его в прямом эфире.

Кажется, что сервер поддерживает очередь и всякий раз, когда он буферизует, он ждет буферизации и начинает с того места, где остановился. Что на самом деле происходит, когда видео буферизируется?

Одинакова ли технология потокового видео для таких сайтов, как YouTube (где видео уже хранятся), а также для таких сайтов, как сайты с онлайн-видео-освещением?

1 ответ1

3

Мне жаль сообщать вам, что вы никогда не получаете прямую трансляцию в режиме реального времени.
И причина в буферизации.

По сути, на этапе «Буферизация ...» игрок строит буфер с числом секунд x. Воспроизведение начнется только тогда, когда буфер заполнен или если источник медленный, тогда он может решить отобразить все, что у него есть.

Это выглядит так:

image1

Верхняя стрелка иллюстрирует игру, а нижняя - заполнение буфера. 5 секунд - произвольный параметр.

Плеер в этом примере поймает любую задержку потоковой передачи до 5 секунд. Если задержка превышает 5 секунд, существующий частичный буфер будет отброшен, а новый буфер будет запущен из "живого" источника. Когда входящие данные продолжаются, они добавляются в буфер, и представление продолжается плавно, даже если пакеты могли быть получены в неправильном порядке и в разное время.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .