HTML5 VIDEO не работает в моем приложении rails 3 - PullRequest
9 голосов
/ 14 января 2012

Я пытаюсь отобразить HTML5-видео в своем приложении Rails 3 в разработке, я использую Sqlite3 и веб-сервер по умолчанию (Webrick). Я помещаю видеофайл (movie.ogg) в разделы assets (assets / movie.ogg) .The Отображается окно видео, но там нет видео. У меня есть 3 вопроса ... Так как у ресурсов приложения rails нет подпапки для видео (как и у изображений), куда вы помещаете видеофайлы? Поддерживает ли Webrick видео в формате HTML5? Вот мой код ниже, что мне здесь не хватает, чтобы видео работало?

просмотр

       <video width="320" height="240" controls="controls">
       <source src="/assets/movie.mp4" type="video/mp4" />
       <source src="/assets/movie.ogg" type="video/ogg" />
       <source src="/assets/movie.webm" type="video/webm" />
         Your browser does not support the video tag.
       </video>

конфиг / Инициализаторы / mime_types.rb

  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"
})

Ответы [ 4 ]

10 голосов
/ 14 января 2012

Помощник video_tag создает тег HTML 5 <video>.

По умолчанию файлы загружаются из общего / видео.Для загрузки из ресурсов / видео добавьте следующую строку в файл config / application.rb:

config.assets.paths << "#{Rails.root}/app/assets/videos"

Использование тегов:

<%= video_tag (["movie.mp4", "movie.ogg", "movie.webm"] :size => "320x240", :controls => true, :autobuffer => true) %>
4 голосов
/ 14 января 2012

Конвейер активов используется для статических активов. Если вы часто добавляете видеофайлы в свое приложение, вы должны поместить их в другое место (например, public/videos или public/system/videos). Если они действительно являются статическими ресурсами, попробуйте сначала перезагрузить сервер.

2 голосов
/ 14 января 2012

Предполагая, что ваш html верен, если только в rails 3.1 ничего не изменилось с конвейером ресурсов, все, что содержится в общедоступной папке, может быть передано с веб-сервера, так что точное местоположение места хранения видео зависит от вас.Согласно источникам, указанным выше, вы должны разместить свои видео в общедоступных / ресурсах, а затем подтвердить, что видео обслуживаются, путем доступа к http://localhost:3000/assets/movie.mp4 (или любому другому URL-адресу src для видео).

0 голосов
/ 08 июня 2015

Чтобы использовать видео в качестве статических ресурсов в Rails 4, лучше всего использовать тег видео:

Просто создайте папку в «активах» под названием «видео» и сохраните там свои видео:

app/assets/videos/mycoolvideo.mp4

Тогда в ваших представлениях:

<%= video_tag "mycoolvideo.mp4" %>

Если вам нужно указать размер, изображение плаката или добавить элементы управления, добавьте (но это HTML, а не Rails):

<%= video_tag "mycoolvideo.mp4", width: "640", height: "480", poster: "mycoolvideo.jpg", controls: true %>

Обратите внимание, что Rails ловко знает, что изображение находится в папке с изображениями, поэтому достаточно указать имя, не добавляя images / или assets / images / перед именем изображения.

Если вы хотите передатьво многих видео (или лучше сказать, одно и то же видео в разных форматах) передайте массив:

<%= video_tag ["mycoolvideo.mp4", "mycoolvideo.ogg", "mycoolvideo.webm"], size: "620x480", controls: true %>

Обратите внимание, что для определения размера вы можете использовать размер: "widthxheight" ("640x360") или отдельно высоту: и ширина:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...