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

make_screenshots()
Alias for: run
make_thumbnails()
Alias for: run
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