HTML5 VIDEO is not working in my rails 3 app

前端 未结 4 1508
执念已碎
执念已碎 2020-12-16 19:17

I am trying to display HTML5 video in my Rails 3 app in development,i am using Sqlite3 and default webserver(Webrick).I put the video file (movie.ogg) under assets (assets/m

相关标签:
4条回答
  • 2020-12-16 19:22

    Assuming your html is correct, unless things have dramatically changed in rails 3.1 with the asset pipeline anything contained in the public folder can be served up from the web server, so the exact location of where to store videos is up to you. According to your sources above you should put your videos in public/assets then confirm the videos are being served up by accessing http://localhost:3000/assets/movie.mp4 (or any other src url for a video).

    0 讨论(0)
  • 2020-12-16 19:37

    The video_tag helper builds an HTML 5 <video> tag.

    By default, files are loaded from public/videos. To load from assets/video add the following line to your config/application.rb file:

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

    Tag Usage:

    <%= video_tag (["movie.mp4", "movie.ogg", "movie.webm"] :size => "320x240", :controls => true, :autobuffer => true) %>
    
    0 讨论(0)
  • 2020-12-16 19:41

    To serve videos as static assets in Rails 4, the best way is to use the video tag:

    Simply create a folder in 'assets' called 'videos' and store your videos there:

    app/assets/videos/mycoolvideo.mp4
    

    Then in your views:

    <%= video_tag "mycoolvideo.mp4" %>
    

    If you need to specify size, a poster image or add controls, add (but this is HTML, not Rails):

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

    Note that Rails cleverly knows that the image is in the image folder, so specifying a name is enough, without adding images/ or assets/images/ before the image name.

    If you want to pass in many videos (or better said, the same video in different formats), pass an array:

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

    Note that for sizing you can either use size: "widthxheight" ("640x360") or separately height: and width:

    0 讨论(0)
  • 2020-12-16 19:46

    The assets pipeline is used for static assets. If you're adding video files to your app often, you should put them somewhere else (for example, public/videos or public/system/videos). If they really are static assets, try restarting your server first.

    0 讨论(0)
提交回复
热议问题