YouTube Media Direct : Прямые ссылки
Опубликовано: Бармалей · 23.12.2020 · 00:01 ••• Обновление: 20.11.2022 · 14:15 1

YouTube Media Direct – русский форк скрипта YouTube Links, отдельная панель прямых ссылок на медиа-файлы доступных видео и аудио форматов. Отображается на страницах просматриваемых роликов, мини‑панель также есть на ссылочных миниатюрах. Для удобства просмотра полученные ссылки могут быть скопированы, загружены или открыты в отдельной вкладке.

Предоставляется по лицензии GPL v.3, бесплатно для частного некоммерческого использования.


В этой статье:


Общее назначение и краткая история создания

YouTube Media Direct – пользовательский скрипт, позволяет получить прямые ссылки на все доступные форматы медиа-файлов на YouTube.

Основное назначение – обеспечить оперативный* прямой доступ к файлам видео-контента YouTube c целью более лёгкого и быстрого просмотра роликов вне "разжиревшего" контента страниц сервиса. Главная цель – простота и компактность решения и работоспособность на любых версиях браузеров.

* На текущий момент основной сайт сервиса стал весьма тяжёлым с точки зрения лишней нагрузки на браузер. Кроме того, постоянные "новшества дизайна", назойливая реклама, обилие малоинтересных комментариев и другого инфо-мусора, не только делают сайт "тормознутым", но и приводят к невозможности нормального просмотра видео на слабых компьютерах. Этот скрипт как раз и призван помочь пользователям с комфортом смотреть только то, что они хотят видеть.)

Этот скрипт является доработанным вариантом известного скрипта YouTube Links. В форке заимствована основная часть кода определителя ссылок и общий принцип работы, исходный код очищен от нефункционального мусора, немного упрощён и оптимизирован с целью повышения общей скорости выполнения, добавлены дополнительные возможности для повышения удобства использования и русифицирован интерфейс.

В результате "доработки напильником" получилась микро-полезняшка из серии "поставил и работай", ставшая отличной альтернативой аналогам, не только решающая основную задачу, но и превосходящая их по лёгкости и функционалу.

При выпуске первой версии в декабре 2020 года форк был "брэндирован" как "YouTube Media Direct" и на текущий момент распространяется под этой "торговой маркой".

В силу того, что интерфейс панели ссылок, создаваемой скриптом, интуитивно понятен, принципиальная необходимость его локализации отсутствует, Тем не менее, к англоязычному описанию добавлено русское и оно же используется по умолчанию – исключительно по причине общей ориентированности автора на русскоязычную аудиторию пользователей.)

Следует особо отметить, что в отличие от многих других современных аддонов, в YouTube Media Direct нет (и никогда не будет) никакой "допустимой" или скрытой рекламы, этот аддон не является предметом монетизации.

Автор гарантирует отсутствие в этом скрипте каких‑либо следящих, "стучащих" и иных "статистических" механизмов, а также любых других средств, направленных на "персонализацию" конечного пользователя с целью получения какой‑то коммерческой выгоды.


Основные возможности и способ применения

YouTube Media Direct даёт возможность быстрого доступа к прямым ссылкам на все доступные видео и аудио форматы медиа-файлов роликов. Это позволяет сократить время доступа к нужному контенту и сосредоточиться непосредственно на его просмотре, не отвлекаясь на мешающие "дизайнерские изыски" сервиса.

Для доступа пользователя ко всем ссылкам на загрузку, имеющимся у каждого конкретного ролика, скрипт создаёт специальную экранную кнопку, расположенную в верхней части страницы видео‑ролика справа от логотипа YouTube:

При щелчке по этой кнопке запускается процедура автоматического определения прямых URL медиа‑файлов во всех доступных видео (вплоть до 16k) и аудиоформатах. Эта процедура может занять некоторое время и связана с проверкой доступности ссылок: по умолчанию на будущей панели загрузки будут отображены только те форматы, файлы которых реально доступны для скачивания (для каждого конкретного ролика набор форматов может отличаться).

После получения прямых ссылок производится отрисовка* специальной панели загрузок, создаваемой скриптом для каждого просматриваемого ролика и автообновляемой при переходах между роликами в пределах текущей вкладки. Панель расположена либо над фреймом ролика (обычный режим), либо непосредственно под ним (широкоформатный режим просмотра).

* В отличие от прототипа, в текущих версиях скрипта автоотображение панели по умолчанию выключено, проверка ссылок и отрисовка панели производятся только "по требованию" (по щелчку на кнопке). Это сделано с целью уменьшения начальной нагрузки на браузер при открытии страниц сервиса (который на текущий момент и так еле ворочается)). Если панель была вызвана и отрисована, она не удаляется и работает до закрытия вкладки.

Теперь все ссылки для загрузки доступны на панели, достаточно будет просто выбрать нужную и скачать файл:

Начиная с версии 2022.11.10 панель отображаемых форматов для текущего основного ролика на странице сделана фиксированной и жёстко позиционируется непосредственно под "шапкой" страницы (верхняя часть, с логотипом, строкой поиска и т.д.). Теперь, при изменении режима плейера (обычный/"кинотеатр"), положение панели не меняется:

Это связано с изменением текущего дизайна сайта YouTube. Предыдущий метод создания "плавающей" панели ссылок мог работать некорректно в зависимости от текущего режима плейера, что приводило к "подлезанию" панели под верхнюю часть страницы ("шапку").

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

* Сдвижка выполняется для всей основной части страниц, независимо от режима плейера. Эта сдвижка переменная, вычисляется автоматически и зависит от размеров экрана и количества "кнопок" загрузки файлов в разных форматах для каждого конкретного ролика. При скрытии панели страница снова "поднимается" под шапку.

При необходимости, созданная панель ссылок может быть скрыта и вновь показана с помощью той же экранной кнопки (справа от логотипа, работает как переключатель). Следует помнить, что независимо от видимости, будучи однажды вызванной и отрисованной, панель теперь работает постоянно и будет полностью удалена только при закрытии вкладки. Это приводит к тому, что при переходах в пределах вкладки автоматически будут перепроверены и переполучены ссылки на загрузку (для каждого текущего ролика при таких переходах). Соответственно, возрастёт и общая нагрузка на браузер и число фоновых сетевых запросов. Чтобы избежать этого, достаточно просто перезагрузить страницу (например, клавишей F5) и панель снова будет выключена (применяем, если "ютуб стал тупить" после вызова панели).

Скрипт работает не только в пределах страниц отдельных роликов, но и на страницах каналов (пользователей) и на всех других страницах сервиса, содержащих ссылочные* миниатюры.

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

Вид кнопок-ссылок, доступных на мини-панелях, создаваемых скриптом на ссылочных миниатюрах роликов:

При наведении курсора мыши на любую из кнопок панели, под ней отображается всплывающая подсказка с указанием параметров конкретного медиа-файла (формат, тип кодека, битрейт, разрешение видео и размер файла).

При щелчке ЛКМ по кнопкам-ссылкам URL прямой ссылки копируется в буфер обмена. При щелчке ПКМ в буфер копируется автоматически сформированное (по названию ролика и выбранному формату) имя файла, которое можно использовать при сохранении вместо стандартного videoplayback.

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

При двойном щелчке ЛКМ по кнопке в общем случае должно производиться открытие выбранного медиа-файла в новой вкладке. В некоторых браузерах (и при определённых настройках) двойной щелчок может приводить к запуску загрузки файла вместо его открытия. Это не является проблемой скрипта и может быть решено самостоятельно путём изменения настроек вашего браузера. В частности, подобное поведение характерно для браузеров Firefox и 360 Extreme Explorer с настройками по умолчанию.

Особо следует отметить специфичную обработку ссылок на ролики в формате MP4 c разрешением 720p (содержащих видео и аудио треки). Для этих ссылок действия по умолчанию отличаются от указанных выше: при одиночном щелчке ЛКМ производится загрузка файла (или выдаётся окно с запросом сохранения, зависит от ваших настроек браузера), двойной щелчок не отрабатывается в принципе. Действия по щелчку ПКМ аналогичны описанным выше.

Скрипт корректно работает в любых, даже достаточно старых, версиях браузеров, не требуя от пользователя никаких дополнительных действий или настроек – определение доступных форматов и построение соответствующих панелей и кнопок производится полностью автоматически.

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

С другими техническими подробностями можно ознакомиться на странице скрипта-прототипа в репозитории GreasyFork (на английском языке), с точки зрения механизма работы русский форк не имеет принципиальных отличий от прототипа. Все дополнительные функции, добавленные в форк, также не требуют настроек и задействуются сразу "из коробки".


Дополнительные параметры конфигурации

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

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

Все доступные для изменения параметры содержатся во внутренней переменной V.UCFG, а также сохраняются в локальном хранилище сайта YouTube в ключе "YTMDCONFIG". Большинство этих настроек являются переключателями и регулируются изменением их значения как true/false.

Назначение каждого из параметров (интуитивно)) понятно из его названия, нужная комбинация может быть установлена самостоятельно либо ручной правкой кода скрипта, либо изменением соответствующих ключей локального хранилища на сайте YouTube (приоритетно, скрипт всегда применяет значение из localStorage, если оно там указано). Аналогичный подход реализован и в скрипте-прототипе, с той разницей, что часть настроек в нём отсутствует.

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

Проще говоря, указанный аддон можно использовать в качестве "конфигуратора" как для оригинального скрипта ("YouTube Links"), так и для скрипта "YouTube Media Direct". При этом использование любых других функций расширения не является обязательным, его даже можно полностью отключить после установки и сохранения настроек загрузчика.)


Отличия от скрипта-прототипа и аналогов

Указанные ниже особенности относятся к текущей версии скрипта, в более ранних версиях могут отсутствовать.

  • Из кода скрипта-прототипа удалены неподдерживаемые функции JavaScript ES6 (используется только ES5).
  • Добавлено открытие медиа-файлов в новой вкладке по двойному щелчку ЛКМ на кнопках (кроме MP4/720р).
  • Добавлено автокопирование конечного имени файла при щелчке ПКМ на кнопке выбранного формата.
  • Вместо копирования имени по щелчку ЛКМ в буфер обмена копируется прямая ссылка на конкретный файл.
  • К конечному человеко-понятному имени загружаемых видео-файлов добавляется размер (360p, 720p и т.д.).
  • Добавлена опциональная настройка для скрытия недоступных форматов в блоке ссылок (пример ролика).
  • Изменён стиль и функции кнопки включения отображения панели загрузки ссылок ().
  • Упрощена обработка вывода блока ссылок на миниатюрах роликов, из кода удалены лишние функции.
  • Добавлено сохранение настроек скрипта в localStorage сайта YouTube (ключ "YTMDCONFIG").
  • Добавлены внутренние сервисные функции, улучшающие и ускоряющие работу скрипта.
  • Убраны лишние ссылки, переменные и функции, связанные с автообновлением из репозитория GreasyFork.
  • Оптимизирован код бо́льшей части функций, улучшена производительность, уменьшен расход памяти.
  • Из кода удалены лишние комментарии и функции записи в консоль, существенно уменьшен размер скрипта.

Загрузка и установка YouTube Media Direct

Скрипт не имеет практических ограничений по версии браузера, может использоваться на любых браузерах версий 29+ с поддержкой JavaScript ES5. Однако, с учётом различных "новшеств", вводимых производителями браузеров, следует ознакомиться с документацией на конкретный билд, который планируется установить – могут быть, так сказать, "некоторые нюансики" и их необходимо учитывать.)

Можно загрузить любую из версий YouTube Media Direct на следующих ресурсах:

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

Скрипт может быть установлен либо напрямую, за счёт нативной поддержки в браузере, либо с помощью любого менеджера скриптов (Violentmonkey/Tampermonkey/etc., рекомендуется TamperMonkey Classic RePack).

Кроме того, с учётом полной интеграции скрипта с расширением YouTube Embedded RU достаточно в меню этого аддона включить опцию "Загрузчик YouTube Media Direct". При этом отдельная установка скрипта не требуется, расширение автоматически загрузит и подключит его текущую версию.

Для работы в режиме "инкогнито" в блоке аддона на странице chrome://extensions включаем опцию:
[читать матчасть]



Аналоги, клоны и форки Бармалей
Бармалей 23.12.2020 20.11.2022 608 0.0

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский, Английский
Версия браузера:29+ (совмесимая с JavaScript ES5)
Протестировано в:Firefox 52ESR + SRWare Iron 31/49 + 360 Extreme Explorer 9/11/12/13 (CR63/69/78/86) + Chromium 87
Технологии и API:Чистый JavaScript (ES5), автономный код без подгрузки библиотек

Поделиться

Всего комментариев: 1
0
1 Бармалей 04.09.2021 • 04:26
..дописал немножко описание - добавил про скрытую (по умолчанию) панель загрузчика и её вызов по кнопке..
как оказалось, в ченч-логе июльской версии недостаточно было об этом написать, народ в "непонятках" куды царя панель дели..))
close