Установка Mime-типа для файлов .ogv в среде разработки Rails - PullRequest
5 голосов
/ 19 апреля 2010

Я играю с видео HTML5 и у меня есть следующий фрагмент в ERB:

<video id="movie" width="320" height="240" poster="/test.jpg" preload="none" controls="">
    <source src="/test.mp4" type="video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;">
    <source src="/test.ogv" type="video/ogg; codecs=&quot;theora, vorbis&quot;">
</video>

Видеопотоки mp4 просто отлично с сервера, работающего в моей среде разработки, в chrome.Однако Firefox отображает видеопроигрыватель с изображением плаката, но с большой буквой X. Проблема, похоже, заключается в том, что монгрел неуверен в типе mime для расширения ogv и просто возвращает текст / обычный текст, как показано в curl:

$ curl -I http://0.0.0.0:3000/pr6.ogv
HTTP/1.1 200 OK
Connection: close
Date: Mon, 19 Apr 2010 12:33:50 GMT
Last-Modified: Sun, 18 Apr 2010 12:46:07 GMT
Content-Type: text/plain
Content-Length: 13652587

Так, где я настраиваю вещи так, чтобы был возвращен правильный тип пантомимы?Я перепробовал все виды творческого поиска ответа, но самое близкое, что я могу найти, - это использовать Mime :: Type.register, который, кажется, имеет дело только с материалом responseds_to и не имел никакого эффекта, когда я пробовал его только вcase.

Так настройки компьютера?Беспородный конфиг?Rails App Config?Не совсем уверен, где искать и не эксперт по типу пантомимы.Моя среда разработки - это Mac, Rails 2.3.5.

1 Ответ

9 голосов
/ 21 апреля 2010

У меня была такая же проблема, и я нашел решение здесь: http://9elements.com/io/?p=306

Я использую rails 2.3.5, поэтому я помещаю следующий код в config / initializers / mime_types.rb и затем перезагружаю свой сервер (я использую WEBrick для локальной разработки)

Rack::Mime::MIME_TYPES.merge!({
  ".ogg"     => "application/ogg",
  ".ogx"     => "application/ogg",
  ".ogv"     => "video/ogg",
  ".oga"     => "audio/ogg",
  ".mp4"     => "video/mp4",
  ".m4v"     => "video/mp4",
  ".mp3"     => "audio/mpeg",
  ".m4a"     => "audio/mpeg"
})

И теперь curl показывает правильные типы пантомимы для файлов ogv.

...