FireFox и HTML5 видео - серая коробка с х - PullRequest
3 голосов
/ 06 декабря 2010

Итак, я просто пытаюсь установить простой видеопроигрыватель html5 на этом клиентском веб-сайте во время перестройки. Думал, что это было бы простым делом, но когда я проверил это в FF, я увидел только темную коробку с серым «х». Я использую последнюю версию Firefox 3.6.12. Вы можете увидеть здесь .

Это код, который я использую - я думал, что это был правильный HTML5 - может быть, нет?

КОД:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="reel2.css" type="text/css" media="screen" />
<title>Christopher Stewart - Theatrical and Commercial Reels</title>
</head>

<body>

<div class="main">

    <div class="header">

      <div class="back">
        <img src="http://thechristopherstewart.com/REEL_files/ChrisStewart_Website.jpg" />
        <span class="backbtn">&mdash;&mdash;<a href="Home.html" target="_self">back</a></span>
      </div>

        <span class="page_title">Christopher Stewart: Video Reel</span>

        <div class="theatrical">
         <span class="title">Theatrical Reel</span><br><br>
   <video width="640" height="480" preload controls> 
    <source src="reelvids/120610-reel.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
    <source src="reelvids/120610-reel.webm" type='video/webm; codecs="vp8, vorbis"'>
    <source src="reelvids/120610-reel.theora.ogv" type='video/ogg; codecs="theora, vorbis"'>
   </video>
        </div>
    </div>

</div>
</body>
</html>

* РЕДАКТИРОВАТЬ 12/6/10 - 15:00 * После подсказки, что видео, похоже, не на сервере, который я исследовал; видео находится на сервере, но доступно только в том случае, если в браузер введен ftp - в противном случае генерируется ошибка 404. Не уверен, почему это происходит - если кто-нибудь знает, как это исправить, пожалуйста, дайте мне знать!

Спасибо всем за помощь!

Ответы [ 4 ]

2 голосов
/ 08 декабря 2010

Проблема была решена путем настройки IIS, как предложил Матти Вирккунен.IIS для хостинга GoDaddy по умолчанию не включает расширения файлов theora (.ogg, .ogv, .oga) или расширение .webm.Это означает, что если вы поместите файл с любым из этих расширений на сервер, он не будет распознан и, следовательно, (в целях защиты пользователя) не будет разрешен для просмотра / взаимодействия с пользователем.

Один из способов решить эту проблему - создать файл web.config (он же представляет собой xml-файл с расширением config), чтобы заставить сервер принимать определенные типы MIME.Затем загрузите его в корневую папку хостинга.Будьте внимательны: не перезаписывайте существующий файл web.config, так как это может привести к сбою сайта.Кроме того, указание IIS разрешить тип файла, который он уже разрешает (например, .mp4), также приведет к непредвиденным ошибкам.Перед созданием / редактированием файла web.config обязательно проверьте его с разрешениями IIS по умолчанию.

Так выглядит мой файл web.config для решения проблемы GoDaddy IIS:

<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".ogg" mimeType="audio/ogg" />
            <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
            <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
            <mimeMap fileExtension=".webm" mimeType="video/webm"/>
        </staticContent>
    </system.webServer>
</configuration>
2 голосов
/ 06 декабря 2010

Кажется, что из этих трех только файл .mp4 существует на сервере. Это специально? Firefox, вероятно, не поддерживает кодек, используемый в файле .mp4, и пытается вернуться к вашим запасным вариантам, которых не существует.

Изменить: Я вижу, что вы используете IIS в качестве вашего HTTP-сервера по выбору. Я пока не буду выбирать ваш выбор программного обеспечения, но если файлы действительно существуют на сервере, это, вероятно, вызвано политикой IIS с неизвестными расширениями файлов. IIS сделан таким образом, что он отказывается отправлять любые файлы с неизвестными расширениями клиенту. Если расширение неизвестно, оно возвращает ошибку 404. Для этого в IIS имеется своего рода подкод, который он может отображать на своих страницах ошибок, но, очевидно, истинный код ошибки HTTP всегда равен 404. Код для «файла не найден» - 404.0, а для «неизвестного расширения файла» - код. = 404,3 (вот полный список кодов ошибок ).

Вам необходимо добавить эти расширения файлов в конфигурацию IIS с правильными типами MIME.

0 голосов
/ 06 декабря 2010

Я использовал ваш код с моими собственными видео, и если указанные видеофайлы существуют и имеют правильный формат, все работает.

0 голосов
/ 06 декабря 2010

Насколько я знаю, FF3.6.x не поддерживает HTML5. Он поддерживает видео тег HTML5, но только для определенных кодеков.

Это от http://support.mozilla.com/en-US/kb/Youtube%20HTML5%20does%20not%20work%20in%20Firefox

Youtube сейчас тестирует HTML5, но не перечисляет Firefox как поддерживаемый браузер. Хотя Firefox может отображать HTML5 видео, Youtube использует запатентованный кодек для кодирования видео, делая его непригодным для использования с открытым исходным кодом программное обеспечение, как Firefox.

...