Вставка видео через ссылку Youtube, mp4, avi, webm, flv и т.д.(Готовое решение)

Поддержка видео для таких сайтов как:
  • youtube.com
  • vimeo.com
  • rutube.ru
  • coub.com
  • ok.ru
  • vk.com
  • dailymotion.com

Для: LS 1.0.3

В /engine/modules/text/Text.class.php

Меняем функцию public function VideoParser($sText)

На это:
public function VideoParser($sText) {
		
		// Размеры и атрибуты окна вставленного видео.
        $iWidth = 620;
        $iHeight = 360;
        $iAlign = "center";
        $sIframeAttr = 'frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen="allowfullscreen"';
		/**
         * youtube.com fixed
         */
        $sText = preg_replace(
        '/<video>(?:http(?:s|):|)(?:\/\/|)(?:www\.|m.|)youtu(?:\.|)be(?:-nocookie|)(?:\.com|)\/(?:e(?:mbed|)\/|v\/|watch\?(?:.+&|)v=|)([a-zA-Z0-9_\-]+?)(&.+)?<\/video>/Ui',
        '<div align="'.$iAlign.'"><iframe width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.' src="//www.youtube.com/embed/$1?modestbranding=1&" frameborder="0" allowfullscreen ></iframe></div>',
        $sText
        );
		/**
         * vimeo.com fixed
         */
        $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)vimeo\.com\/(\d+).*<\/video>/i',
            '<div align="'.$iAlign.'"><iframe src="//player.vimeo.com/video/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>',
            $sText
        );
		/**
         * rutube.ru fixed
         */
        $sText = preg_replace(
            '/<video>http(?:s|):\/\/(?:www\.|)rutube\.ru\/tracks\/(\d+)\.html.*<\/video>/Ui',
            '<div align="'.$iAlign.'"><iframe src="//rutube.ru/play/embed/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>',
            $sText
        );
        $sText = preg_replace(
            '/<video>http(?:s|):\/\/(?:www\.|)rutube\.ru\/video\/(\w+)\/?<\/video>/Ui',
            '<div align="'.$iAlign.'"><iframe src="//rutube.ru/play/embed/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>',
            $sText
        );
		/**
	    * coub.com fixed
	    */
	    $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)coub\.com\/view\/(\w+).*<\/video>/i', 
		    '<div align="'.$iAlign.'"><iframe src="//coub.com/embed/$1?muted=false&autostart=false&originalSize=false&hideTopBar=false&noSiteButtons=false&startWithHD=false" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
		/**
	    * ok.ru fixed
	    */
	    $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)ok\.ru\/video\/(\w+).*<\/video>/i', 
		    '<div align="'.$iAlign.'"><iframe src="//ok.ru/videoembed/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
		/**
	    * vk.com HASH not working, embeded link only
	    */
		$sText = preg_replace(
		    '/<video>(https:\/\/(?:www\.|)vk\.com\/video_ext\.php.*)<\/video>/i', 
			'<div align="'.$iAlign.'"><iframe src="$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
            /**
	    * dailymotion.com fixed
	    */
	    $sText = preg_replace(
		    '/<video>http(?:s|):\/\/(?:www\.|)dai\.ly\/(\w+).*<\/video>/i', 
		    '
<div align="'.$iAlign.'"><iframe src="//dailymotion.com/embed/video/$1" width="'.$iWidth.'" height="'.$iHeight.'" '.$sIframeAttr.'></iframe></div>', 
		$sText
		);
		return $sText;
	}

Конечно же в /config/jevix.php добавляем нехватающие сайты.

Свои параметры сюда:
// Размеры и атрибуты окна вставленного видео.
        $iWidth = 620;
        $iHeight = 360;
        $iAlign = "center";
        $sIframeAttr = 'frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen="allowfullscreen"';


Готово!

Не отображается видео с Ютуба

Здравствуйте.
Подскажите пожалуйста, вставляю код в текстовый пост вида <vidео>http://www.youtube.com/embed/xxxxx</vidео> но при сохранении поста просто белое поле вместо видео-ролика. В чем может быть проблема? Домен youtube.com разрешен в файле jevix во всех трех строках кода, текстовый редактор стоит встроенный, не TinyMCE (считаю его более удобным).
Заранее благодарю откликнувшихся.

Ползунки при вставке видео в топик

Очень интересует решение проблемы появления ползунков у нестандартных плееров при вставке в пост. Подгонкой размеров кода плеера ничего не выходит. Очень странная тема.
Вот пример такого поста с видео.
insidebmx.ru/video/2015/06/09/tayler-fernengel-v-silverdrome-treyler.html

Адаптивные видео в шаблонах с Bootstrap (Решено)

В Bootstrap-е есть замечательная возможность сделать встраиваемые видео адаптивными. Для этого нужно для iframe (или object) видео присвоить класс embed-responsive-item, а затем обернуть в блок с классом embed-responsive embed-responsive-16by9 (source).
<div class="embed-responsive embed-responsive-16by9">
    <iframe class="embed-responsive-item" src="..."></iframe>
</div>

Естественно, это будет работать только на bootstrap-based скинах. Благо, таковых много, в основном благодаря vOFFka , за что ему огромное спасибо!

Задумался, как реализовать это в Livestreet:
Все работает, если подкорректировать замену тега video, добавив указанную выше конструкцию в Text.class.php.

Однако подобные изменения коснутся любого скина. У нас же фича скин-специфичная.

Вопрос:
Как реализовать подобную обертку, чтобы она работала только для определенного скина? М.б. js?

UPD: Решение при помощи js:
В файл template.js в шаблоне добавляем две строки:
$("iframe").addClass('embed-responsive-item');
$("iframe").wrap('<div class="embed-responsive embed-responsive-16by9"/>');

Text.class.php для iframe от redbull.com/nz

Помогите пожалуйста настроить преобразование ссылки на redbull.com/nz в iframe видео при помощи тега video.
к примеру урл видео имеет слишком сложный эмбед, чтобы его можно было как-то настроить redbull.com/nz/en/bike/stories/1331717062997/tip-to-tail-episode-three

Bизулный редактор не поддерживает видео

Через конфиг включил tinymce. Визуальный редактор работает. Но когда вставливаю видео через ютуб, видео не показвает. Даже пробывал старый код вставки. Опят не видно видео.
И линк ютуб видео втавил как
<video>linkvideo</video>
. Опят на посте не видно видео.

Интерено то что когда был стандартный редактор лаивтрита Markitup я добавил 2 видео поста. И они показвает видеоплейер. При редактирование етих постов я вижу код видео так.
<video>ссылка видео</video>


Как ето исправить?

п.с: И смотрел на сайт tinymce на 3й версие говарить что поддерживает html5 аудио и видео. Вставил также
<audio>сцылка видео</audio>
для тестирование. Нет никаких резултата.

Плагин для видеогалереи


Приветствую.
Ранее мы написали такую полезную штуку, как LSGallery. Наша галерея позволяет создавать альбомы, перемещать фото из одного в другой и много чего еще.
Но недавно появилась идея сделать те же галереи, только для Видео.

Читать дальше →

youtu.be

Код обработки новых share-ссылок с youtube.com

/engine/modules/text/Text.class.php
public function VideoParser($sText) {
/**
 * youtu.be
 */
$sText = preg_replace(
        '/<video>http:\/\/(?:www\.|)youtu.be\/([a-zA-Z0-9_\-]+)(&.+)?<\/video>/Ui', 
        '<iframe width="560" height="315" src="http://www.youtube.com/embed/$1?rel=0" frameborder="0" allowfullscreen></iframe>', 
        $sText);

Превью для топика с видео JWPlayer

Здравствуйте,

Добавил видео плеер на сайт.
Примерная реализация:
1. Новое поле ссылки на видео хостинг или файл при написании поста
2. Сохраняем в базу ссылку и берем от туда же при выводе
Код в шаблоне:
Читать дальше →

Text.class.php для iframe от coub.com (решено)

Помогите пожалуйста настроить преобразование ссылки на coube.com в iframe видео при помощи тега video.

Вот что вышло у меня:
$sText = preg_replace('/<video>http:\/\/(?:www\.|)coub\.com\/view\/(\d+).*<\/video>/i', '<iframe src="http://coub.com/embed/$1?muted=false&autostart=false&originalSize=false&hideTopBar=false&noSiteButtons=false&startWithHD=false" allowfullscreen="true" frameborder="0" width="640" height="480"></iframe>', $sText);

Но не работает…

Решение

Правильный код:
/**
		 * coub.com
		 */
		$sText = preg_replace('/<video>http:\/\/(?:www\.|)coub\.com\/view\/(\w+).*<\/video>/i', '<iframe src="http://coub.com/embed/$1?muted=false&autostart=false&originalSize=false&hideTopBar=false&noSiteButtons=false&startWithHD=false" allowfullscreen="true" frameborder="0" width="640" height="480"></iframe>', $sText);