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, 2, 8 ], ALLOWED_AUDIO_CODECS => ["aac", "pcm", "mpeg audio"], 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#scripps-cp: using profile #{self.profile_name}") unless self.profile_name.nil? return true end end