Перейти к основному содержимому

Видео

Подвкладка включается настройкой prism.video_enable.

По ссылке, без ключей API​

«Добавить видео» → вставьте ссылку. Название, обложка и длительность подтягиваются через oEmbed — регистрироваться у провайдера и заводить ключи не нужно.

ПровайдерЧто понимаетПлеер
YouTubewatch?v=, youtu.be/, /shorts/, /embed/, /live/youtube-nocookie.com
Vimeovimeo.com/{id}, player.vimeo.com/video/{id}player.vimeo.com с dnt=1
Dailymotiondailymotion.com/video/{id}, dai.ly/{id}geo.dailymotion.com
Rutuberutube.ru/video/{id}/, /play/embed/{id}rutube.ru/play/embed

Обложка скачивается в prism/{resource_id}/posters/ и становится файлом элемента. Поэтому для видео работают те же превью, srcset и точка фокуса, что и для изображений. Не удалось скачать — элемент создастся без обложки, панель предложит загрузить свою.

VK Video и Kinescope требуют ключей API и в ядро не входят.

Локальные файлы​

prism.video_extensions — по умолчанию mp4, webm, mov, m4v, лимит prism.max_file_mb.

Если на сервере есть ffmpeg, Prism определит длительность и размеры и возьмёт кадр на секунде prism.video_poster_second как обложку. Без ffmpeg обложку загружают вручную в диалоге элемента.

Обложка скачивается по адресу из ответа провайдера

Этот адрес приходит снаружи, поэтому Prism сначала проверяет, куда он ведёт: имя хоста резолвится, и адреса во внутренней сети — loopback, приватные диапазоны, link-local вроде 169.254.169.254 — отклоняются. Переадресации Prism проходит сам, проверяя каждый переход. Скачанная обложка дальше идёт тем же путём, что и обычная загрузка: пересохраняется сервером, а не кладётся на диск как пришла.

На сайте​

[[!prismVideos? &preset=`card` &cache=`1`]]

Штатный чанк prism.video — ленивый плеер: до клика на странице только обложка, кнопка и длительность. Ни одного стороннего запроса и ни одной cookie, пока пользователь не нажал — это аргумент и для скорости, и для 152-ФЗ с GDPR. Клик подставляет iframe с автозапуском.

Локальные ролики выводятся тегом <video controls preload="none"> с постером.