class Abrizer::PackageDashShaka
Public Class Methods
new(filename, output_dir=nil)
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 6 def initialize(filename, output_dir=nil) @filename = filename @adaptations = Abrizer::AdaptationFinder.new(filepath: @filename).adaptations end
Public Instance Methods
audio_input()
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 26 def audio_input dash_audio_filename = File.join 'dash', "#{basename}-audio-dash.m4a" "input=#{audio_filepath},stream=audio,output=#{dash_audio_filename}" end
dash_directory()
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 43 def dash_directory File.join output_directory, 'dash' end
make_directory()
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 39 def make_directory FileUtils.mkdir_p dash_directory unless File.exist? dash_directory end
mpd_filename()
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 31 def mpd_filename File.join 'dash', "#{basename}.mpd" end
package()
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 11 def package make_directory Dir.chdir output_directory `#{shaka_cmd}` end
shaka_cmd()
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 35 def shaka_cmd %Q|shaka-packager #{video_inputs.join(' ')} #{audio_input} --profile on-demand --mpd_output #{mpd_filename}| end
video_inputs()
click to toggle source
# File lib/abrizer/package_dash_shaka.rb, line 17 def video_inputs @adaptations.map do |adaptation| filepath = adaptation.filepath(@filename) adaptation_basename = File.basename filepath, '.mp4' output_filename = File.join 'dash', "#{adaptation_basename}-dash.mp4" %Q|"input=#{filepath},stream=video,output=#{output_filename}"| end end