Как проходит интернет-трансляция, к которой подключаются миллионы пользователей?

log_here
Дата: 08.08.2017 02:10:58
Например, бой Макгрегор-Мейвезер или онлайн-выход новой серии игры престолов. К нему подключаются десятки миллионов пользователей и смотрят.
YouTube выделяет специально под это дело сервера или всё происходит в автоматическом режиме?
С обновлённой подпиской на инстаграм Дженнифер Лопес ещё более-менее понятно, там режим дискретный, пользователь щёлкает раз в 5 секунд, с непрерывным вещанием всё не так очевидно.
Верно ли, что на таких серверах стоят тысячи мощнейших сетевых карт или достаточно серверной сетевой карте передать информацию 10 другим, те передадут ещё 10 и т.д.?

Опыта написания клиент-серверных приложений нет, поэтому мои вопросы могут показаться не совсем корректными.
AndreTM
Дата: 08.08.2017 08:28:21
А зачем что-то "мощнейше" выделять или пере-передавать?
Достаточно писать стрим в буфер(ы), и организовать доступ так, чтобы плеер умел, а сервер давал доступ к соответствующему буферу.

Например, нам надо сделать стрим длиной 1 час (3600 секунд), и чтобы пользователи могли смотреть его с любой секунды. Пишем стрим в 3600 параллельных буферов (первый - начинается с первой секунды, следующий - со 2-й, далее - с 3-й, 4-й...). На пользовательский запрос - отдаем клиентскому плееру ссылку на соответствующий "таймкоду" буфер. Как вы понимаете, любое переключение в плеере - переключит плеер на другой буфер, который просто пойдет "с начала соответствующего буфера".
wadman
Дата: 08.08.2017 09:53:22
log_here
YouTube выделяет специально под это дело сервера или всё происходит в автоматическом режиме?

Давненько читал об организации ютуба. Вкратце у ютуба много серверов разбросано по миру, которые соединены между собой супер-скоростными надежными каналами, пользователям дается адрес "ближайшего" сервера.
Anatoly Moskovsky
Дата: 08.08.2017 11:41:33
log_here,

Гуглите по слову CDN (content delivery network)
mayton
Дата: 08.08.2017 13:33:46
А цифровое ТВ? Неужели автору не интересно как оно работает внутренних?
Dima T
Дата: 08.08.2017 13:49:28
mayton
А цифровое ТВ? Неужели автору не интересно как оно работает внутренних?

Это немного другое, там multicast используется, еще как понимаю там некоторая заточка на уровне железа со стороны клиента нужна.
И провайдеры IP TV гоняют их только по своим сетям, т.е. не посмотреть IP TV одного провайдера, из сети другого.
Dimitry Sibiryakov
Дата: 08.08.2017 13:51:04
AndreTM
На пользовательский запрос - отдаем клиентскому плееру ссылку на соответствующий "таймкоду" буфер. Как вы понимаете, любое переключение в плеере - переключит плеер на другой буфер, который просто пойдет "с начала соответствующего буфера".

Как вы понимаете, размер буфера, умноженный на количество одновременных подключений превзойдёт все мыслимые и немыслимые пределы пропускной способности интернет-канала.
Dima T
Дата: 08.08.2017 14:15:36
Dimitry Sibiryakov
AndreTM
На пользовательский запрос - отдаем клиентскому плееру ссылку на соответствующий "таймкоду" буфер. Как вы понимаете, любое переключение в плеере - переключит плеер на другой буфер, который просто пойдет "с начала соответствующего буфера".

Как вы понимаете, размер буфера, умноженный на количество одновременных подключений превзойдёт все мыслимые и немыслимые пределы пропускной способности интернет-канала.

Я так понимаю речь не об интернет-каналах, а о чтении с диска. Т.е. при миллионе смотрящих на серверной стороне не миллион читателей (по одному на каждого клиента), а группировка клиентов с выравниванием кратно 1 сек. и на каждую секунду по одному читателю. Например при просмотре 5 минутного ролика максимум 300 читателей, т.е. при просмотре миллионом пользователей экономия заметная будет.
mayton
Дата: 08.08.2017 20:03:43
Я думаю что здесь действительно ключевое слово мультикаст.
Изопропил
Дата: 08.08.2017 20:20:36
mayton
Я думаю что здесь действительно ключевое слово мультикаст.

igmp так свободно по маршрутизаторам и коммутаторам бегает?