S6 Studio

 

Как получить картинку видео с 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

Самые популярные

К прочтению обязательно