# VideoJS for Rails Asset Pipeline Supports Rails 3.x and 4.x ## Installation Add to your Gemfile ```ruby gem 'videojs_rails' ``` And run bundle to install the library. ```ruby bundle ``` Add the resources to your application.js file ```coffeescript # app/assets/javascripts/application.js //= require video ``` And that resource to application.css file ```sass /* *= require_self *= require video-js */ ``` And to production.rb add this line ```ruby config.assets.precompile += %w( video-js.swf vjs.eot vjs.svg vjs.ttf vjs.woff ) ``` In Rails > 4.1 Add this line to config/initializers/assets.rb ```ruby Rails.application.config.assets.precompile += %w( video-js.swf vjs.eot vjs.svg vjs.ttf vjs.woff ) ``` ## Usage ```erb <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4", webm: "http://another.com/path/to/video.webm"}, setup: "{}", controls: false, width:"400" %> ``` If you want add a callback if user don't support JavaScript use block with displayed html code: ```erb <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4", webm: "http://another.com/path/to/video.webm" }, width:"400" do %> Please enable JavaScript to see this content. <%- end %> ``` ## Captions This is currently an experimental function. ```erb <%= videojs_rails sources: { mp4: "http://domain.com/path/to/video.mp4" }, width:"400", captions: { en: { src: "http://domain.com/path/to/captions.vvt", label: "English" }, default_caption_language: :en } %> ``` ## Turbolinks Some of you might want to use VideoJS with Turbolinks. [andrkrn](https://github.com/andrkrn) provided CoffeeScript that he use: ```coffeescript change = -> for player in document.getElementsByClassName 'video-js' video = videojs('example_video') before_change = -> for player in document.getElementsByClassName 'video-js' video = videojs('example_video') video.dispose() $(document).on('page:before-unload', before_change) $(document).on('page:change', change) ``` ## Resources http://videojs.com/ http://videojs.com/#getting-started ## Updating this gem to the latest video.js release ### Clone this repository git clone https://github.com/seanbehan/videojs_rails.git ### Clone video.js repository git clone https://github.com/videojs/video.js.git ### Run the rake videojs:update task with the tag TAG=v4.12.5 rake videojs:update Note: The build will fail if you don't have `grunt` installed. To install it: cd ../video.js npm install -g grunt ### Make sure everything is added to git git add . git ci -m "Update to $TAG" ### Push to rubygems * $VIDEO_JS_RAILS_HOME/vendor/assets/javascripts/video.js.erb * $VIDEO_JS_RAILS_HOME/vendor/assets/stylesheets/video-js.css.erb Alternatively, you can set the Flash player SWF file in your web view with the `videojs.options.flash.swf` command: ``` ``` As the instructions here suggests: https://github.com/videojs/video.js/blob/stable/docs/guides/setup.md#self-hosted