Sha256: 0468317b232bed505397e225502a5bbe84ce2783129e84fa7585bd5637a07b54

Contents?: true

Size: 907 Bytes

Versions: 4

Compression:

Stored size: 907 Bytes

Contents

module Abrizer
  class PackageHlsBento

    include FilepathHelpers

    def initialize(filename, output_dir=nil)
      @filename = filename
      @output_directory = output_dir
      @adaptations = Abrizer::AdaptationFinder.new(@filename).adaptations
    end

    def package
      # Must change to output directory so this all works as intended
      Dir.chdir output_directory
      `#{bento_cmd}`
    end

    def video_inputs
      @adaptations.map do |adaptation|
        adaptation.filepath_fragmented(@filename, output_directory)
      end
    end

    def bento_cmd
      cmd = %Q|mp4hls --output-dir=hls --force --output-single-file |
      if File.exist? webvtt_input_filepath
        cmd += %Q| [+format=webvtt,+language=eng]#{webvtt_input_filepath} |
      end
      cmd += %Q| #{video_inputs.join(' ')} [+language=eng]#{audio_filepath_fragmented} |
      puts cmd
      cmd
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
abrizer-0.4.0 lib/abrizer/package_hls_bento.rb
abrizer-0.3.0 lib/abrizer/package_hls_bento.rb
abrizer-0.2.0 lib/abrizer/package_hls_bento.rb
abrizer-0.1.0 lib/abrizer/package_hls_bento.rb