回形针video上传
我正在尝试在我的post中启用video上传function。 无法让它显示video。 video上传,我可以确认,虽然我设法右键点击video区域并下载它。 问题是如何正确查看它。
移民:
class AddAttachmentVideoToPosts < ActiveRecord::Migration def self.up change_table :posts do |t| t.attachment :video end end def self.down drop_attached_file :posts, :video end end def change create_table :videos do |t| t.string :video_file_name t.string :video_content_type t.integer :video_file_size t.datetime :video_updated_at t.timestamps end end
发布模型
class Post 'created_at desc' attr_accessible :content, :title, :photo, :photo_delete, :video, :video_delete, :dependent => :destroy has_attached_file :photo, :styles => { :thumb => "600x600#", :medium => "300x300#", :small => "160x160#"} has_attached_file :video validates_uniqueness_of :title validates_presence_of :title, :content has_destroyable_file :photo, :video end
video部分在我的post_form中
"float: left;" %> "float: left;" %> Delete video
"center" %> "center" %> Delete video
展后video部分
我也尝试过使用video_tag但是当我尝试使用时:
<iframe width="490" height="275" src="" frameborder="0" allowfullscreen autoplay="true">
我找到了一个不会参加比赛的球员。 如果你仔细研究并且可能帮我提出一个可行的解决方案,我将非常感激。 谢谢!
您应该使用video
标记,而不是iframe
(只有video
标记具有自动播放选项)。 在这里查看哪些浏览器支持哪些格式: http : //caniuse.com/#search=video
如果你想要crossbrowser解决方案,请尝试使用VideoJS – http://www.videojs.com/这里你可以获得一个Rails插件 – https://github.com/seanbehan/videojs_rails
Paperclipvideo上传:
就在上周我遇到了同样的问题 – 试试吧!
Video model: has_attached_file :video, styles: { :medium => { :geometry => "640x480", :format => 'mp4' }, :thumb => { :geometry => "160x120", :format => 'jpeg', :time => 10} }, :processors => [:transcoder] validates_attachment_content_type :video, content_type: /\Avideo\/.*\Z/
确保您已捆绑:
gem 'paperclip', '~> 4.3.1' gem 'aws-sdk', '< 2.0' gem 'paperclip-av-transcoder' gem "paperclip-ffmpeg", "~> 1.2.0"
运行回形针迁移:
rails g paperclip model video
一定要在post_controller.rb中添加:
private def bscenes_params params.require(:post).permit(:video) end
上传表格:
<%= f.file_field :video %>
显示页面:
<%= video_tag bscene.video.url(:medium), controls: true, style: "max-width: 100%;" %>
此时你应该得到这个错误:
Av::UnableToDetect (Unable to detect any supported library):
转到您的终端并输入:
brew options ffmpeg
然后运行以下命令安装ffmpeg:
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools
重启您的服务器并尝试立即上传video! 希望这会有所帮助 – 快乐编码:)