Media Element Error Format Error — это сообщение HTML5-плеера (чаще всего на базе Video.js), которое означает: браузер получил медиафайл, но не смог его декодировать, потому что формат контейнера или кодека не поддерживается. Технически это соответствует коду MEDIA_ERR_SRC_NOT_SUPPORTED (код 4) у элемента <video>. Ошибка появляется и на сайтах с онлайн-видео, и при локальном воспроизведении файлов.
Причина почти всегда одна из двух: либо сам файл закодирован неподдерживаемым кодеком (например, HEVC/H.265 в браузере без его поддержки), либо сервер отдаёт файл с неправильным типом содержимого, и браузер отказывается его обрабатывать. Ниже разберём, как определить конкретную причину и что делать в каждом случае.
Что означает ошибка Format Error
Когда вы открываете страницу с видео, браузер загружает файл и проверяет, умеет ли он его декодировать. Если контейнер (MP4, WebM, MKV) или кодек внутри него (H.264, H.265, VP9, AV1, AC-3) не поддерживается текущим браузером или операционной системой, плеер выводит сообщение «The media could not be loaded, either because the server or network failed, or because the format is not supported» — именно его пользователи видят как media element error format error.
Важно понимать: это не сбой самого плеера и не всегда проблема сайта. Браузер честно сообщает, что у него нет нужного декодера. Например, Safari исторически не играл WebM, а многие браузеры на Windows без установленных компонентов не воспроизводят видео в HEVC.
Основные причины появления ошибки
Прежде чем что-то менять, полезно понять, какой сценарий у вас. Возможные причины:
- 🎞️ Видео закодировано кодеком, который браузер не поддерживает (например, H.265/HEVC, AV1 на старой системе, аудио в AC-3 или DTS).
- 📦 Файл в контейнере, который браузер не читает — чаще всего MKV или AVI, загруженные на сайт как есть.
- 🌐 Сервер отдаёт файл с неверным заголовком
Content-Type(например,text/plainилиapplication/octet-streamвместоvideo/mp4). - 🔒 Файл повреждён при загрузке или не докачался — браузер не находит корректные метаданные в начале файла.
- 🧩 Конфликт расширений браузера, устаревший кэш или отключённая аппаратная поддержка мультимедиа.
Быстрая диагностика: откройте то же видео в другом браузере. Если в Chrome ошибка есть, а в Firefox видео играет — проблема в поддержке кодека конкретным браузером. Если не играет нигде — вероятнее всего, дело в самом файле или в том, как его отдаёт сервер.
Как исправить ошибку на стороне пользователя
Если вы просто смотрите видео на чужом сайте, у вас нет доступа к файлу, поэтому набор действий ограничен, но часто помогает. Начните с простых шагов.
- 🔄 Обновите страницу с очисткой кэша:
Ctrl+F5(Windows) илиCmd+Shift+R(macOS). - 🧹 Очистите кэш и куки сайта через настройки браузера — повреждённый кэш иногда ломает загрузку медиа.
- 🧪 Откройте сайт в режиме инкогнито: если там видео работает, виновато одно из расширений — отключайте их по очереди.
- 🌍 Попробуйте другой браузер: Chrome, Firefox и Edge поддерживают разный набор кодеков.
- ⬆️ Обновите браузер до последней версии — поддержка новых кодеков добавляется с обновлениями.
☑️ Быстрая проверка при Format Error
Если видео лежит у вас локально и не открывается в браузере, решение проще: конвертируйте его в MP4 с кодеком H.264 и аудио AAC — эту комбинацию воспроизводят практически все браузеры и устройства. Для перекодирования подойдёт бесплатный HandBrake или консольный FFmpeg.
Решение для владельцев сайтов и разработчиков
Если ошибка появляется у посетителей вашего сайта, проверять нужно серверную часть. Самая частая причина — неправильный MIME-тип. Откройте инструменты разработчика (клавиша F12), вкладку Network, перезагрузите страницу и посмотрите ответ сервера для видеофайла: в заголовке Content-Type должно быть video/mp4 для MP4 или video/webm для WebM.
Если тип неверный, его нужно исправить в конфигурации сервера. Для Nginx проверьте наличие строки подключения файла MIME-типов в конфигурации:
include /etc/nginx/mime.types;
Для Apache соответствие задаётся директивой AddType video/mp4 .mp4 в конфигурации или файле .htaccess. Точный синтаксис зависит от версии сервера — сверяйтесь с официальной документацией вашего веб-сервера.
⚠️ Внимание: правки конфигурации веб-сервера применяйте осторожно и сначала на тестовой копии. Ошибка в конфиге Nginx или Apache может остановить работу всего сайта, а не только видео.
Вторая типичная серверная причина — структура самого MP4-файла. Для потокового воспроизведения блок метаданных moov atom должен находиться в начале файла. Если он в конце, браузеру приходится скачивать файл целиком, а некоторые плееры выдают ошибку формата. «Переложить» метаданные в начало можно через FFmpeg:
ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4
Эта команда не перекодирует видео, а только меняет расположение служебных данных, поэтому выполняется быстро и без потери качества.
Поддерживаемые форматы: краткая сводка
Поддержка кодеков различается между браузерами и зависит от версии и платформы. Ориентировочная картина для современных версий:
| Формат / кодек | Chrome | Firefox | Safari |
|---|---|---|---|
| MP4 (H.264 + AAC) | Да | Да | Да |
| WebM (VP8/VP9) | Да | Да | Частично |
| HEVC (H.265) | Зависит от ОС | Ограниченно | Да |
| AV1 | Да | Да | На новых версиях |
| MKV, AVI | Нет | Нет | Нет |
Из таблицы видно практическое правило: если хотите, чтобы видео играло у всех, отдавайте MP4 с H.264 и AAC. Остальные форматы имеет смысл добавлять как дополнительные источники через несколько тегов <source> внутри <video> — браузер сам выберет тот, который умеет воспроизводить.
Как проверить кодек видеофайла
Установите бесплатную утилиту MediaInfo или откройте файл в плеере VLC (меню «Инструменты» → «Информация о кодеке»). Там будет указан контейнер, видеокодек и аудиокодек. Если видите HEVC, AC-3 или DTS — высока вероятность, что именно они вызывают Format Error в браузере.
Ошибка в приложениях и на Smart TV
Аналогичная ошибка встречается и вне браузера: в приложениях на Android, на телевизорах со Smart TV, в медиаплеерах. Логика та же — устройство не имеет декодера для конкретного формата. На Android помогает установка плеера с собственным набором кодеков, например VLC или MX Player, которые декодируют большинство форматов программно.
На Smart TV ситуация сложнее: набор поддерживаемых форматов зашит производителем и зависит от модели и года выпуска. Если телевизор не воспроизводит файл с флешки, сверьтесь со списком поддерживаемых форматов в официальной инструкции вашей модели и при необходимости перекодируйте видео в поддерживаемый формат.
⚠️ Внимание: не устанавливайте «пакеты кодеков» с непроверенных сайтов — под видом кодеков часто распространяется вредоносное ПО. Используйте только официальные источники или плееры со встроенными декодерами.
Частые вопросы
Почему видео играет на компьютере, но выдаёт Format Error на телефоне?
На мобильных устройствах набор аппаратных декодеров уже, чем на ПК. Чаще всего дело в кодеке HEVC или нестандартном аудио. Перекодируйте файл в MP4 (H.264 + AAC) — эта связка работает практически везде.
Ошибка появляется только в одном браузере. Что делать?
Это указывает на отсутствие поддержки кодека именно в этом браузере или на его локальный сбой. Обновите браузер, очистите кэш и проверьте в режиме инкогнито. Если не помогло — используйте другой браузер для просмотра.
Можно ли исправить Format Error без перекодирования файла?
Зависит от причины. Если проблема в MIME-типе на сервере или в расположении moov atom — да, исправляется настройкой сервера или командой faststart без перекодирования. Если кодек не поддерживается — без перекодирования не обойтись.
Видео в формате MKV не открывается в браузере — это Format Error?
Да, это типичный случай. Браузеры не поддерживают контейнер MKV для воспроизведения через тег video. Решение — конвертировать файл в MP4 или WebM, либо смотреть его в локальном плеере, например VLC.
Что означает код MEDIA_ERR_SRC_NOT_SUPPORTED?
Это внутренний код ошибки HTML5-видеоэлемента (номер 4), который и выводится как Format Error. Он означает, что источник медиа непригоден: формат не поддерживается, файл повреждён или сервер вернул некорректный ответ.