module ActiveEncode::EngineAdapters::MediaConvertOutput

Constants

AUDIO_SETTINGS
VIDEO_SETTINGS

Public Class Methods

extract_audio_bitrate(settings) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 74
def extract_audio_bitrate(settings)
  codec_settings = extract_audio_codec_settings(settings)
  return nil if codec_settings.nil?
  try(codec_settings, :bitrate)
end
extract_audio_codec(settings) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 50
def extract_audio_codec(settings)
  settings.audio_descriptions.first.codec_settings.codec
rescue
  nil
end
extract_audio_codec_settings(settings) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 56
def extract_audio_codec_settings(settings)
  codec_key = AUDIO_SETTINGS[extract_audio_codec(settings)]
  settings.audio_descriptions.first.codec_settings[codec_key]
end
extract_video_bitrate(settings) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 80
def extract_video_bitrate(settings)
  codec_settings = extract_video_codec_settings(settings)
  return nil if codec_settings.nil?
  try(codec_settings, :bitrate) || try(codec_settings, :max_bitrate)
end
extract_video_codec(settings) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 61
def extract_video_codec(settings)
  settings.video_description.codec_settings.codec
rescue
  nil
end
extract_video_codec_settings(settings) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 67
def extract_video_codec_settings(settings)
  codec_key = VIDEO_SETTINGS[extract_video_codec(settings)]
  settings.video_description.codec_settings[codec_key]
rescue
  nil
end
extract_video_frame_rate(settings) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 86
def extract_video_frame_rate(settings)
  codec_settings = extract_video_codec_settings(settings)
  return nil if codec_settings.nil?
  (codec_settings.framerate_numerator.to_f / codec_settings.framerate_denominator.to_f).round(2)
rescue
  nil
end
tech_metadata(settings, output) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 33
def tech_metadata(settings, output)
  url = output.dig('outputFilePaths', 0)
  {
    width: output.dig('videoDetails', 'widthInPx'),
    height: output.dig('videoDetails', 'heightInPx'),
    frame_rate: extract_video_frame_rate(settings),
    duration: output['durationInMs'],
    audio_codec: extract_audio_codec(settings),
    video_codec: extract_video_codec(settings),
    audio_bitrate: extract_audio_bitrate(settings),
    video_bitrate: extract_video_bitrate(settings),
    url: url,
    label: File.basename(url),
    suffix: settings.name_modifier
  }
end

Private Class Methods

try(struct, key) click to toggle source
# File lib/active_encode/engine_adapters/media_convert_output.rb, line 96
def try(struct, key)
  struct[key]
rescue
  nil
end