Sha256: 22f095e0c88e1a53e8a43439b5a247743d257a3a6996a11a2bc9366ff7f3ff67

Contents?: true

Size: 1.17 KB

Versions: 6

Compression:

Stored size: 1.17 KB

Contents

require 'libis/tools/extend/string'
require 'libis/tools/extend/empty'
require 'libis/tools/command'

require 'csv'
require 'libis/format/config'

module Libis
  module Format
    module Tool

      class FFMpeg
        include Singleton
        include ::Libis::Tools::Logger

        def self.run(source, target, options = {})
          self.instance.run source, target, options
        end

        def run(source, target, options = {})
          opts = []
          opts += options[:global] unless options[:global].empty?
          opts += options[:input] unless options[:input].empty?
          opts << '-i' << source
          opts += options[:filter] unless options[:filter].empty?
          opts += options[:output] unless options[:output].empty?
          opts << target
          result = Libis::Tools::Command.run(Libis::Format::Config[:ffmpeg_path], *opts)

          unless result[:status] == 0
            error "FFMpeg errors: #{(result[:err] + result[:out]).join("\n")}"
            return false
          end
          warn "FFMpeg warnings: #{(result[:err] + result[:out]).join("\n")}" unless result[:err].empty?

          result[:out]
        end

      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
libis-format-0.9.49 lib/libis/format/tool/ffmpeg.rb
libis-format-0.9.48 lib/libis/format/tool/ffmpeg.rb
libis-format-0.9.47 lib/libis/format/tool/ffmpeg.rb
libis-format-0.9.46 lib/libis/format/tool/ffmpeg.rb
libis-format-0.9.45 lib/libis/format/tool/ffmpeg.rb
libis-format-0.9.44 lib/libis/format/tool/ffmpeg.rb