Module: Falcon::Encoder::InstanceMethods

Defined in:
lib/falcon/encoder.rb

Instance Method Summary collapse

Instance Method Details

#encodeObject



78
79
80
81
82
83
84
# File 'lib/falcon/encoder.rb', line 78

def encode
  videoable.run_callbacks(:encode) do
    videoable.run_callbacks(:"#{name}_encode") do
      process_encoding
    end
  end
end

#fail!Object



103
104
105
106
# File 'lib/falcon/encoder.rb', line 103

def fail!
  self.status = FAILURE
  save(:validate => false)
end

#fail?Boolean

Returns:

  • (Boolean)


90
91
92
# File 'lib/falcon/encoder.rb', line 90

def fail?
  self.status == FAILURE
end

#metadata_optionsObject

A hash of metadatas for video:

{ :title => ”, :author => ”, :copyright => ”,

:comment => '', :description => '', :language => ''}


74
75
76
# File 'lib/falcon/encoder.rb', line 74

def 
  videoable.send(name).
end

#output_directoryObject



56
57
58
# File 'lib/falcon/encoder.rb', line 56

def output_directory
  @output_directory ||= File.dirname(self.output_path)
end

#output_pathObject



52
53
54
# File 'lib/falcon/encoder.rb', line 52

def output_path
  @output_path ||= self.profile.path(source_path, name).to_s
end

#processing!Object



98
99
100
101
# File 'lib/falcon/encoder.rb', line 98

def processing!
  self.status = PROCESSING
  save(:validate => false)
end

#processing?Boolean

Returns:

  • (Boolean)


86
87
88
# File 'lib/falcon/encoder.rb', line 86

def processing?
  self.status == PROCESSING
end

#profileObject



40
41
42
# File 'lib/falcon/encoder.rb', line 40

def profile
  @profile ||= Falcon::Profile.find(profile_name)
end

#profile_options(input_file, output_file) ⇒ Object



60
61
62
63
64
65
66
67
# File 'lib/falcon/encoder.rb', line 60

def profile_options(input_file, output_file)
  self.profile.encode_options.merge({
    :input_file => input_file,
    :output_file => output_file,
    :resolution => self.ffmpeg_resolution
    #:resolution_and_padding => self.ffmpeg_resolution_and_padding_no_cropping
  })
end

#resolutionObject



44
45
46
# File 'lib/falcon/encoder.rb', line 44

def resolution
  self.width ? "#{self.width}x#{self.height}" : nil
end

#success!Object



108
109
110
111
112
# File 'lib/falcon/encoder.rb', line 108

def success!
  self.status = SUCCESS
  self.encoded_at = Time.now
  save(:validate => false)
end

#success?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/falcon/encoder.rb', line 94

def success?
  self.status == SUCCESS
end

#transcoderObject



48
49
50
# File 'lib/falcon/encoder.rb', line 48

def transcoder
  @transcoder ||= ::WebVideo::Transcoder.new(source_path)
end