Если у меня есть URL-адрес видео на YouTube, есть ли способ использовать PHP и cURL для получения соответствующего эскиза из API YouTube?
2400
Если у меня есть URL-адрес видео на YouTube, есть ли способ использовать PHP и cURL для получения соответствующего эскиза из API YouTube?
Ответы:
Каждое видео на YouTube содержит четыре сгенерированных изображения. Они предсказуемо отформатированы следующим образом:
Первым в списке является полноразмерное изображение, а остальные - миниатюры. Уменьшенное изображение по умолчанию (то есть, один из
1.jpg
,2.jpg
,3.jpg
) является:Для высококачественной версии эскиза используйте URL-адрес, подобный следующему:
Существует также версия эскиза среднего качества, использующая URL, похожий на HQ:
Для стандартной версии эскиза используйте URL-адрес, подобный следующему:
Для версии эскиза с максимальным разрешением используйте URL-адрес, подобный следующему:
Все вышеперечисленные URL также доступны по HTTP. Кроме того, немного более короткое имя хоста
i3.ytimg.com
работает вместоimg.youtube.com
приведенных выше примеров URL.Кроме того, вы можете использовать API данных YouTube (v3) для получения миниатюр изображений.
источник
http://www.img.youtube.com
, толькоhttp://img.youtube.com
mqdefault
16: 9sddefault
иmaxresdefault
НЕ ВСЕГДА ДОСТУПНЫ, хотя некоторые видео имеют их…Вы можете использовать API данных YouTube для получения миниатюр видео, подписи, описания, рейтинга, статистики и многого другого. API версии 3 требует ключ *. Получить ключ и создать видео: список запросов:
Пример PHP-кода
Вывод
* Мало того, что вам нужен ключ, вас могут попросить предоставить платежную информацию в зависимости от количества запросов API, которые вы планируете сделать. Тем не менее, несколько миллионов запросов в день бесплатны.
Исходная статья .
источник
jsonc
вместоjson
getJSON. Это происходит из-за неправильной структуры JSON.jsonc
. НЕОБХОДИМО использовать примеры jQuery и PHPjson
. И я обновил код, чтобы соответствовать новой структуре JSON. Я использую код прямо сейчас, и он работает в прямом эфире. так что не говорите, что это не работает без чтения изменений. Спасибо!v=2
) заботится об изменениях API.То, что сказал Асаф, верно. Однако не каждое видео на YouTube содержит все девять миниатюр. Кроме того, размеры уменьшенных изображений зависят от видео (приведенные ниже цифры основаны на одном).
Существует семь миниатюр, которые гарантированно существуют:
Кроме того, две другие миниатюры могут существовать или не существовать. Их присутствие, вероятно, основано на том, высокое ли качество видео.
Вы можете найти сценарии JavaScript и PHP для получения миниатюр и другой информации YouTube:
Вы также можете использовать инструмент Генератор видеоинформации YouTube, чтобы получить всю информацию о видео YouTube, отправив URL-адрес или идентификатор видео.
источник
В YouTube API V3 мы также можем использовать эти URL-адреса для получения миниатюр ... Они классифицируются по качеству.
И для максимального разрешения ..
Одним из преимуществ этих URL-адресов перед URL-адресами в первом ответе является то, что эти URL-адреса не блокируются брандмауэрами.
источник
Если вам нужно самое большое изображение с YouTube для определенного идентификатора видео, тогда URL-адрес должен быть примерно таким:
Используя API, вы можете подобрать миниатюру изображения по умолчанию. Простой код должен выглядеть примерно так:
источник
Если вы хотите избавиться от «черных полос» и сделать это так, как это делает YouTube, вы можете использовать:
И если вы не можете использовать
.webp
расширение файла, вы можете сделать это так:Также, если вам нужна немасштабированная версия, используйте
maxresdefault
вместоmqdefault
.Примечание: я не уверен насчет соотношения сторон, если вы планируете использовать
maxresdefault
.источник
_webp
и измените расширение на.jpg
. Рабочий пример: i.ytimg.com/vi/mJ8tq8AnNis/mqdefault.jpg , я не уверен насчет соотношения сторон.Я сделал функцию только для извлечения существующих изображений с YouTube
источник
В API данных YouTube v3 вы можете получить эскизы видео с помощью функции videos-> list . Из snippet.thumbnails. (Ключ) вы можете выбрать эскиз по умолчанию, среднее или высокое разрешение, а также получить его ширину, высоту и URL.
Вы также можете обновить миниатюры с помощью миниатюр -> установить функциональность.
В качестве примеров вы можете ознакомиться с проектом примеров API YouTube . ( PHP .)
источник
Вы можете получить запись видео, которая содержит URL-адрес миниатюры видео. Пример кода в ссылке. Или, если вы хотите , чтобы разобрать XML, есть информация здесь . Возвращенный XML имеет
media:thumbnail
элемент, который содержит URL-адрес миниатюры.источник
источник
YouTube принадлежит Google, и Google любит иметь разумное количество изображений для экрана разных размеров, поэтому его изображения хранятся в разных размерах. Вот пример того, как будет выглядеть ваш эскиз:
Миниатюра низкого качества:
Миниатюра среднего качества:
Высокое качество миниатюры:
Максимальное качество миниатюры:
источник
API YouTube версии 3 будет запущен через 2 минуты
Если все, что вы хотите сделать, это поиск на YouTube и получить соответствующие свойства:
Получить публичный API - эта ссылка дает хорошее направление
Используйте ниже строку запроса. Поисковый запрос (обозначенный q = ) в строке URL-адреса является стекоперемещающим для примера. Затем YouTube отправит вам ответ в формате JSON, где вы сможете проанализировать миниатюру, фрагмент, автора и т. Д.
https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=50&q=stackoverflow&key=YOUR_API_KEY_HERE
источник
Другой хорошей альтернативой будет использование oEmbed API-интерфейса , поддерживаемого YouTube.
Вы просто добавляете свой URL-адрес YouTube к URL-адресу oEmbed, и вы получите JSON, включая миниатюру и HTML-код для встраивания.
Пример:
Даст вам:
Прочитайте документацию для получения дополнительной информации .
источник
Использование:
Выше ссылка. Используя это, вы можете найти характеристики YouTube видео. Найдя характеристики, вы можете получить видеоролики выбранной категории. После этого вы можете найти выбранные видеоизображения, используя ответ Асафа .
Попробуйте описанный выше подход, и вы сможете разобрать все из API YouTube .
источник
Я использовал эскизы YouTube таким образом:
Помните, YouTube запрещает включать изображения непосредственно со своего сервера.
источник
Я нашел этот отличный инструмент, который позволяет создавать изображение с помощью кнопки воспроизведения YouTube, размещенной над изображением:
источник
Просто чтобы добавить / расширить представленные решения, я считаю необходимым отметить, что, поскольку я сам столкнулся с этой проблемой, на самом деле можно получить несколько видеоклипов YouTube, в данном случае миниатюры, с помощью одного HTTP-запроса:
Используя Rest Client, в данном случае HTTPFUL, вы можете сделать что-то вроде этого:
источник
API данных YouTube
YouTube предоставляет нам четыре сгенерированных изображения для каждого видео через API данных (v3), например:
https://i.ytimg.com/vi/V_zwalcR8DU/maxresdefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/sddefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/hqdefault.jpg
https://i.ytimg.com/vi/V_zwalcR8DU/mqdefault.jpg
Получение доступа к изображениям через API
Согласно этому, вам нужно сформулировать ваш URL, как это -
Теперь измените свой идентификатор видео и ключ API на соответствующий идентификатор видео и api-ключ, и его ответом будет вывод в формате JSON, предоставляющий вам четыре ссылки в миниатюрах переменной сниппета (если все они доступны).
источник
Вы можете получить идентификатор видео из URL- адреса видео YouTube, используя parse_url , parse_str, а затем вставить в прогнозируемые URL-адреса для изображений. Спасибо YouTube за прогнозируемые URL
Вы можете использовать этот инструмент для создания миниатюр YouTube
https://tools.tutsplanet.com/index.php/get-youtube-video-thumbnails
источник
Простая функция PHP, которую я создал для эскиза YouTube, и типы
источник
Если вы используете общедоступный API, лучший способ сделать это - использовать
if
операторы.Если видео является общедоступным или не включено в список, вы устанавливаете миниатюру, используя метод URL. Если видео является частным, вы используете API, чтобы получить эскиз.
источник
Я думаю, что это большой ответ на миниатюру, но я хочу добавить несколько других URL, чтобы очень легко получить миниатюру YouTube. Я просто беру текст из ответа Асафа. Вот несколько URL-адресов для получения миниатюр YouTube:
Для высококачественной версии эскиза используйте URL-адрес, подобный следующему:
Существует также версия эскиза среднего качества, использующая URL, похожий на высококачественный:
Для стандартной версии эскиза используйте URL-адрес, подобный следующему:
Для версии эскиза с максимальным разрешением используйте URL-адрес, подобный следующему:
источник
источник
Вот главный ответ, оптимизированный для ручного использования. Токен идентификатора видео без разделителей позволяет выбирать двойным щелчком мыши.
Каждое видео на YouTube содержит четыре сгенерированных изображения. Они предсказуемо отформатированы следующим образом:
Первым в списке является полноразмерное изображение, а остальные - миниатюры. (Т. Е один из миниатюр изображений по умолчанию
1.jpg
,2.jpg
,3.jpg
) является:Для высококачественной версии эскиза используйте URL-адрес, подобный следующему:
Существует также версия эскиза среднего качества, использующая URL, похожий на HQ:
Для стандартной версии эскиза используйте URL-адрес, подобный следующему:
Для версии эскиза с максимальным разрешением используйте URL-адрес, подобный следующему:
Все вышеперечисленные URL также доступны по HTTP. Кроме того, немного более короткое имя хоста
i3.ytimg.com
работает вместоimg.youtube.com
приведенных выше примеров URL.Кроме того, вы можете использовать API данных YouTube (v3) для получения миниатюр изображений.
источник
Способ 1:
Вы можете найти всю информацию для видео YouTube со страницей JSON, на которой даже есть "thumbnail_url", http://www.youtube.com/oembed?format=json&url= {ваш URL-адрес видео находится здесь}
Как окончательный вид URL + тестовый код PHP
Вывод
Для получения дополнительной информации вы также можете посмотреть, как получить миниатюру видео YouTube с помощью id или https://www.youtube.com/watch?v=mXde7q59BI8 видеоурок 1
Способ 2:
Используя ссылку на изображение YouTube, https://img.youtube.com/vi/ "insert-youtube-video-id-here" /default.jpg
Способ 3:
Использование исходного кода браузера для получения миниатюр с использованием URL-ссылки на видео - перейдите к исходному коду видео и найдите thumbnailurl. Теперь вы можете использовать этот URL в свой исходный код:
Подробнее см. Также Как получить миниатюру видео YouTube с помощью id или https://www.youtube.com/watch?v=9f6E8MeM6PI видеоурок 2
источник
https://www.youtube.com/watch?v=mXde7q59BI8
иhttps://www.youtube.com/watch?v=9f6E8MeM6PI
(эффективно) битые.использование
img.youtube.com/vi/YouTubeID/ImageFormat.jpg
Здесь форматы изображения отличаются как default, hqdefault, maxresdefault.
источник
Это мое клиентское решение, не требующее ключа API.
Код:
Полезность
image.js
:Полезность
url.js
:источник
Вот простая функция, которую я создал для получения миниатюр. Это легко понять и использовать.
$ link - это ссылка на YouTube, скопированная точно так же, как в браузере, например, https://www.youtube.com/watch?v=BQ0mxQXmLsk.
источник
&t=227s
?Сохраните этот код в пустом .php файле и протестируйте его.
Спасибо.
источник
источник