2

已修复:这是由于我没有发现的相关 lib 文件中的拼写错误!有关详细信息,请参阅此问题。


我仍然是一个 Ruby on Rails 新手(运行 Rails 3.2.6 和 Ruby 1.9.3p194),但我发现使用回形针-ffmpeg gem 转换视频文件非常困难。无论我做什么,尝试上传视频后,页面上都会显示一条错误消息:

“无法加载此类文件:/[...我的信息...]/lib/paperclip_processors/ffmpeg.rb”

我目前正在尝试使用 .mov 文件进行测试。

我正在尝试按照gem 的 github 页面上的说明进行操作,但没有取得多大成功。

首先,我使用的是 Mac(Snow Leopard)并安装了 ffmpeg(运行which ffmpeg告诉我它在/user/local/bin/ffmpeg

在我的应用程序中,我在 gemfile 中添加了以下几行:

gem 'paperclip'
gem 'paperclip-ffmpeg' 

我还Paperclip.options[:command_path] = "/usr/local/bin/"按照说明添加到 config/environments/development.rb :

Myapp::Application.configure do

...

Paperclip.options[:command_path] = "/usr/local/bin/"
end

(说明还建议“在您的环境配置文件中,让 Paperclip 知道通过将该目录添加到其路径来查看那里”,但我不知道这意味着什么 - 也许这是问题所在?)。

我的班级结构如下:

class Myvideo > ActiveRecord::Base

  attr_accessible :description, :title, :video

  has_attached_file :video, :styles => { 
      :medium => { :geometry => "640x480", :format => 'flv' }
    }, :processors => [:ffmpeg]


end

我的理解是上面的代码将上传的电影从 .mov (或其他)转换为 .flv 格式。

但是,只要用户单击“上传”按钮,就会出现我上面描述的错误(在视频似乎正在上传时保存几秒钟)。

请注意,我可以通过标准 Paperclip gem 上传视频,而无需毫无问题地进行转换。因此,此代码有效(即视频已上传但未发生转换):

attr_accessible :description, :title, :video

  has_attached_file :video

有什么想法我可能会出错吗?谢谢!


编辑 - 似乎出现了原始错误消息(“无法加载此类文件......”),因为我没有在/lib目录中包含来自 Github 的相关 ffmpeg.rb 文件。感谢@wehal3001 指出这一点!

但是,虽然我现在在我的应用程序中有此文件,但在尝试上传视频时仍然出现以下错误:

未初始化的常量 Paperclip::Ffmpeg::PaperclipError ... lib/paperclip_processors/ffmpeg.rb:123:in rescue in make' lib/paperclip_processors/ffmpeg.rb:120:inmake' app/controllers/videos_controller.rb:43:in new' app/controllers/videos_controller.rb:43:increate'

任何帮助将非常感激!

4

0 回答 0