class VideoScreenshoter::Image
Public Class Methods
new(params)
click to toggle source
# File lib/video_screenshoter/image.rb, line 6 def initialize params params.each_with_index do |param, index| params[index] = Shellwords.escape(param) if param.is_a?(String) end [:ffmpeg, :imagemagick, :output_dir, :output_file, :verbose].each do |attr| self.send("#{attr}=".to_sym, params[attr].nil? ? VideoScreenshoter.send(attr) : params[attr]) end FileUtils.mkdir_p self.output_dir self.input = params[:input] if params[:presets] && params[:presets].is_a?(Hash) self.presets = {} params[:presets].each do |name, preset| self.presets[name.to_sym] = !preset || preset.empty? || preset.index('-') == 0 ? preset : "-resize #{preset}" end end raise ArgumentError.new('Presets are needed') if presets.nil? || presets.empty? end
Public Instance Methods
run()
click to toggle source
# File lib/video_screenshoter/image.rb, line 24 def run imagemagick_run input Hash[*presets.keys.map { |p| [p, output_with_preset(input, p)] }.flatten] end
Also aliased as: make_screenshots, make_thumbnails