Русский

Как получить миниатюру на YouTube и почему часто не хватает одного размера

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

Ссылки анализируются в вашем браузере без доступа к сети. Нажатие Fetch запрашивает публичные файлы напрямую с i.ytimg.com и www.youtube.com — наш сервер не задействован и ничего не сохраняется.

Краткая версия

Вставьте любую ссылку YouTube в поле на странице инструмента. Ссылка считывается в вашем браузере, без каких-либо контактов: вы сразу увидите, как идентификатор видео с символом 11 появится под полем. Нажмите «Fetch», и браузер запрашивает каждый опубликованный файл миниатюр непосредственно у Google, показывает, какие из них действительно существуют, и позволяет загрузить любой из них.

Если вам нужно только самое большое доступное изображение и вас не волнуют детали, возьмите первую карточку с пометкой «Доступно»: сначала сетка упорядочивается по наибольшему размеру.

  1. Скопируйте ссылку из адресной строки, кнопки «Поделиться» или мобильного приложения.
  2. Вставьте его в поле ссылки. Идентификатор видео считывается локально и отображается вам.
  3. Нажмите «Получить миниатюры и метаданные». Это первый и единственный момент контакта с чем-либо.
  4. Ищите карточки с пометкой «Доступно» — эти файлы существуют в полном размере.
  5. Нажмите «Загрузить» на том файле, который вам нужен, или скопируйте URL, чтобы получить прямую ссылку на него.

Почему maxresdefault так часто отсутствует

Файл 1280x720, maxresdefault.jpg, существует только в том случае, если исходное видео было загружено в разрешении 720p или выше. Многие старые загрузки, загрузки на телефон и записи экрана не выполнялись, поэтому для этих видео файл так и не был создан.

Самое неловкое то, как YouTube говорит об этом, и это непоследовательно. Иногда при недостающем размере возвращается простой 404. Иногда он отвечает 200 и отображает серый заполнитель размером 120x90 вместо изображения, которое вы запрашивали, а инструмент, который доверяет коду состояния, сообщает вам, что файл существует, и передает вам серый прямоугольник. Поскольку происходит и то, и другое, этот инструмент игнорирует код состояния и измеряет декодированное изображение, что в любом случае верно.

Этот инструмент декодирует каждый ответ и считывает его истинные размеры в пикселях. Результат 120x90 для размера, который должен быть больше, отображается как «Не опубликовано», поскольку именно это оно и означает. В этом разница между чтением этикетки и открытием коробки.

Какой размер вам следует использовать?

Для карточки со ссылкой, заголовка статьи или чего-либо напечатанного используйте maxresdefault, если он существует: это единственный настоящий файл размером 1280x720.

Для компактного списка или боковой панели mqdefault размером 320x180 обычно является лучшим выбором, поскольку это настоящий 16:9 без черных полос. hqdefault и sddefault представляют собой фреймы 4:3 с широкоэкранным изображением в почтовом ящике внутри них, поэтому использование одного из них при полном выпуске за обрез оставляет полосы, которые затем придется обрезать.

hqdefault — это размер, к которому можно вернуться, когда вам нужно что-то, что всегда под рукой: оно есть в каждом видео.

Три кадра раскадровки

Помимо изображений постеров, YouTube публикует три кадра, снятые в начале, середине и конце видео: hq1.jpg, hq2.jpg и hq3.jpg. Они не являются избранными миниатюрами и часто нелестны, но они полезны, когда постер представляет собой титульную карточку и вы хотите показать, как на самом деле выглядит видео.

Эти кадры существуют только как JPEG. Выбор WebP в инструменте скрывает их, а не генерирует адрес, который будет 404.

JPEG или WebP

Пять размеров плакатов также публикуются как WebP по другому пути, и эти файлы обычно на 25 - 35 процентов меньше при том же визуальном качестве. Если изображение предназначено для веб-страницы и вам не нужно открывать его в более старой версии программного обеспечения, лучше загрузить WebP.

Есть одна практическая загвоздка. Google обслуживает путь JPEG с заголовком перекрестного происхождения и путь WebP без него, поэтому веб-страница может получать и сохранять файлы JPEG, но не может читать байты WebP. Таким образом, этот инструмент загружает JPEG и предоставляет вам адрес WebP в виде ссылки: откройте его на вкладке или вставьте в этап сборки, который извлекает серверную часть.

Субтитры и панель расшифровки

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

Вместо этого панель «Подписи» читает то, что вы можете получить за несколько секунд, в какой бы форме оно ни поступило. Есть три пути, и первый работает для любого видео, в котором есть субтитры: откройте видео, разверните описание, нажмите «Показать расшифровку», затем выберите и скопируйте текст расшифровки. Вставьте это, и вместе с ним появятся временные метки — этот инструмент превращает строки «0:15» в настоящие сигналы. Второй путь — это YouTube Studio для ваших собственных видео: субтитры, язык, трехточечное меню, загрузка, которая предлагает SRT, VTT и SBV. Третья — сетевая панель вашего браузера: при включенных субтитрах отфильтруйте «timedtext» и скопируйте либо тело ответа, либо запрос URL; оба принимаются, и для вас будет получено URL.

Формат скорее определяется, чем запрашивается. SRT, WebVTT, SBV, TTML/DFXP, Тайм-текст YouTube XML, его форма JSON3 и простой текст панели транскрипции — все они анализируются в одном списке реплик. Затем каждая реплика указывается со своей временной меткой, и каждая временная метка представляет собой ссылку на ту самую секунду вставленного вами видео, поэтому расшифровка становится набором точек перехода, а не стеной текста.

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

Автоматические субтитры получают еще одну дополнительную обработку. Они написаны в виде скользящего окна — каждая реплика повторяет предыдущую строку с добавлением еще одного слова — что заставляет наивный транскрипт читать каждую фразу четыре или пять раз. По умолчанию это окно свернуто, и вы можете отключить его, чтобы увидеть файл в том виде, в каком он написан.

Экспортируйте в виде расшифровки с отметкой времени, Markdown с метками времени, которые можно щелкнуть, CSV для электронной таблицы или отмените возврат как SRT или WebVTT. Все это происходит на странице: файл никогда не загружается.

Вопросы

Это загружает видео?

Нет. Он извлекает изображения предварительного просмотра и общедоступную запись oEmbed и ничего больше. Здесь нет загрузчика видео и нет попыток получить медиапоток.

Почему инструмент показывает размеры до того, как я нажимаю «Выбрать»?

Это номинальные размеры из опубликованного каталога YouTube, которые показаны, чтобы вы знали, что будет запрошено. Они помечаются как «номинальные», пока не будет получен и измерен реальный файл.

Могу ли я использовать ссылку на Shorts?

Да. Shorts, прямые трансляции, встраивание, ссылки youtu.be, m.youtube.com, music.youtube.com и youtube-nocookie.com работают, как и вставка голого идентификатора символа 11.

Ограничения

  • Миниатюру, которая никогда не была создана, невозможно восстановить: ни один инструмент не может создать файл размером 1280x720 для видео, загруженного с разрешением 360p.
  • Частные, удаленные видео и видео с возрастными ограничениями не публикуют миниатюры для вышедших из системы посетителей, поэтому для них ничего не будет найдено.
  • Изображения предоставлены Google. Если ваша сеть блокирует i.ytimg.com, выборка здесь завершится ошибкой точно так же, как и где-либо еще.