Sha256: ce0962b2c207f7ac030f623a719c89931efafbe3f9a20b7bbea9b4c756ae6f01

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

class Transcode < XMorph::Base
  DEFAULT = "default"
  def set_profiles
    self.profiles = {
      DEFAULT => "ffmpeg -y -i %{IN} -s 1920x1080 -vcodec h264 -profile:v high -r 25 -g 13 -pix_fmt yuv420p -bf 2 -vb 11000000 -map 0:v -streamid 0:2064 -acodec libfdk_aac -ac 2 -ar 48000 -profile:a aac_low -ab 192k -filter_complex [0:1][0:2]amerge=inputs=2[aout0] -map [aout0] -streamid 1:2068 -metadata:s:a:0 language=ENG %{OUT}",
  	}
  end

  def video_checks
    {
      ALLOWED_ASPECT_RATIO => ["16:9"],
      ALLOWED_HEIGHT => [1080],
      ALLOWED_WIDTH => [1920], 
      ALLOWED_FRAME_RATE => IGNORE,
      ALLOWED_VIDEO_BIT_RATE => IGNORE, #Mbps
      ALLOWED_SCAN_TYPE => IGNORE, #all downcased
    }
  end

  def audio_checks
    {
      PRESENCE_OF_AUDIO_TRACK => VALIDATE,
      ALLOWED_NUMBER_OF_AUDIO_TRACKS => [1, 7, 8],
      ALLOWED_AUDIO_CODECS => ["aac", "pcm", "dolby-e"],
      ALLOWED_AUDIO_BIT_RATE => IGNORE,
      ALLOWED_NUMBER_OF_AUDIO_CHANNELS => [1, 2],
    }
  end

  # Same  transcode rule is applied for all assets.
  def set_profile_name
    self.profile_name = DEFAULT
    XMorph::Base.logger.debug("XMorph#get_profile#tern-cp: using profile #{self.profile_name}") unless self.profile_name.nil?
    return true
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
xmorph-0.1.2 lib/xmorph/tern-cp/TCP/transcode.rb
xmorph-0.1.1 lib/xmorph/tern-cp/TCP/transcode.rb