Эту статейку я накатал как-то не подумав прежде, где буду её публиковать, поэтому решил опубликоваться на Хабре. Я ставил перед собой цель: описать, какие положительные стороны Ютуба как платформы знаю лично я, говоря больше про технический аспект. Поводом этого стали политические события в начале марта этого года, из-за которых судьба доступа к сайту в России выносится на обсуждение в самых верхах государственной власти с предсказуемым возможным итогом. А обходить ограничения для веб-ресурса, который существует с целью скачивания с него потокового видео, сами понимаете, может быть проблематично. У меня получился текст с перечнем функционала того сайта, который я хотел бы видеть взамен Ютуба. В идеале — российского, чтоб ни у кого не было соблазна его заблокировать в России. Открытости и особой свободы слова на таком ожидать было бы слишком оптимистично, а вот возможности перехода на неё огромной части аудитории русскоязычного Ютуба — резонно. На Ютубе уже лежат горы развлекательного, игрового, любительского, обучающего, религиозного, официального и другого контента без всякой политики и пропаганды, и весь он на русском языке, кроме, может, тех видео, где учат иностранные языки или не разговаривают с аудиторией. А материал на русском языке вне России и нескольких граничащих с нею стран почти никому в мире и не нужен. Осталось только всё это кому-нибудь реализовать, ну и перезалить туда с Ютуба миллиард видеороликов. Случится ли это — таким вопросом я не задаюсь, лишь размышляю, как бы это могло выглядеть. Я не полагаюсь на то, что моё мнение популярно, но сервисы Google мне, в целом, не нравятся. Почти каждый из сервисов, что были в распоряжении той или иной команды Гугла, со временем эта команда, улучшая его на условную одну единицу, одновременно делала хуже сразу на две. Не являясь активным пользователем Google-сервисов по вышеозначенной причине я не смог бы развёрнуто пояснить за их недостатки перед аналогами, зато мог бы попробовать назвать, почему в какой-то момент обратился к этим аналогам и чем они меня устроили. Однако от YouTube я за более чем 13 лет регулярного пользования отказаться не смог. YouTube был полностью функциональным и удобным ещё в 2007—2011 годах, после чего претерпевал ряд порой странных изменений, шедших ему не на пользу. Среди них, навскидку: некачественно реализованный принцип встраивания рекламы; странный автоподбор параметров сжатия под конкретный видеоролик; лишение зрителя возможности смотреть видео, сжатого необычным кодеком, в оригинальном или почти оригинальном качестве; никому не нужная и позорная в итоге социальная сеть Google Plus, убившая адекватную систему комментариев, переход на которую сделал комментарии к видео такими, какие они есть сейчас — неудобными; множество лишнего JS-мусора вокруг самого объекта видео в веб-интерфейсе сайта; лишение пользователя возможности нативным образом или через API выбирать качество видео для просмотра, всегда сбрасывая его на автоматический выбор; региональные ограничения и ограничения по возрасту, отданные в руки как авторам (включая глупых и небрежных, которые это сами не настраивают), так и, по всей видимости, ИИ со всеми его недостатками; особая американская цензура, не позволяющая плохо сказать об ином конкретном человеке, если он чернокожий, так как это автоматически записывало сказавшего в расисты и позволяло модерации невозбранно выгнать его с платформы за нарушение правил сообщества; необходимость следовать правилам государственного курса США: не распространять теорий заговора по поводу появления и распространения COVID-19, не предлагать к обсуждению то, насколько честными были президентские выборы в США в 2019 году, не углубляться в тему международных споров между США и Китаем по Тайваню. Теперь ещё к минусам YouTube для россиян и граждан нескольких граничащих стран прибавилась небезызвестная политическая ссора США с Россией, из-за которой антироссийская и откровенно русофобная пропаганда на Ютубе часто не пресекается, тогда как российским пропагандистам, даже более-менее лояльным правилам платформы и не нарушающим их по мере сил, доступ к YouTube с февраля 2022 года периодически перекрывался. А ещё блокировались какие-то youtube-каналы с кино и видео, снятыми более 10 лет назад и не имеющими никакого отношения к современной пропаганде и к тому, что может с ней ассоциироваться. На деле всё не так плохо и могло бы быть решаемо, но с политиками не всегда можно договориться, на то они и политики. В ход пошла система цензуры YouTube, которая всегда была крайне низкокомпетентной и притом аморальной: за мелкое нарушение в видео автору могли без всякого объяснения причин заблокировать или страйкануть само видео или весь канал, прервать потоковую трансляцию. И далее — отказаться объяснять причины уже после обращения автора к группе поддержки сайта с просьбами посодействовать в решении проблемы. Мол, где-то ты ошибся, друг, разбирайся с этим сам. Автору приходилось разбираться самостоятельно, пересматривать все свои видеоролики из числа тех, которые могли стать причиной бана, ища там элементы нарушения авторского права, или какое-нибудь околорасистское, оскорбительное высказывание, или некие элементы оголения тела или поведения, которые можно притянуть к сексуальному контенту (особенно это касалось съёмок не полностью одетых детей, за неосторожный кадр с которыми могли притянуть обвинение в распространении детской порнографии), или что-то похожее на дискомфорт и боль, насилие и жестокость, определяемое иногда личными переживаниями модератора. Своих тараканов у криптоцензоров всегда хватает. Не хочу сказать, что этого лишены другие сервисы видеохостинга, но на YouTube с этим периодически сталкивались даже звёзды, знаменитости, вовсе иногда не посвящённые в техническую и в нормативную сторону вопроса. И вот теперь это затронуло суперзвезду — Российскую Федерацию. И ему тоже никто ничего объяснять не собирается. В последние недели я не удивляюсь, если захожу на страницу канала, старомодно занесённого мною в закладки браузера, и обнаруживаю его удалённым. В мире, я думаю, существует немало людей, специализирующихся на различных веб-площадках и профессионально разбирающихся, в том числе, отдельно в YouTube — в его устройстве, принципах работы отдельных его компонентов, способах его эффективного использования, специфике его пользы для потребителя, включая и подавляющее большинство россиян. Я не являюсь таким специалистом и могу сказать лишь от лица простого пользователя. Этим абзацем я намекаю всем знатокам высказаться в том, что они дополнительно понимают лучше меня. Основные технические плюсы YouTube, по моему мнению: Можно на самом сайте найти нужное видео по описанию контекста, а если видео популярное, то и по отрывку фразы из прямой речи в этом видео. Это реализуется при помощи ИИ, который отслеживает, какой именно ответ (найденное видео) более всего удовлетворяет людей, запрашивающих ту или иную поисковую фразу. База данных таких сопоставлений также позволяет выдавать список интересующих большинство людей запросов буквально по нескольким буквам в строке поиска. Есть и более тонкий поиск по видео, реализуемый включением функции фильтрации. Можно попросить искать видео по нужному запросу только опубликованные за последний час, сутки, неделю, месяц или год; длительностью до 4 минут, от 4 до 20 минут и более 20 минут; искать только видео с наличием субтитров, с указанным географическим местом съёмки, имеющее высокое качество (HD, 4K, адаптированное под HDR) или 3D-/VR-формат. При этом можно сортировать результаты поиска по дате загрузки, по числу просмотров или по рейтингу (числу и соотношению лайков и дизлайков). Всё это я сейчас подсмотрел на самом сайте. На YouTube фильтры довольно узкие; например, нельзя найти видео, залитое в конкретный диапазон дат, что было бы иногда крайне полезно. Такие функции реализуются для YouTube лишь сторонними приложениями. Зарегистрированные пользователи, подчас, сами того не осознавая, заводят собственную библиотеку видео и каналов, привязанную к своему аккаунту. Для этого достаточно подписываться на каналы, видео с которых тебе понравилось. В аккаунте YouTube хранятся не только подписки, но и информация о том, какие видео пользователь уже просмотрел, на каком моменте в каком видео прервал просмотр, как какое видео оценил и каким каналам и видео он отдаёт предпочтение. Реализовано это на YouTube далеко не идеально, но лучше чем ничего. Значимость авторского канала. Если ты видишь название видео, то всегда видишь и то, какому каналу оно принадлежит. Можно легко посмотреть, какие видео есть на канале, отсортировав их по дате добавления (включая и обратный порядок) или по числу просмотров, что даёт возможность быстро просмотреть полный список видео с канала и отметить те, которые ты бы хотел посмотреть в дальнейшем — для зарегистрированных пользователей у каждой превьюшки видео доступны кнопки «смотреть позже» и «добавить в очередь». Схожие по тематике каналы можно искать через систему поиска. Есть неплохая система плейлистов, которую пытались адаптировать под прослушивание музыки. Каждое видео автор может добавить в какой-нибудь плейлист с нужным индексом, что позволяет ему их группировать и сортировать, а зрителю — смотреть или слушать видео друг за другом, или в случайном, перемешанном порядке. Так автор может делать целые «сериалы» с несколькими сезонами, разбивая видео по плейлистам. У каждого плейлиста есть отдельная страница, где можно увидеть подробности по нему. Схожие по тематике плейлисты, как и каналы, худо-бедно можно искать через систему поиска. Также, что немаловажно, всегда можно посмотреть информацию о канале: когда он был зарегистрирован, какие также ресурсы есть у автора (ссылки на его страницы в социальных сетях и мессенджерах для связи), текстовую информацию о канале от автора и ссылки на другие, принадлежащие автору или просто дружественные каналы YouTube. Если пользователю нравится авторский канал, он может посмотреть, какие ещё каналы советует посетить автор. Вроде бы, очевидность и мелочь, но очень важный элемент интерактивности. Ещё YouTube неоднократно пытался превратить каждый канал в блог с собственным оформлением и содержанием (не видео), но успешность этого лично от меня скрыта. Любому зрителю всегда видно точное количество просмотров, лайков и дизлайков у видео на текущий момент времени, что немаловажно. Пользователю также может быть доступна статистика, где можно увидеть, когда видео набрало популярность, в какой день имело больше или меньше просмотров, люди из каких географических регионов, какого возраста и пола (которые ими самими указаны в их аккаунте) смотрят данное видео в каких соотношениях. Правда, на YouTube эта схема время от времени ломается, но в лучшие времена она была такой, какой я её описал. Например, в одном из последних обновлений для всех пользователей запретили видеть количество дизлайков к видеоролику, кроме автора канала, на котором он размещён. Фишки интерактива. У каждого видео есть дерево комментариев как в блоге, отсортированное по числу лайков или по дате публикации. У каждого видео есть тайминги — локальные ссылки, позволяющие быстро переходить на нужный временной участок внутри видео. Отдельные временные участки также в этом, 2022-м году стало возможно отделять друг от друга как отдельные «темы» или «главы». Есть поддержка хештегов, позволяющая авторам видео устраивать флешмобы, размещая хештеги в отдельном поле, чтоб по ним они быстро находились, а комментаторам — ссылаться на эти хештеги. Есть автоматически создаваемые и показываемые пользователю рекомендации видео к просмотру. Для зарегистрированных пользователей они формируются на основании их вкусов и предпочтений по подпискам на каналы определённой тематики и по просмотренным видео — ИИ пытается предложить человеку то, что интересно людям, которые похожи на него: подписаны на те же каналы, смотрят и лайкают видео схожего содержания. Незарегистрированным пользователям выдаётся информация на основе того, какие видео они искали и смотрели в рамках текущего сеанса на сайте. Рядом с каждым просмотренным видео YouTube даёт подсказку, какое видео смотреть вслед за ним: продолжение текущего видео (чтобы не искать следующую часть), похожее по тематике видео с того же канала или просто видео, которые пользователи часто смотрели после или перед этим видео. Всё это облегчает пользователю работу с сайтом и экономит его время на поиск нужных видео. Система трансляций. На площадке YouTube авторы могут не только выкладывать видеоролики, но и стримить, а зрители — флудить в чате под стримом, который обновляется в реальном времени и позволяет зарегистрированным пользователям общаться и получать бан от модераторов, права которым выданы автором канала. По функционалу Ютуб явно уступает Твичу, хотя бы потому, что там даже нет постоянной ссылки на трансляцию, то есть пользователь не может запустить канал с целью посмотреть что там в данный момент транслируется, ему нужно обязательно искать свежую ссылку на трансляцию. А ещё там нет адекватной системы модерации с разными уровнями модераторов, таймаутами и разнообразными режимами; интерфейс, имхо, не тянет на удобный или хотя бы на красивый. И технически это реализовано, имхо, довольно скудно, в отличие от какого-нибудь Дискорда. Тем не менее, это там есть. Монетизация. Тут я многого не скажу, по этой теме существуют настоящие спецы своего дела. Популярных авторов и авторов популярных отдельных видеороликов YouTube поощряет и позволяет им зарабатывать реальные деньги, если те соглашаются, что в процессе показа их видео зрителю будет показываться различная мерзкая реклама, зависящая от его (зрителя) региона, возраста, пола, подписок и предпочтений на YouTube и интересов, определённых ИИ Google с помощью анализа его активности под своим аккаунтом в поисковике или ещё где. Чем видео популярнее и чем чаще они выходят, чем чаще зрители смотрят блевотную рекламу, тем больше денег YouTube задолжает видеоблогеру или контентмейкеру. Также у каналов существует платный вариант подписки, и таким VIP-подписчикам могут быть доступны к просмотру видеоролики и плейлисты, скрытые для обычных пользователей. Подписка, ясное дело, не вечная, её нужно ежемесячно оплачивать. Насколько я знаю, этим Ютуб, в целом, ограничился, не введя для «халявщиков» ограничения по качеству доступного видео или подобных этому подлых ограничений. Для самих авторов, выкладывающих видео, делались попытки предоставить различные удобства: Прежде всего, залитое на YouTube видео автоматически перерендеривается в несколько форматов (отдельные аудиодорожки и видео с аудио в различных разрешениях). Эти форматы существуют на сервере как независимые друг от друга файлы, плеер умеет переключаться между ними на лету. К видео можно добавить файлы субтитров для разных языков (но лишь по одному варианту), можно включить автоматическое создание субтитров при помощи встроенной в сайт системы распознавания речи, и разрешить переводить вручную или автоматически созданные субтитры на любой из языков с помощью Google-перевода. То есть можно смотреть видео на непонятном языке с автоматически созданными и переведённым субтитрами, и понимать, что говорят его персонажи. Показ субтитров, конечно, можно и отключить. Автору доступно добавление в видео аннотаций, которые зритель увидит во время просмотра — подсказки к видеоряду и ссылки на другие видеоролики в виде статичных или анимированных изображений. Показ аннотаций можно отключить. В веб-интерфейсе имеется видеоредактор и редактор звука… Я ими, кажется, никогда не пользовался, и они довольно громоздкие и явно уступают многим аналогам, если мы говорим о любительском софте для видеообработки. Но вырезать кусок видео либо обрезать, зацензурить область кадра или приглушить звук на нужный промежуток времени там, думаю, можно. Но это неточно. Встраиваемое видео. Это значит, что объект видео с YouTube можно вставлять с помощью относительно новых HTML-технологий на различные веб-страницы, включая блоги, социальные сети и мессенджеры. Крайне удобная и полезная вещь, позволяющая смотреть интересные тебе видеоролики с того или иного сайта, не заходя на YouTube и подгружая с него только самое необходимое — код плеера и видеоданные. Это экономит различные аппаратные и программные ресурсы, а также время пользователя. Встраиваемое видео поддаётся довольно тонкой настройке, но об этом будет ниже. Преимущества видеоплеера. Видеоплеер YouTube в разные времена можно было охарактеризовать по-разному. Когда-то это был просто обычный видеоплеер, реализованный на Adobe Flashplayer. Потом стал навороченным и крутым. В какой-то момент — испортился и стал даже хуже аналогов. Некоторое время он был кривым, неудобным, требовал для себя особого браузера, мог этот самый браузер крашнуть, потреблял непонятно зачем огромные ресурсы ОЗУ и ЦПУ. Иногда просто мог не открыться или зависнуть. Сегодня с ним всё хорошо: он скоростной, оптимизирован даже под старые программные и слабые аппаратные платформы, не глючит, не тормозит особо, даёт возможность видеть покадровые мини-превьюшки по таймингу внутри видео, умеет «расползаться» по размеру фрейма или экрана как это будет удобно пользователю, не портя картинку. При рендеринге видеофайла качество звука аудиодорожки не падает даже при низком разрешении изображения в видеодорожке — что в течение долгих лет было проблемой Ютуба. Подгрузка видео не подвисает, и хоть хеширование реализовано как для стрима, а не загружаемого целиком видео, конечному пользователю от этого не хуже. Интерфейс плеера в последние несколько лет также стал максимально приятным за всё время, разве что некоторые его элементы стали по-зумерски закруглёнными, но это уже придирка. Подводя итоги, плеер YouTube в первом квартале 2022 года — это то, чем корпорация Google может гордиться. То, что получилось у них очень хорошо и чему ещё нужно найти аналоги. Тут, опять же, подробнее должен говорить специалист, действительно хорошо шарящий в реализации подобных вещей, но даже обычный опытный пользователь, сравнив плеер YouTube с аналогами, сделает для себя вывод, что он отлично справляется со своими задачами. Итак, на странице с видео есть кнопочка «Поделиться». Она позволяет отправить короткую ссылку на видео в стороннее приложение, либо выдать пользователю HTML-код фрейма «iframe», который можно поместить в любое место гипертекста для дальнейшего просмотра этого видеоролика прямо с этого места. Пользователь, разумеется, должен для этого иметь какую-нибудь площадку для публикации своего гипертекста — скажем, свой сайт. А теперь самое интересное. Если пользователь изберёт чуть более сложный путь и будет встраивать на свою страницу фрейм с объектом для видео YouTube с доступным на этой странице API, то перед ним откроется ряд технических возможностей по облагораживанию этого видео. Вот эту, вернее, аналогичную этой фичу я бы хотел видеть для фреймов всех встраиваемых плееров — и Rutube, и VK (Вконтакте), и Одноклассники, и какие там ещё у нас бывают. Если мы загружаем iframe с API плеера по ссылке «https://www.youtube.com/iframe_api», то можем задать ему следующие параметры: вкл/выкл автовоспроизведение видео (autoplay); вкл/выкл звук в видео на старте (mute); вкл/выкл разрешение на полноэкранный режим (fs); вкл/выкл аннотации к видео (iv_load_policy); вкл/выкл встроенные хоткеи управления плеером (disablekb) — про них ещё будет ниже; вкл/выкл зацикливание воспроизведения видео (loop); вкл/выкл предпоказ информации о видео на старте или значков видео в плейлисте (showinfo); вкл/выкл бессмысленный логотип YouTube (modestbranding) — не работает при color=white плюс реализовано криво, поскольку альтернативный интерфейс плеера местами не доработан; режим отображения элементов интерфейса плеера (controls); цвет вторичного интерфейса плеера (color) — для Ютуба выбор только между красным и белым; язык интерфейса плеера (hl); отображать ли субтитры (cc_load_policy) — тупо реализовано: выключенные включить можно, а включённые отключить нельзя; язык субтитров (cc_lang_pref); с какой и до какой секунды проигрывать видео (start, end); по окончании воспроизведения видео рекомендовать ли другие видео (rel) — в 2018 году эту функцию испортили, отключение рекомендуемых видео просто рекомендует видео только с авторского канала; подгрузка видео через iframe во внешнее приложение полноэкранного плеера (playsinline) — реализовано только для iOS; загружаемый в плеер целый плейлист (list, listType) — до 2021 года можно было загрузить туда результат поиска видео по запросу; кастомный «плейлист» из нескольких указанных видео друг за другом с воспроизведением видео из него в нужном порядке (playlist); блокировка возможности подгрузки iframe только с указанного домена (origin); идентификатор домена, передающийся Google для формирования статистики о том, откуда смотрят видео (widget_referrer); включить работу API посредством JS на веб-странице (enablejsapi). Подробнее обо всём этом можно почитать по ссылкам «https://developers.google.com/youtube/iframe_api_reference» и «https://developers.google.com/youtube/player_parameters». Я не ставил целью повторять сказанную там информацию, лишь вкратце обобщаю её для читателя. Тут я оговорюсь, что встраивание видео в веб имеет огромное значение в мессенджерах и соцсетях, которые тоже умеют управлять плеером и могут встраивать его так, как им это угодно, а не именно так, как настроено по умолчанию или как удобно хозяевам видеохостинга. На то и нужна возможность настройки через API — чтобы была возможность сделать удобнее для себя и для конечного пользователя. Ещё добавлю, что параметры видео можно задавать не только в HTML-коде, но и банально в ссылке на видео (в тексте URL). Правда, подавляющее большинство из них со временем были отключены или никогда корректно не работали; немало команд когда-то было доступно, но в последние годы исчезли. Но, например, запрос в адресной строке «https://youtu.be/dQw4w9WgXcQ?start=69» всё ещё корректно преобразуется в современный вид «https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=69s». Кстати, ещё одна фича Ютуба: можно передавать ссылку с указанием времени старта воспроизведения видео. Последняя настройка (enablejsapi) даёт возможность сайту в некоторой степени управлять встроенным плеером, меняя различные его характеристики. Во-первых, это ивенты, то есть события, вызываемые iframe плеера: onReady, onStateChange, onPlaybackQualityChange, onPlaybackRateChange, onApiChange и onError. По названиям всё должно быть понятно. Как минимум, можно определять, когда плеер подгрузился и готов, и когда пользователь запустил на нём воспроизведение видео или остановил его. Во-вторых, это команды, которые можно отдавать плееру в iframe через его API. Я, пожалуй, не стану перечислять их все, но назову наиболее важные из взаимодействий: запустить или приостановить проигрывание плеера (playVideo и pauseVideo); вкл/выкл звук в плеере (unMute и mute); задать параметром процентную громкость звука в плеере (setVolume); задать параметром новую скорость воспроизведения в плеере (setPlaybackRate); задать параметром формат воспроизводимого видео (setPlaybackQuality) — было отключено Ютубом в 2019 году, что неприятно; перейти на указанный в параметрах тайминг видео (seekTo); переключиться назад или вперёд по видео из загруженного в плеер плейлиста (previousVideo и nextVideo); перемешать в случайном порядке видео из загруженного в плеер плейлиста (setShuffle); на лету поменять размер, занимаемый iframe плеера на странице (setSize). Например, перетаскиванием краёв объекта. Удобная фича, которая почему-то нигде на практике не реализуется, хотя возможность давно есть. Может, потому что некоторые браузеры любят крашиться от такого применения JS. В-третьих, это горячие клавиши для управления плеером. Хотя я сейчас не помню, требуется ли для них включение API iframe в JS, но не суть. Горячими клавишами, как и различными жестами на тачскрине, можно паузить воспроизведение в плеере, прокручивать видео на 5 секунд назад или вперёд (а также на 10 секунд назад или вперёд), вкл/выкл звук, увеличивать или уменьшать громкость плеера, переключать видео между полноэкранным и оконным режимами и переходить на разные временные отрезки видео с 0% по 100% с шагом 10%. Позволяет за ПК управлять плеером без использования мыши, а за мобильным устройством с тачскрином или виртуальной клавиатурой с отправкой кодов — без вызова различных меню. А теперь дайте пользователям сайт, позволяющий делать всё то же самое и даже лучше, и у Ютуба появится опасный конкурент. Особенно если этот сайт будет обладать желанными фичами, которых нет на YouTube: возможностью скачать просматриваемое видео в желаемом качестве, синхронизировать или экспортировать данные профилей, возможностью поиска видео, залитого между конкретными датами, возможностью выбора себе предпочитаемых партнёров по рекламе, которых автор даже между платными роликам с сайта готов добровольно рекламировать, возможностью выводить видео с сайта во внешний плеер без подгрузки лишнего мусора… Конечно, базу существующих видосиков на YouTube это не затмит. И мощности серверов, объёмы хранимых данных тоже просто так из воздуха не возьмутся. Да и популярность, раскрутка в соцсетях и в поисковых системах невозможна без интеграции одного сервиса с другими. И да, я в курсе про существование PeerTube, Internet Archive и уж тем более Vimeo и более попсовых для СНГ аналогов, таких как Яндекс Дзен (Яндекс.Видео) и Видео VK (Mail.ru)​. В данной статейке я говорил лишь о преимуществах именно Ютуба, которые мне как одному из миллионов пользователей кажутся самыми ценными. Разумеется, я много чего упустил, хотя бы потому что много чем сам не пользуюсь. Одному человеку непросто сделать выводы о гигантской коммерческой платформе. Но для себя я выводы уже сделал: основной функционал Ютуба вполне обозрим и охватываем пользователем и разработчиком. Хотелось бы почитать комментарии от таких же пользователей как и я про плюсы Ютуба. Не питаю надежд, что эта статья поможет разработчикам альтернативной Ютубу площадки, но всякое бывает, вдруг и это пригодится.