ruby-on-rails-3 - 导轨 3 : How can I make Paperclip-FFMPEG work?

标签 ruby-on-rails-3 ffmpeg paperclip

我有带有这些 gem 的 Rails 3.0.3:

  • 延迟作业 2.1.4
  • 延迟回形针 0.7.1
  • 回形针 2.3.16
  • 回形针-ffmpeg 0.7.0

  • (这种组合非常具体。一些较新的 gem 无法与其他 gem 一起使用。)

    这是我的视频模型:
    class Video < Upload
      has_attached_file :file, :default_style => :view, :processors => [:ffmpeg],
        :url => '/system/:class/:attachment/:id/:style/:basename.:extension',
        :path => ':rails_root/public/system/:class/:attachment/:id/:style' \
          + '/:basename.:extension',
        :default_url => '/images/en/processing.png',
        :styles => {
          :mp4video => { :geometry => '520x390', :format => 'mp4',
            :convert_options => { :output => { :vcodec => 'libx264',
              :vpre => 'ipod640', :b => '250k', :bt => '50k',
              :acodec => 'libfaac', :ab => '56k', :ac => 2 } } },
          :oggvideo => { :geometry => '520x390', :format => 'ogg',
            :convert_options => { :output => { :vcodec => 'libtheora',
              :b => '250k', :bt => '50k', :acodec => 'libvorbis',
              :ab => '56k', :ac => 2 } } },
          :view => { :geometry => '520x390', :format => 'jpg', :time => 1 },
          :preview => { :geometry => '160x120', :format => 'jpg', :time => 1 }
        }
      validates_attachment_content_type :file, :content_type => VIDEOTYPES,
        :if => Proc.new { |upload| upload.file.file? }
      process_in_background :file
    end
    

    创建带有附件的新视频对象时,会保存原始对象,但不会进行任何转换。甚至调用Video.last.file.reprocess!除了返回 true 不会做任何事情. (不确定在这种情况下“真实”是什么意思,因为它不起作用。)

    我尝试在 Paperclip::options[:command_path] 中硬编码 ffmpeg 的路径.我什至尝试删除 paperclip-ffmpeg.rb 文件并将其替换为空白文件。真的以为我会通过后者获得异常(exception),相反,我只是再次获得“真实”。

    感觉就像正在加载回形针-ffmpeg.rb,因为config/application.rb 需要它,但在尝试生成缩略图或转换视频时不会调用任何内容。

    谁能帮我这个?提前致谢!

    最佳答案

    看起来我自己解决了这个问题,它是由我所做的事情引起的。

    我编写了自己的脚本来将文件和数据库从旧应用程序导入到 Rails。文件就位,但有人我用错误的文件扩展名更新了数据库(在这种情况下,“.jpg”而不是“.MOV”)。

    Paperclip 将根据存储在数据库中的文件名,在调用任何处理器之前首先验证原始文件是否存在。因为它没有,Paperclip 只是没有做任何事情。一旦我纠正了数据,一切都按预期运行。 (我在使用 FFMPEG 时遇到了问题,但这是另一个问题。)

    如果我浪费了任何人的时间,我很抱歉。希望这对某人有帮助。

    关于ruby-on-rails-3 - 导轨 3 : How can I make Paperclip-FFMPEG work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8045077/

    相关文章:

    ruby-on-rails-3 - 回形针后期处理 - 如何使用 jpegoptim/optpng 压缩图像

    bash - ffmpeg 从变量而不是文件添加字幕

    ruby-on-rails - 带有 Capistrano 的 Carrierwave 文件

    ruby-on-rails - 包括模块在开发中工作,在生产中启动时失败?

    ruby-on-rails - rails : form_for routes won't display a good form

    FFMPEG - 如何在不生成不需要的元数据的情况下通过管道传输 RMS_level 和 pts_time 元数据

    ffmpeg - 链接 libavcodec os x ffmpeg ApplicationServices.framework

    ruby-on-rails - 使用回形针上传多个文件

    ruby-on-rails - Google Cloud Storage - Rails 网络应用程序 - 不同环境的不同存储桶和不同访问 key

    ruby-on-rails-3 - Rails 3渲染二进制内容