Как получить картинку видео с Youtube
Нам лениво Howto Youtube • Евгений Задорин • 17 апреля 2013 • Без комментариев
Стандартные preview-картинки хранятся на серверах Youtube, и доступ к ним можно получить, зная лишь код видео. Сразу пример:
https://www.youtube.com/watch?v=udWoR6ATR1o
http://img.youtube.com/vi/udWoR6ATR1o/0.jpg
http://img.youtube.com/vi/udWoR6ATR1o/1.jpg
http://img.youtube.com/vi/udWoR6ATR1o/2.jpg
http://img.youtube.com/vi/udWoR6ATR1o/3.jpg
Внимательно смотрим повторяющуюся часть. Это и есть идентификатор видеоролика. Вытащим его, и preview-картинки у нас в кармане.
Типичная задача состоит в том, чтобы получить идентификатор видео из кода для удаленной вставки. Стоит помнить, что есть два варианта кода — новый (через IFrame), и старый (object).
IFrame-код:
Object-код:
Разумеется, хочется, чтобы поддерживались оба способа. Так что беремся писать довольно универсальную функцию.
function getYoutubeParams($video) { // лихими взмахами explode вырезаем содержимое атрибута src // можно сделать еще и на регулярных выражениях $temp = explode('src="', $video); $temp = $temp[1]; $temp = explode('"', $temp); $src = $temp[0]; // затем разбиваем url $arSrc = parse_url($src); // и избавляемся от GET-параметров $parsedSrc = $arSrc['scheme'] . $arSrc['host'] . $arSrc['path']; // разбиваем url через слэш $temp = explode('/', $parsedSrc); // и последним элементом полученного массива у нас оказывается ИД видео $code = end($temp); // возвращаем удобный для дальнейшей работы массив return array( 'SRC' => $src, 'CODE' => $code ); }
Самое каночическое применение этой функции — воспроизведение видео в модальном окне по клику на превью.
Выглядеть будет примерно так:
$video = ''; $arVid = getYoutubeParams($video); ?>![]()
Легко и просто. Удачных экспериментов.
<< К блогу Добавить комментарий
comments powered by Disqus