Никита Лахин
февраль 2016.
7436

Какие языки программирования использовались при создании YouTube, и на каких языках пишутся видео-плееры?

Ответить
Ответить
Комментировать
0
Подписаться
0
3 ответа
Поделиться

Я бы порекомендовала не путать язык написания сервиса и язык написания отдельного его компонента.

У любого вэб-сервиса есть клиентская часть и серверная. Пишутся они совершенно на разных языках. И если с клиентской частью всё более или менее определено (чаще всего HTML/CSS/JS ыполне достаточно), то вот с серверной - полный "разброд и шатание"(с), как говорил классик. Тут и сам серверный язык (Python/Java/PHP/C# etc), и технологии (ASP/.Net/MVC/J2EE etc), и доступ к данным (MS SQL/Oracle/MySQL/non-SQL etc).

А вот у клиентского компонента Video Player своя отдельная история. Это может быть и HTML5-player, и Flash-player, и Silverlight-player... Не буду вдаваться в технические подробности различий - они оооочень серьезные - но могу сразу сказать, что для написания youtube-like сервиса вам потребуется знать ВСЁ это! Именно поэтому не так много конкурентов у YouTube'а - это сложная система, требующая совместной работы различных специалистов.

7
-1

Разве на youtube извользуется Silverlight? По-моему там только Flash и HTML5 на клиенте.

0
Ответить

Артём, я просто перечислила основные возможные варианты, с целью ответить на вторую часть вопроса.

+3
Ответить
Прокомментировать

Для того чтобы написать свой видеоплеер сейчас достаточно знаний JavaScript, HTML и CSS. Никаких особых языков именно для видеоплееров не существует.

Что касается YouTube, то они использовали (и возможно используют) Python.

5
0
Прокомментировать

YouTube во всей его полноте — это довольно большой проект. Отдельные его части были написаны практически независимо друг от друга и, скорее всего, на разных языках. Давайте попробуем подумать, что это могли быть за части.

Чтобы видео появилось в YouTube, во-первых, файл с видео необходимо туда загрузить. Обычно это делает автор видео, поэтому у него необходимо проверить логин и пароль, дать ему возможность назвать свой ролик, присвоить ему теги, а в будущем, если он так захочет, то и удалить ролик из YouTube. Это все довольно стандартные функции любого веб-сайта, поэтому эта часть и написана одном из тех языков, которые популярны у веб-разработчиков: это Python.

После загрузки, когда файл с видео оказывается на серверах YouTube, этот файл нужно конвертировать в несколько различных видео-форматов. Процесс конвертации запускается автоматически и занимает от нескольких секунд до нескольких часов. Разные форматы отличаются качеством (на YouTube вы можете выбрать в каком качестве смотреть каждый ролик — либо доверить этот выбор вашему браузеру) или используемым кодеком (каждый браузер умеет проигрывать видео только в определённых кодеках). Зачем это нужно? Чтобы как можно больше зрителей с разными браузерами и с разными мобильными устройствами могли посмотреть видео и чтобы они как можно реже видели «вращающуюся ромашку», когда видео загружается. Эта часть написана на C и C++, потому что на этих языках написано большинство кодеков, а значит использовать библиотеки кодеков проще всего из такого же языка. После завершения этой части, на серверах YouTube окажутся файлы для каждой версии загруженного видео; всего версий может быть 10-20.

Наконец, когда видео конвертировано во все необходимые форматы, его можно посмотреть! Когда мы открываем в браузере ссылку на YouTube, браузер запрашивает с сервера веб-страницу, содержащую плейер, а плейер запрашивает с сервера наиболее подходящую нам версию видео. На стороне YouTube подготовкой этой страницы и передачей видео-файла плейеру занимается такое же стандартное веб-приложение, которое написано на языке Python.

И, наконец, самая главная часть вопроса: на чём написан плейер? Ответ зависит от того, какой браузер вы используете. Для современных браузеров, он, скорее всего, написан на языке JavaScript и выполняется прямо в браузере, но этот язык, строго говоря, не занимается проигрыванием видео. Вместо этого, он делегирует эту обязанность браузеру, «подсовывая» ему нужную часть нужной версии видео.

И уже в самом конце браузер делает всю ту гигантскую работу, которая нужна для того, чтобы распаковать (или, как говорят специалисты по видео, «декодировать») видеопоток в набор цветных пикселей и сделать так, чтобы эти пиксели появились на вашем экране. Например, такие.

2
0

Спасибо ха объяснение, так понимаю комментарии тоже работа Pyton?

0
Ответить
Прокомментировать
Ответить
Читайте также на Яндекс.Кью
Читайте также на Яндекс.Кью