修复:这是由于我没有发现相关lib文件中的拼写错误!有关详细信息,请参阅this issue。
我仍然是一个Ruby on Rails新手(运行Rails 3.2.6和Ruby 1.9.3p194),但我发现使用paperclip-ffmpeg gem转换视频文件非常困难。无论我做什么,尝试上传视频后页面上都会显示错误消息:
“无法加载此类文件:/ [...我的信息...] / lib / paperclip_processors / ffmpeg.rb”
我正在尝试暂时使用.mov文件进行测试。
我正在尝试关注instructions on the gem's github page,但没有太大成功。
首先,我正在使用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:in
make'
app / controllers / videos_controller.rb:43:在new'
app/controllers/videos_controller.rb:43:in
创建'
非常感谢任何帮助!