网址问题:paperclip-av-transcoder

时间:2017-06-19 10:10:23

标签: ruby-on-rails ruby-on-rails-4 html5-video paperclip

我正在尝试实现paperclip-av-transcoder gem。我检查了一切但却无法找到我在这里做错了什么。我正在编写我所遵循的步骤。

添加到gemfile

--> gem 'paperclip-av-transcoder'

添加到我的模型中

--> has_attached_file :video_file, :styles => {
    :medium => { :geometry => "640x480", :format => 'mp4' },
    :thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10 }
  }, :processors => [:transcoder]    
--> validates_attachment_content_type :video_file, :content_type => /\Avideo\/.*\Z/  

创建架构以添加列名

"video_file_meta"

在我的视图文件中

video_tag(video.video_file.url, controls: true, autobuffer: true, size: "320x240") 

我已检查公共/系统文件夹中的视频已正确保存我能够在那里看到该视频,但我无法在我的视图文件中看到它。

Video Url -> /system/videos/video_files/000/000/003/original/tingtong_464.mp4?1497851104

我正在共享屏幕以显示它在浏览器中的外观。 enter image description here

2 个答案:

答案 0 :(得分:0)

从我的观点来看,一切都是正确的,除了Paperclip要求数据库中至少有一个字段 - *_file_name(对你而言video_file_file_name),但你没有添加它Paperclip无法正确构建url。阅读更多https://github.com/thoughtbot/paperclip#usage

答案 1 :(得分:0)

目前工作模型文件代码:

 has_attached_file :video_file, :styles => {
     :medium => { :geometry => "500x500", :format => 'jpg' },
     :thumb => { :geometry => "100x100", :format => 'jpg' }
  }, :processors => [:transcoder]

validates_attachment_content_type :video_file,
    :content_type => [
      "video/mp4", 
      "video/quicktime",
      "video/3gpp",
      "video/x-ms-wmv",
      "video/mov",
      "video/flv",
      ],
    :message => "Sorry! We do not accept the attached file type"

我想我没有以任何其他视频格式调整视频文件的大小,因此它正常工作。