Интеграция с KVS
Откройте Блок "Video View" в админке по след пути: UI-сайта -> Страницы -> View Video
Найдите html разметку
<div id="player-wrap">
<div id="kt_player"></div>
</div>
Ниже будет js скрипты закоментируйте <!-- code -->
или удалите из шаблона.
- 1 Добавьте php код формате smarty для формирование ссылки на видео
{{php}}
// start helpers
if (!class_exists('WMPlayerHelper')) {
class WMPlayerHelper
{
public static function encodeString($string, $key)
{
$result = self::rc4($string, $key);
return "#" . base64_encode($result);
}
public static function rc4($data, $pwd)
{
$key[] = '';
$box[] = '';
$cipher = '';
$pwd_length = strlen($pwd);
$data_length = strlen($data);
for ($i = 0; $i < 256; $i++) {
$key[$i] = ord($pwd[$i % $pwd_length]);
$box[$i] = $i;
}
for ($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $key[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}
for ($a = $j = $i = 0; $i < $data_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$k = $box[(($box[$a] + $box[$j]) % 256)];
$cipher .= chr(ord($data[$i]) ^ $k);
}
return $cipher;
}
public static function normalizeQualityNameByVideoSize($width, $height)
{
$width = (int)($width);
$height = (int)($height);
$name = $height;
if ($height < 200) {
$name = '160';
} else if ($height >= 200 && $height <= 300) {
$name = '240';
} else if ($height > 300 && $height <= 400) {
$name = '360';
} else if ($height > 400 && $height <= 500) {
$name = '480';
} else if ($height > 500 && $height <= 600) {
$name = '540';
} else if ($height > 600 && $height <= 900) {
$name = '720';
} else if ($height > 900 && $height <= 1200) {
$name = '1080';
} else if ($height > 1200 && $height <= 1800) {
$name = '1440';
} else if ($height > 1800) {
$name = '2160';
}
if ($width === 426 && $height <= 240) {
$name = '240';
} else if ($width === 640 && $height <= 360) {
$name = '360';
} else if ($width === 854 && $height <= 480) {
$name = '480';
} else if ($width === 1280 && $height <= 720) {
$name = '720';
} else if ($width === 1920 && $height <= 1080) {
$name = '1080';
} else if ($width === 2560 && $height <= 1440) {
$name = '1440';
} else if ($width === 3840 && $height <= 2160) {
$name = '2160';
}
return $name . "p";
}
}
}
// end helpers
// config
$showQualityName = true; // Показывать выбор качества для несколько форматов
$encodeUrl = false; // Шифровать URL от копирования через ключ
$encodeKey = ""; // Ключ берется из настроек редактора плеера
// get video url
$templateData = $this->get_template_vars('data');
$formats = array_key_exists('formats', $templateData) ? $templateData['formats'] : [];
$urls = array();
$showQuality = count($formats) > 0;
foreach ($formats as $formatType => $format) {
$fileUrl = trim($format['file_url'], "/");
$qualityName = $showQualityName && count($format['dimensions'])
? "[" . WMPlayerHelper::normalizeQualityNameByVideoSize($format['dimensions'][0], $format['dimensions'][1]) . "]"
: "";
$urls[] = $qualityName . $fileUrl;
}
$url = implode($urls, ',');
if ($encodeUrl) {
$url = WMPlayerHelper::encodeString($url);
}
// bind var smarty
$this->assign('player_video_url', $url);
{{/php}}
- 2 Добавьте код подключение плеера
<script type="text/javascript" src="https://wmplayer.biz/cloud-players/0659dc18-66fd-4298-afaf-04ae645714bd.js"></script>
- 3 Добавьте инициализацию плеера
<script type="text/javascript">
(function(){
var wmplayer = new WMPlayer({
id: "#kt_player",
file: "{{$player_video_url}}",
poster: "{{$flashvars.preview_url}}",
thumb: "{{$flashvars.timeline_screens_url}}",
thumbInterval: "{{$flashvars.timeline_screens_interval}}",
thumbCount: "{{$flashvars.timeline_screens_count}}",
});
wmplayer.ready();
})();
</script>