如何使用Ruby on Rails在列表中显示视频片段。

时间:2009-11-06 09:19:46

标签: ruby-on-rails

我上传了视频,但当我在列表中看到它们时,我希望看到视频的快照或剪辑。有没有办法显示这样的列表视频?

2 个答案:

答案 0 :(得分:1)

您可以使用ffmpeg从视频中生成图片。

您会找到here一个教程,允许您使用Paperclip上传视频,使用FFMpeg制作缩略图。

在该教程中,制作缩略图的有趣之处在于make方法 这会生成一个ffmpeg命令并执行它。

您将单独找到有关该命令的信息here

答案 1 :(得分:1)

上传视频&使用Paperclip的图像,它使用processor创建文件的不同变体

处理器取决于文件类型,如果您正在处理图片,则通常为imagemagick;如果您正在处理视频,则为ffmpeg

这种方式的工作原理是Paperclip将处理文件上传,然后发送到各个处理器进行更改。这就是你可以用imagemagick生成缩略图,或者用ffmpeg生成缩略图


<强>纸夹-ffmpeg的

FFMpeg将是创建视频缩略图的最佳方式,您可以通过安装paperclip-ffmpeg gem

实际将其投入使用

以下是一些显示其工作原理的实时代码(您基本上只需要调用:ffmpeg处理器:

 has_attached_file :attachment,
                styles:          lambda { |a| a.instance.is_image? ? {:small => "x200>", :medium => "x300>", :large => "x400>"}  : {:thumb => { :geometry => "100x100#", :format => 'jpg', :time => 10}, :medium => { :geometry => "300x300#", :format => 'jpg', :time => 10}}},
                :processors => lambda { |a| a.is_video? ? [ :ffmpeg ] : [ :thumbnail ] }

    def is_video?
            attachment.instance.attachment_content_type =~ %r(video)
    end

    def is_image?
            attachment.instance.attachment_content_type =~ %r(image)
    end

如果您需要更多帮助(很明显这个问题很久以前),请告诉我!