Если видео на сайте не запускается, зависает на загрузке или показывает чёрный экран — чаще всего дело в одной из четырёх вещей: браузер блокирует автовоспроизведение, формат видео не поддерживается плеером, встроенный iframe не может достучаться до внешнего сервиса, либо подключение идёт по небезопасному протоколу на HTTPS-странице. Разберём каждый случай отдельно.
Блокировка автовоспроизведения браузером
Современные браузеры (Chrome, Safari, Firefox) по умолчанию запрещают автозапуск видео со звуком — это защита от навязчивой рекламы. Если в коде страницы стоит атрибут autoplay без muted, ролик просто не стартует. Решение: добавить атрибут muted тегу <video> или убрать автозапуск и оставить кнопку play — пользователь запустит воспроизведение сам, и это сработает всегда.
Проблема с форматом и кодеком
Тег <video> поддерживает не любой файл. Safari плохо работает с WebM, старые версии браузеров — с H.265. Универсальный вариант — MP4 с кодеком H.264 и звуком AAC, он воспроизводится практически везде. Если файл в другом формате, добавьте несколько источников через несколько тегов <source> внутри <video> — браузер выберет тот, который умеет проигрывать.
Встроенное видео (YouTube, VK, RuTube) не грузится
Если видео вставлено через iframe стороннего сервиса и не показывается, причины обычно такие:
- сам сервис-источник временно недоступен или ролик удалён/скрыт автором;
- адблокер или расширение браузера блокирует iframe с чужого домена;
- в заголовках сайта задан жёсткий Content-Security-Policy, который запрещает загрузку фреймов с внешних доменов — тогда нужно добавить домен видеосервиса в директиву frame-src;
- ссылка на видео вставлена как обычная страница просмотра, а не как embed-ссылка — для вставки нужен именно embed-код.
Mixed content: сайт на HTTPS, видео на HTTP
Если страница открыта по HTTPS, а видеофайл или плеер подключается по обычному HTTP, браузер молча блокирует такой ресурс как небезопасный. Проверить это просто: открыть консоль разработчика (F12), вкладку Console — там будет ошибка вида «Mixed Content». Исправляется заменой ссылки на видео на протокол HTTPS.
Как быстро проверить причину самому
Откройте страницу с видео, нажмите F12 и посмотрите вкладку Console на ошибки, а вкладку Network — грузится ли сам видеофайл (статус 200) или запрос падает с ошибкой. Также стоит проверить сайт в режиме инкогнито без расширений — если видео заработало, дело в блокировщике рекламы или другом плагине браузера.
Если ни один из способов не помог и видео не работает именно у вас — попробуйте открыть страницу в другом браузере или с мобильного устройства, чтобы исключить локальные настройки конкретного устройства.