Sha256: 28b88fce14d952959ba7b8db4e2ec6977b7c9aa00095fe961e2f77c92fdc4cd7
Contents?: true
Size: 1.86 KB
Versions: 1
Compression:
Stored size: 1.86 KB
Contents
# # Represents the video file # require 'vcs' module VCSRuby class Video attr_reader :config def initialize video initialize_filename video initialize_capturers end def valid? capturer.file_valid? end def info capturer.info end def video capturer.video_streams.first end def video_streams capturer.video_streams end def audio capturer.audio_streams.first end def audio_streams capturer.audio_streams end def full_path File.join(@path, @filename) end def contact_sheet @contact_sheet ||= ContactSheet.new self, capturer end def frame time_index return Frame.new self, capturer, time_index end def capturer_name capturer.name end private def initialize_filename video @path = File.dirname(File.absolute_path(video)) @filename = File.basename(video) end def initialize_capturers @capturers = [] @capturers << LibAV.new(self) @capturers << MPlayer.new(self) @capturers << FFmpeg.new(self) if Configuration.instance.verbose? puts "Available capturers: #{available_capturers.map{ |c| c.to_s }.join(', ')}" end end def available_capturers @capturers.select{ |c| c.available? } end def capturer result = nil if Configuration.instance.capturer == :any result = available_capturers.first else result = available_capturers.select{ |c| c.name == Configuration.instance.capturer }.first end unless result raise "Selected Capturer (#{Configuration.instance.capturer}) not available. Install one of these: #{@capturers.map{ |c| c.name }.join(', ')}" end return result end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vcs_ruby-1.1.9 | lib/video.rb |