我上传了视频,但当我在列表中看到它们时,我希望看到视频的快照或剪辑。有没有办法显示这样的列表视频?
答案 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
如果您需要更多帮助(很明显这个问题很久以前),请告诉我!