Railsvideo上传

我一直在寻找有关rails和video的不同上传选项,Paperclip看起来相当不错,但是有没有其他人会推荐,它应该有很好的教程和文档,因为我找不到任何有关上传的好的回形针文档video内容。

我们让Paperclip暂时处理video


系统

无论您使用CarrierWave还是Paperclip (Rails的两个主要“附件”处理程序),您都会有同样的歧义

任何上传系统只处理您的PC,Rails应用程序和数据库之间的文件数据传输。 他们每个人(根据我的理解)。 EG Paperclip仅从您的文件创建ActiveRecord对象,将数据保存到服务器的public目录并在您的数据库中创建记录


video的问题是使用正确的处理器而不是正确的上传器:

 #app/models/attachment.rb has_attached_file :attachment, styles: lambda { |a| a.instance.is_image? ? {:small => "x200>", :medium => "x300>", :large => "x400>"} : {:thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10}, :medium => { :geometry => "300x300#", :format => 'jpg', :time => 10}}}, processors: lambda { |a| a.is_video? ? [ :ffmpeg ] : [ :thumbnail ] } 

额外

你需要使用video处理器,如ffmpeg for Paperclip :

 #GemFile gem "paperclip-ffmpeg", "~> 1.0.1" 

您可能必须在系统上安装ffmpeg以使处理器在本地工作(Heroku有ffmpeg)。 这将允许您使用video_tag帮助器 :

 <%= video_tag(@model.attachment.url) %> 

这里有一个关于在Paperclip中使用ffmpeg的好教程和另一个教程

使用导轨Carrierwave和Paperclip是最好的附件处理程序。 现在,对于各种文件上传,如图像,video,其他原始文件等,您可以使用Cloudinary与carrierwave。 请参阅http://cloudinary.com/documentation/rails_carrierwave