Добавление видео из Youtube в email-рассылку

    Видео ворвалось в жизнь интернета внезапно и, не сказать, чтобы так давно. Однако, уже стало неотъемлемой частью жизни любого из нас. Видео стало инструментом бизнеса в продвижении товаров и услуг. На Youtube можно найти инструкции к товарам, промо-ролики, записи вебинаров итд. Размещение видео в email-рассылках — это очень толковый маркетинговый ход. По нашей статистике это на 17% повышает долю кликов в вашей рассылке (по сравнению с аналогичными без видео).

    Но как это сделать в своем html-макете рассылки?

    Вставлять видео из Youtube на веб-страницах просто — достаточно скопировать html-код с iframe и разместить его у себя. А вот с email-рассылкой такой финт не пройдет. И, хотя, email-рассылка тоже содержит html-макет вставить в него iframe нельзя по соображениям безопасности. Открываем Технические и административные требования для отправки электронных сообщений на Mail.Ru. Мы их используем, как основные на рынке рунета (в нашем трафике доля Mail составляет более 70%).

    … при использовании HTML в ваших сообщениях, убедитесь что соблюдена валидная структура HTML-документа. Запрещено использовать потенциально опасные объекты, такие как ActiveX, JavaScript, VBScript, Java-апплеты, Frames и IFrames, подключаемые с внешних сайтов CSS, Meta Refresh и т.п. (использование таких элементов может привести к блокировке ваших рассылок);


    К тому же, такие iframe зачастую будут просто некорректно отображаться почтовыми клиентами, программами или веб-сервисами. И, все-таки, как вставить видео в письмо? Сервис email-маркетинга Pechkin-mail.ru, как всегда, делает всю основную работу за вас.


    Единственный эффективный способ — это размещение картинки с активной ссылкой на видео в виде скриншота вашего видео с кнопкой Play поверх него. Например, это может выглядеть вот так:



    Действительно, просто и эффективно. Единственный минус — снимать вручную такой скриншот муторно и занимает некоторое время. Печкин предложил функцию для добавления видео в 2 клика: вы просто нажимаете на блок “Видео”, вставляете ссылку на него и нажимаете “Вставить”. После чего в создаваемом вами макете появится скриншот вашего видео с уже наложенной кнопкой Play и ссылкой на видео в Youtube.

    Как это реализовано у нас?

    Печкин всегда старается помочь разработчикам, если они сталкиваются с такими же вопросами, и поэтому сейчас расскажем об алгоритме:
    1. Парсим ссылку из youtube, проверяя ее валидность, чтобы вытащить ID видео.
    2. Берем скриншот из youtube в среднем качестве. Это может сделать элементарно по ссылке: img.youtube.com/vi/%YOUTUBE_ID%/hqdefault.jpg
    3. Накладываем сверху изображение “apple-подобной” кнопки Play с помощью PHP-функции.
    4. Выкладываем в облачное хранилище Selectel, получаем ссылку на изображение, вставляем ее в рассылку.
    5. Радуем пользователя.


    Вот пример функции на PHP, которая используется у нас:

    /**
    * Формируем скриншот из youtube с наложенной кнопкой play
    *
    * @param $youtube_id
      Id of youtube-video
      url, если это не youtube, а rutube или vimeo
    *
    * @return
    *   Url скриншота (480х360px) на selectel или локальной машине, если что-то произошло при загрузке
    *	OR FALSE if error
    */
    function youtube_thumbnail_with_play($youtube_id,$url = '') {
    	
    	//А если у нас не youtube?
    	if ($youtube_id === '0'){
    		if(stripos($url,'rutube.ru') !== FALSE){
    			preg_match("/http:\/\/rutube.ru\/video\/(\w+)\//",$url,$matches);
    			$xml_info = simplexml_load_file("http://rutube.ru/cgi-bin/xmlapi.cgi?rt_mode=movie&rt_movie_id=".$matches[1]."&utf=1");
    			if ($xml_info) {
    				$thumbnail_url = (string) $xml_info->thumbnail_url;
    			}
    		}elseif(stripos($url,'vimeo.com') !== FALSE){
    			if ((stripos($url,'https') !== FALSE)) {$vimeo_id = substr($url,18);} else {$vimeo_id = substr($url,17);}
    			$xml_info = simplexml_load_file("http://vimeo.com/api/v2/video/$vimeo_id.xml");
    			if ($xml_info) {
    				$thumbnail_url = (string) $xml_info->video->thumbnail_large;
    			}
    		}else{
    			return FALSE;
    		}	
    	}else{
    		$thumbnail_url = 'http://img.youtube.com/vi/'.$youtube_id.'/hqdefault.jpg';
    	}
    	
    
    	// Make sure the imagecopymerge() function exists (in GD image library).
    	if (!function_exists('imagecopymerge')) {
    		return FALSE;
    	}
    	
    	$image = imagecreatefromjpeg($thumbnail_url);
    	if (!$image) {return FALSE;}
    	$image_size = getimagesize($thumbnail_url);
    	
    	// Calculate the proper coordinates for placing the play button in the middle.
    	$destination_x = ($image_size[0] / 2) - 35;
    	$destination_y = ($image_size[1] / 2) - 35;
    	
    	// Load the play button image.
    	$play_button_image = imagecreatefrompng($root.'/images/play_button.png');
    	imagealphablending($play_button_image, TRUE); // Preserve transparency.
    	imagealphablending($image, TRUE); // Preserve transparency.
    	
    	// Use imagecopy() to place the play button over the image.
    	imagecopy(
    		$image, // Destination image.
    		$play_button_image, // Source image.
    		$destination_x, // Destination x coordinate.
    		$destination_y, // Destination y coordinate.
    		0, // Source x coordinate.
    		0, // Source y coordinate.
    		70, // Source width.
    		70 // Source height.
    	);
    	if (is_dir($root.'/html/other/')===false){
    		mkdir($root.'/html/other/');
    	}
    	$rand_path = $root.'/html/other/'.md5(time().rand(0,100000)).'.png';
    	imagepng($image,$rand_path);
    	
    	$selectel_str = $wizard->cloud_upload($rand_path); //внутренняя функция загрузки файлов в облачное хранилище selectel
    	if (strpos($selectel_str, 'http://static1.pechkin-mail.ru/') !== false) {unlink($rand_path);}
    	
    	imagedestroy($image);
    	imagedestroy($play_button_image);
    	
    	return $selectel_str;
    }


    Вот такой вот небольшой, но очень удобный функционал получился. Пользователи Печкина теперь без проблем загружают видео из Youtube, Vimeo и Rutube в свои email-рассылки, повышают эффективность своих продаж, а мы получаем от них лучи добра и радости от пользования сервисом.
    Pechkin.com
    Новый инструмент для e-mail маркетинга
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 16

      –2
      дожили, уже видео в спам вставляют. скоро, наверное, и живых людей вставлять начнут.
        0
        Не видео, а картинку-скриншот с наложенной поверх кнопкой а-ля Play. А при клике пользователя кинет на видеохостинг.
          0
          Почему все до сих пор считают, что любая массовая email-рассылка является спамом?
            0
            потому что в тексте есть слова «маркетинг» и «увеличение продаж».
              0
              А Вы ни на какие рассылки не подписаны? Или, например, ежемесячные банковские выписки по почте не получаете? Они же тоже носят массовый характер, хоть и персонализированы для каждого.
                0
                например, не подписан. а что, банковские выписки нынче способствуют увеличению продаж и рассылаются отделом маркетинга?
                  0
                  Так вопрос стоял такой: «Почему все до сих пор считают, что любая массовая email-рассылка является спамом?»

                  А метод описанный в статье не только для рассылки спама может пригодиться, но и для нормальных (например, новостных и информационных) рассылок.
                    0
                    я не знаю, откуда возник вопрос, что я посчитал любую массовую рассылку спамом. я исходил из фактов, перечисленных в посте.
                      0
                      :) квиты :)
                0
                Ну, например, email-маркетинг для многих топовых российских компаний по продаже одежды поднимает продажи на 40%. При этом никакого спама не рассылается — все эти люди дают согласие на получение таких писем. Так что не вижу вообще смысла комментария о спаме в данной статье
                  +1
                  Все эти люди забыли поставить галочку «не хочу получать рассылку» на третей странице какой-нибудь анкеты? :)
                    0
                    Неправильно! Все эти люди поставили галочку о том, что они согласны со всем, что написано где-то внизу экрана маленькими буквами) А по факту — осуществление покупки в интернет-магазине часто даже невозможно при отсутствии подтверждения данной галочки. Зато законом предусмотрена обязательная отписка «в один клик». Так что если пришло письмо — по идее должна быть возможность мгновенно отписаться от рассылки. Однако, чаще всего этого не происходит
            +1
            Вот если бы скрипт позволял из видео сделать на лету небольшую gif-анимашку и вставить в письмо. То это было бы прикольней. То есть в параметрах функции еще надо было бы указывать тайминг начала и конца генерации анимации. А далее поверх накладывать на каждый кадр кнопку Play.
              0
              Gif, кстати, достаточно новая «тема» именно в почтовых рассылках. Думаю что такое возможно реализовать даже в виде отдельного сервиса.
              0
              Отличная функция! Но нету возможности вставить ссылку на стороннюю страницу, когда видео допустим заэмбедино на странице другого сайта, либо же самому указывать страницу куда будет ссылаться картинка.
                0
                Хм, очень разумно. Спасибо, мы добавили в таск-лист!

              Only users with full accounts can post comments. Log in, please.