lib/wgif/video.rb in wgif-0.2.0 vs lib/wgif/video.rb in wgif-0.3.0

- old
+ new

@@ -3,29 +3,29 @@ module WGif class Video attr_accessor :name, :clip, :logger - def initialize name, filepath + def initialize(name, filepath) @name = name @clip = FFMPEG::Movie.new(filepath) - FileUtils.mkdir_p "/tmp/wgif/" + FileUtils.mkdir_p '/tmp/wgif/' @logger = Logger.new("/tmp/wgif/#{name}.log") FFMPEG.logger = @logger end - def trim start_timestamp, duration + def trim(start_timestamp, duration) options = { - audio_codec: "copy", - video_codec: "copy", + audio_codec: 'copy', + video_codec: 'copy', custom: "-ss #{start_timestamp} -t 00:00:#{'%06.3f' % duration}" } - trimmed = transcode(@clip, "/tmp/wgif/#{@name}-clip.mov", options) + transcode(@clip, "/tmp/wgif/#{@name}-clip.mov", options) WGif::Video.new "#{@name}-clip", "/tmp/wgif/#{@name}-clip.mov" end - def to_frames(options={}) + def to_frames(options = {}) make_frame_dir if options[:frames] framerate = options[:frames] / @clip.duration else framerate = 24 @@ -35,24 +35,25 @@ end private def make_frame_dir - FileUtils.rm Dir.glob("/tmp/wgif/frames/*.png") - FileUtils.mkdir_p "/tmp/wgif/frames" + FileUtils.rm Dir.glob('/tmp/wgif/frames/*.png') + FileUtils.mkdir_p '/tmp/wgif/frames' end def open_frame_dir - Dir.glob("/tmp/wgif/frames/*.png") + Dir.glob('/tmp/wgif/frames/*.png') end def transcode(clip, file, options) - begin - clip.transcode(file, options) - rescue FFMPEG::Error => error - raise WGif::ClipEncodingException unless error.message.include? "no output file created" - raise WGif::ClipEncodingException if error.message.include? "Invalid data found when processing input" + clip.transcode(file, options) + rescue FFMPEG::Error => error + unless error.message.include? 'no output file created' + raise WGif::ClipEncodingException end + if error.message.include? 'Invalid data found when processing input' + raise WGif::ClipEncodingException + end end - end end