---
name: signage-loop-video
description: Делает и проверяет бесшовные зацикленные видеофоны для digital signage, меню-бордов и экранов в заведениях — какое движение зацикливается незаметно (пар, дым, вода, листва, свет), а какое никогда (транспорт, идущие люди, движение из А в Б), настоящий цикл, кроссфейд и пинг-понг, клипы из ИИ-генераторов, численная проверка шва через ffmpeg, кодирование под Smart TV (H.264, yuv420p, без звука, 16:9), вес файла, сочетание видео с CSS-анимацией. Использовать, когда нужен зацикленный видеофон для ТВ, синемаграф для меню-борда или клип дёргается в точке повтора. Triggers (EN) seamless loop video, looping background video for TV, cinemagraph, menu board video background.
license: CC-BY-4.0
metadata:
  author: PRTV (prtv.pro)
  version: "1.0"
  date: "2026-09-26"
  language: ru
  related: signage-screen-design, digital-menu-board, prtv-video, prtv-html-block-animation
---

# Бесшовный зацикленный видеофон для экранов

Экран вывески крутит один клип часами. Видимый скачок каждые 10 секунд хуже статичной картинки. Цикл бесшовный, когда последний кадр совпадает с первым, а движение естественно возвращается к началу.

## 1. Три вида цикла, от лучшего к худшему

1. **Настоящий цикл** — замкнутое осмысленное движение возвращается к тому же первому кадру. Цель.
2. **Цикл с кроссфейдом** — наплыв хвоста на начало за 0,5–1 с прячет небольшое расхождение. Запасной вариант.
3. **Пинг-понг** — вперёд, затем назад. Только для симметричных эффектов (мерцание, «дыхание» света). Никогда для направленного движения: дым уходит обратно в трубу, кран возвращает груз.

Два разных клипа встык не зацикливаются — в точке стыка каждый элемент не в фазе.

## 2. Что зацикливается хорошо, а что нет

- **Хорошо**: пар над чашкой, дым, вода и рябь, облака, листва и трава на ветру, мерцание свечи и неона, боке, искры, медленные световые блики — медленное и цикличное по природе.
- **Плохо**: транспорт, идущие люди, кран или конвейер «из А в Б», налив (уровень растёт), нарезка, всё быстрое, резкое, необратимое, мелкие фигуры.

**Стратегия слоёв**: фоновое движение — в видео; направленное (летящий баннер, качающаяся вывеска, проезжающая машина) — CSS-анимацией поверх, где период и траектория точные; всё поверх статичной основы. Центр кадра, где текст и цены, держать спокойным.

## 3. Как получить клип (ИИ или камера)

- В промпте: «статичная камера, съёмка со штатива, без движения камеры, только лёгкое фоновое движение, бесшовный цикл».
- Дать первый кадр картинкой и, если генератор позволяет, ту же картинку последним кадром.
- Около 10 с — оптимум; длинные сгенерированные клипы сильнее уплывают.
- Камера: штатив, ручная экспозиция и баланс белого, без охоты автофокуса.

## 4. Шов измерять, а не смотреть на глаз

Сравнить первый и последний кадр числом:

```bash
ffmpeg -v error -i clip.mp4 -vf "select=eq(n\,0)" -frames:v 1 first.png
ffmpeg -v error -sseof -0.05 -i clip.mp4 -frames:v 1 last.png
python3 - <<'EOF'
from PIL import Image, ImageChops, ImageStat
a=Image.open('first.png').convert('L'); b=Image.open('last.png').convert('L').resize(a.size)
print('mean abs diff:', round(ImageStat.Stat(ImageChops.difference(a,b)).mean[0],2))
EOF
```

- **< 3** (шкала 0–255) — после сжатия не видно, принимаем.
- **3–8** — смотреть на ТВ.
- **> 8** — шов виден; брак или кроссфейд. Разбить кадр на сетку и сравнить ячейки, чтобы найти элемент, который не вернулся.

Кроссфейд хвоста в начало (1 с, для клипа 10 с):

```bash
ffmpeg -i clip.mp4 -filter_complex "[0:v]split[a][b];[a]trim=1,setpts=PTS-STARTPTS[main];[b]trim=0:1,setpts=PTS-STARTPTS[head];[main][head]xfade=transition=fade:duration=1:offset=8[v]" -map "[v]" -an loop.mp4   # результат на 1 с короче и без шва
```

## 5. Кодирование под ТВ

```bash
ffmpeg -i loop.mp4 -c:v libx264 -profile:v high -level 4.1 -pix_fmt yuv420p -crf 22 -preset slow -r 30 -an -movflags +faststart signage.mp4
```

- 16:9 под холст; 1280×720 хватает для мягкого фона, 1920×1080 — для деталей. 4K только если плеер точно тянет.
- **Без звуковой дорожки** — вывески играют без звука, а автозапуск со звуком большинство ТВ-браузеров блокирует.
- H.264 + yuv420p — самая надёжная пара для браузеров Smart TV и Android WebView; HEVC/AV1/VP9 — только на известных устройствах.
- Ориентир 3–8 МБ на 10 с в 1080p. Тяжёлый файл долго стартует по Wi-Fi заведения.
- Период цикла должен делить длительность слайда или совпадать с ней, чтобы переход не рвал движение.

## 6. Проверка на целевом экране

Прогнать минимум десять циклов на настоящем ТВ. Проверить: автозапуск без звука, нет чёрного кадра в точке повтора (некоторые плееры перезагружают файл — лучше родной loop плеера), текст поверх видео читается (подложка), ТВ не показывает свой интерфейс воспроизведения.

## 7. В PRTV (prtv.pro)

В конструкторе PRTV цикл ставится элементом «Видео» из встроенного видеохостинга (платная функция) или с YouTube / VK Видео / Kinescope / Vimeo; текст и виджеты — поверх. Направленное движение поверх видео — CSS-анимацией в HTML-блоке. Пошагово для ИИ-агентов: **prtv-video** и **prtv-html-block-animation** в https://github.com/prtvbiz-design/prtv-skills. Статичный фон с одной CSS-анимированной деталью (пар, блик) часто даёт 80 % эффекта бесплатно.

## Чего не делать

- Не склеивать два клипа и не называть это циклом.
- Не делать пинг-понг направленного движения.
- Не отдавать на неизвестные ТВ клип со звуком или в HEVC.
- Не принимать цикл на глаз на ноутбуке; измерить шов и посмотреть на ТВ.
- Не ставить цены на пёструю часть видео без подложки.
