class Transcode < XMorph::Base REWRAP_COMMAND = "rewrap_command" def set_profiles self.profiles = { REWRAP_COMMAND => "ffmpeg -y -i %{IN} -vcodec copy -map 0:v -streamid 0:2064 -map 0:a:0 -streamid 1:2068 -acodec copy -v verbose -vbsf h264_mp4toannexb -y %{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], ALLOWED_AUDIO_CODECS => ["aac"], ALLOWED_AUDIO_BIT_RATE => IGNORE, ALLOWED_NUMBER_OF_AUDIO_CHANNELS => [2], } end # Rewrap rule is applied for all assets. def set_profile_name self.profile_name = REWRAP_COMMAND XMorph::Base.logger.debug("XMorph#get_profile#lightning: using profile #{self.profile_name}") unless self.profile_name.nil? return true end end