在rails中处理后如何更新回形针视频位置
Posted
技术标签:
【中文标题】在rails中处理后如何更新回形针视频位置【英文标题】:How to update paperclip video location after processing in rails 【发布时间】:2011-10-14 21:40:42 【问题描述】:我正在使用 Paperclip 处理用户通过 ffmpeg 上传的视频。我想创建一个缩略图,并将视频转换为我选择的标准格式。我有 ffmpeg 处理工作,但是,我似乎无法弄清楚如何在完成处理后更新记录。我使用了许多 rails - paperclip - ffmpeg 参考,但没有看到任何人转换视频,然后在 rails db 中使用转换后的视频,因为它正在创建一个新视频,我需要能够更新记录在回形针处理器中,但是怎么做呢?
谢谢
使用 Rails 3 在 ffmpeg 中使用回形针处理器【问题讨论】:
你能告诉我们你的处理器代码吗?您是否考虑过使用现有的 gem,例如 paperclip-ffmpeg? 【参考方案1】:根据Paperclip::Processor 的文档:
只有一种方法必须实现才能正确地成为 [of
Paperclip::Processor
]:#make
...所有
#make
需要返回的是File
的实例(Tempfile
可以接受) 其中包含处理的结果。
所以你的处理器看起来像这样:
module Paperclip
class MyProcessor
# ...
def make file, options = , attachment = nil
in_filename = File.absolute_path file.path # probably just a good idea
out_filename = 'output_filename.mp4' # doesn't matter, maybe you use
# Tempfile--just need to know
# the path of ffmpeg's output file
# run ffmpeg
self.class.run 'ffmpeg',
"-i #in_filename", /* more params..., */ out_filename
File.open out_filename, 'r' # then just return a File object pointing to
end # the output file; Paperclip does the rest
end
end
【讨论】:
以上是关于在rails中处理后如何更新回形针视频位置的主要内容,如果未能解决你的问题,请参考以下文章
Rails:使用 Jcrop 和回形针裁剪图像后出现重定向问题
Rails 4 - 使用自定义回形针附件处理器解析参数的顺序
如何将文件从 HTML5 拖放到 Rails 3 应用程序和回形针?