1

У нас есть видео .mp4, размещенное на веб-сайте. Я могу воспроизвести видео с рабочей версии веб-сайта, но не из тестовой версии сайта.

На производственном веб-сайте MIME-тип .mp4 указан как video/mpeg , что, по-видимому, неверно - см. Здесь. В то время как тестовый сервер имеет правильно установленный тип MIME - video/mp4 - но медиаплеер говорит, что не может воспроизвести файл. (И изменение типа MIME в соответствии с рабочим веб-сайтом не решает проблему.)
Что может показаться, что тип MIME не является проблемой.

Согласно этой статье базы знаний Майкрософт, формат файла .mp4 не поддерживается, даже в Media Player 12 ..., если вы не установите кодек. Но, как уже отмечалось, воспроизведение работает с рабочего сайта ... и, если я щелкну правой кнопкой мыши на видео и загрузлю его на свой рабочий стол, я смогу воспроизвести его и с рабочего стола.
Что может показаться, что кодек (или его отсутствие) не является проблемой.

... но я могу воспроизвести видео (с тестового веб-сайта), если я установлю пакет кодеков.

Излишне говорить, что я в замешательстве. Кто-нибудь может пролить свет?

Windows 7 (Enterprise) x64
Media Player 12
Windows Server 2008 R2 / IIS 7.5

1 ответ1

1

В случае, если у кого-то есть аналогичная проблема ...

Как оказалось, проблема была связана с цифровыми сертификатами на сервере (ах).

На производственной коробке имя сертификата совпадает с именем DNS. На тестовых коробках этого не было. (Каждый из тестовых серверов содержит несколько тестовых веб-сайтов.) Таким образом, вы получите предупреждение о сертификате ("несоответствие имен"). НО после отклонения предупреждения вы все равно можете загрузить статический контент других типов - у нас есть PDF-файлы и изображения (в различных форматах), которые все работали нормально - это был просто Media Player, который по какой-то причине не работал.

Администраторы нашего сервера заверили меня, что после того, как вы отклоните предупреждение о сертификате, несоответствие имени сертификата больше не должно быть проблемой. И это мне показалось разумным и соответствовало тому, что я знал, иначе я бы упомянул об этом в своем первоначальном посте.

Но когда я попытался получить доступ к файлу MP4 при работающем Fiddler, я получил второе всплывающее сообщение об ошибке несоответствия сертификатов (от Fiddler) ... и затем после того, как я сказал "игнорировать эту ошибку и продолжить", видео действительно воспроизводилось.

Так что мое лучшее предположение:

  • из-за несоответствия имени запрос на загрузку медиаплеера не выполнялся (вместо того, чтобы появилось другое диалоговое окно с предупреждением)
  • ... в результате чего недействительный контент
  • ... в результате появляется сообщение об ошибке, указывающее на наличие проблемы с кодеком.

Мне кажется, что здесь что-то пошло не так.

  • Сертификат не должен был быть проблемой, так как я уже дал указание браузеру (IE, как это происходит) игнорировать "ошибку".
  • Даже если это было проблемой, я не понимаю, почему я не получил еще одно предупреждение о сертификате (пока я не попытался попасть на сайт с помощью Fiddler).
  • Если ошибка была правильно перехвачена в WMP, я должен был получить другое (менее вводящее в заблуждение) сообщение об ошибке.

Но сертификат должен был быть продлен ... поэтому, когда он был обновлен, в сертификат было добавлено имя сайта в качестве "псевдонима" (альтернативного имени субъекта или SAN). Таким образом, мы больше не получаем предупреждения о несоответствии имен сертификатов на тестовых сайтах ... и видео воспроизводится просто отлично.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .