Сохранен 24
https://2ch.hk/b/res/311390340.html
Домены arhivach.top и arhivach.site временно не функционируют! Используйте домен ARHIVACH.XYZ.
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Объясните как на фронтенде устроен видеостриминг и ютуб? Ну и на бекенде. Я видел вы шарите тут за

 Аноним 08/10/24 Втр 15:14:22 #1 №311390340 
i.webp
Untitled.png
Объясните как на фронтенде устроен видеостриминг и ютуб? Ну и на бекенде.

Я видел вы шарите тут за все.
Аноним 08/10/24 Втр 15:16:19 #2 №311390422 
Что конкретно? На Ютубе есть полно челов, которые с 0 пишут аналоги Ютуба
Аноним 08/10/24 Втр 15:17:29 #3 №311390475 
>>311390422
Как видео грузится не целиком. Я могу начать смотреть его с любого момента. Это значит фронт не качает его целиком.
Аноним 08/10/24 Втр 15:19:01 #4 №311390536 
>>311390475
Попил на чанки.
Аноним 08/10/24 Втр 15:19:37 #5 №311390559 
>>311390475
Видеопоток, огромный видос делится на мелкие файлы и их ты и получаешь, в кэш грузится конкретное количество этих поток, чтоб ты мог наперед загруженные данные
Аноним 08/10/24 Втр 15:20:23 #6 №311390589 
>>311390559
>этих поток
кусков

>чтоб ты мог наперед загруженные данные
смотреть


фикс
Аноним 08/10/24 Втр 15:22:09 #7 №311390676 
>>311390536
>>311390559
Так, а как пилится? Читая файл на бекенде или заранее? Если заранее, то как фронт получает адреса?
Аноним 08/10/24 Втр 15:22:16 #8 №311390681 
Кстати реально. Если при просмотре видео открыть вкладку сеть, то там не видно даже запросов никаких, кроме временных меток. То есть закачка происходит на каком то более низком уровне, чем просые ajax запрсы/сокеты
Аноним 08/10/24 Втр 15:23:43 #9 №311390761 
>>311390681
Пиздеж. Фронтомакаки просто вставляют <video></video> на страницу и качается целое видео в фоне.

мимо бекенд господин (django)
Аноним 08/10/24 Втр 15:24:52 #10 №311390823 
>>311390681
Видно там все, только что чекнул в ютубе
Аноним 08/10/24 Втр 15:27:48 #11 №311390958 
>>311390676
>Так, а как пилится? Читая файл на бекенде или заранее?
Открой любой видос где чел пилит подобное и смотри
Аноним 08/10/24 Втр 15:29:29 #12 №311391038 
>>311390958
Просто тут каждый первый фронтендер и каждый второй бекендер. Чтобы срезать время в теории. Просто сидел дрочил на порнхабе и внезапно озадачился.
Аноним 08/10/24 Втр 15:34:02 #13 №311391238 
Грубо говоря на сервере лежит файл или несколько файлов разного качества и размера. Когда ты в проигрывателе выбираешь какое-то место и тыкаешь Play то проигрыватель посылает на сервере место куда ты тыкнул и сервер начинает слать в проигрыватель куски видео начиная с этого места. Любой файл можно начать читать с любого места и любыми порциями. Типа пропустить 1000 байт от начала файла и начать читать порциями по 10 байт, каждый раз отправляя очередные 10 байт.

"Сложность" в том что видео и аудио закодированы определённым кодеком и там ты как правило не можешь сказать с какого байта в файле начинается какой кадр. Поэтому сервер берёт файл, создаёт на основе него ПОТОК, который как бы размечает этот файл, чтобы если ты перемотал на 10 мин 21 сек то сервер по этому месту в потоке сразу знал с какого байта читать файл и какими порциями.

Спроси у ChatGPT как из mp4 файла создаётся поток, он тебе объяснит и всё поймёшь.
Аноним OP 08/10/24 Втр 15:38:20 #14 №311391435 
>>311391238
Насколько я понял пообщавшись с ней, на сервере хранятся чанки, инфа о которых отправляется в браузер. По-видимому это сделано для удобного кэширования на серверах. Я тоже думал что происходит запрос на чтение диапазона байтов единого файла.
Аноним OP 08/10/24 Втр 15:39:57 #15 №311391510 
Хорошо. Теперь давайте просвещайте меня по Street View в онлайн картах.

Каким образом строится сфера и как на нее натягиваются тайлы?
Аноним 08/10/24 Втр 15:46:14 #16 №311391788 
>>311391510
Ты там из комы вышел и не знаешь что такое 3d-панорама? У меня даже мой ксяоми может такие снимать
Аноним 08/10/24 Втр 15:47:04 #17 №311391828 
>>311391510

Да ну тя, сам погугли. С гопотой пообщайся. У меня работа стоит.
Аноним 08/10/24 Втр 15:47:58 #18 №311391879 
>>311391788
Мало чего он умеет. Мне интересно как это расчитывается все. Неужели байтоебят формулами?
Аноним 08/10/24 Втр 15:49:47 #19 №311391962 
>>311391879
Сфера из множества полигонов квадратных на каждый натягивается кусок фоточки
Аноним 08/10/24 Втр 15:50:34 #20 №311392002 
>>311390340 (OP)
Ну там скорее всего итератор который итерирует поток по чанкам, проектировал похожий на system design interview
Аноним 08/10/24 Втр 15:51:19 #21 №311392041 
>>311391879
> Неужели байтоебят формулами?
И причем тут байтоебство?
Аноним 08/10/24 Втр 15:51:58 #22 №311392065 
Спроси у чатжпт
Аноним OP 08/10/24 Втр 15:54:57 #23 №311392200 
>>311392002
А зачем итератор если можно просто разбить файл на адреса? Это же оптимизация чтобы по 10 раз не резать и просто отдавать кэш + большинство людей кликают в определенную область и закрывают видео. Вангую есть очень популярные чанки (кста, ютуб внизу и отображает стату кликов). Эти чанки могут в порядке приоритета распределяться по сервакам (но я в этом не уверен).

Ты фронт? На какую позицию претендовал? Устроился?
Аноним 08/10/24 Втр 17:39:44 #24 №311396749 
>>311390340 (OP)
YouTube, как интегрированная платформа для потоковой передачи контента, основывается на архитектурных принципах, разделяющих фронтенд и бэкенд на ряд высокоабстрагированных сервисов, каждый из которых предназначен для обеспечения устойчивости, производительности и масштабируемости.

Фронтенд:
Фронтенд-архитектура YouTube реализована с использованием реактивных фреймворков и концепций микроинтеракций, что позволяет динамически обновлять интерфейс без необходимости полной перезагрузки страницы. Визуальные компоненты, включая медиаэлементы, ссылки на рекомендации и интерфейсы для загрузки/управления видео, взаимодействуют через RESTful и gRPC API с бэкендом. Каждый запрос на получение данных о видео транслируется через Content Delivery Network (CDN), минимизируя задержки и обеспечивая доставку медиаконтента из ближайшего дата-центра.

Бэкенд:
Бэкенд состоит из распределенной системы серверов, баз данных и масштабируемой архитектуры микросервисов, управляемой с использованием контейнеризации (Docker/Kubernetes). Он включает в себя системы для кодирования и транскодирования видео в различные форматы с целью адаптивного потокового воспроизведения (ABR), где видеофайлы фрагментируются и доставляются через MPEG-DASH или HLS.

Основные сервисы:

Сервис потокового воспроизведения — отвечает за формирование мультимедийного стрима и согласование с клиентскими устройствами через реализацию принципов прогрессивной буферизации.
Сервис рекомендаций — сложная система на базе машинного обучения, использующая алгоритмы кластеризации и факторизации матриц для персонализации контента.
Авторизация и управление аккаунтами — распределенные системы идентификации на основе протоколов OAuth2 для обеспечения защищенной аутентификации.
Бэкенд работает с масштабируемыми базами данных, такими как Bigtable и Spanner, для хранения метаданных, а для высоконагруженных операций используется распределенный кеш (например, Memcached), что минимизирует обращения к основной базе данных.
comments powered by Disqus

Отзывы и предложения