Почему не воспроизводится видео на сайте и как это исправить

Если видео на сайте не запускается, зависает на загрузке или показывает чёрный экран — чаще всего дело в одной из четырёх вещей: браузер блокирует автовоспроизведение, формат видео не поддерживается плеером, встроенный 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) или запрос падает с ошибкой. Также стоит проверить сайт в режиме инкогнито без расширений — если видео заработало, дело в блокировщике рекламы или другом плагине браузера.

Если ни один из способов не помог и видео не работает именно у вас — попробуйте открыть страницу в другом браузере или с мобильного устройства, чтобы исключить локальные настройки конкретного устройства.

Понравилась статья? Поделиться с друзьями: