Module: ActiveJob::Ffmpeg

Defined in:
lib/active_job/ffmpeg.rb,
lib/active_job/ffmpeg/version.rb,
lib/active_job/ffmpeg/base_job.rb,
lib/active_job/ffmpeg/encoder/mp4.rb,
lib/active_job/ffmpeg/encoder/base.rb,
lib/active_job/ffmpeg/encoder/webm.rb

Defined Under Namespace

Modules: Encoder Classes: BaseJob

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.ffmpeg_cmdObject



23
24
25
# File 'lib/active_job/ffmpeg.rb', line 23

def ffmpeg_cmd
  ENV["FFMPEG"] || "ffmpeg"
end

.get_aspect(filename) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/active_job/ffmpeg.rb', line 27

def get_aspect(filename)
  return nil unless filename

  aspect = nil
  ffmpeg = IO.popen("#{ffmpeg_cmd} -i #{filename.shellescape} 2>&1")
  ffmpeg.each("\r") do |line|
    if line =~ /Stream.*Video.*, (\d+)x(\d+)[,\s]/
      aspect = "#{$1}/#{$2}".to_r
    end
  end
  aspect
end

.loggerObject



15
16
17
# File 'lib/active_job/ffmpeg.rb', line 15

def logger
  @logger ||= Logger.new($stdout)
end

.logger=(logger) ⇒ Object



19
20
21
# File 'lib/active_job/ffmpeg.rb', line 19

def logger=(logger)
  @logger = logger
end