class Abrizer::PackageDashBento

Public Class Methods

new(output_dir) click to toggle source
# File lib/abrizer/package_dash_bento.rb, line 6
def initialize(output_dir)
  @output_directory = output_dir
  @adaptations = Abrizer::AdaptationFinder.new(output_directory: @output_directory).adaptations
end

Public Instance Methods

bento_cmd() click to toggle source
# File lib/abrizer/package_dash_bento.rb, line 23
def bento_cmd
  cmd = %Q|mp4dash --output-dir=fmp4 --force --use-segment-template-number-padding --profiles=live --hls |
  if webvtt_input_filepath && 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
package() click to toggle source
# File lib/abrizer/package_dash_bento.rb, line 11
def package
  # Must change to output directory so this all works as intended
  Dir.chdir output_directory
  `#{bento_cmd}`
end
video_inputs() click to toggle source
# File lib/abrizer/package_dash_bento.rb, line 17
def video_inputs
  @adaptations.map do |adaptation|
    adaptation.filepath_fragmented(output_directory)
  end
end