B ]Ċ`"@s>ddlmZddlmZddlmZddlZGdddZdS))environ)client)dumpsNc@s0eZdZddZddZd ddZd d d Zd S)AudioFrameExtractorcCs@||_||_td}|jdddddd}td|d|_dS) N mediaconvertDEFAULT)Z MaxResultsZModeZ EndpointsrZUrl)Z endpoint_url)destination_bucketrolerZdescribe_endpointsr)selfZrole_arnZregionr rZendpointr \/Users/pppimen/Documents/Amazon/EE/globo/globo-dpp/api/start_analysis/AudioFrameExtractor.py__init__szAudioFrameExtractor.__init__c CsXy&|jj|j|||d}|ddStk rR}ztd|dSd}~XYnXdS)N)ZRoleZSettingsZJobZIdz%MediaConvert job creation exception F)rZ create_jobr !_build_media_convert_job_settings Exceptionprint)r S3Key SampleRateZ job_responseer r r start_mediaconvert_jobs  z*AudioFrameExtractor.start_mediaconvert_job.cCsd}t|tkrpt|dkrft|}||}|dkrnttdt|d|}t||d}qxt|}nt|}||fS)NrF ) typefloat is_integerstrfindintpowlenreplace)r ZnumberZdecimal_separator denominatorZ decimal_point numeratorr r r _convert_float_to_fraction s   z.AudioFrameExtractor._convert_float_to_fractionrc #Cs|dd}d|jd}ddddd d d d d dddddd ddddd d dddddddddddddd ddd d d!d"d#dddd$d% d&d'd(d)d*dd+d,dd-d.d/d0d&d1gd2d3d4}||\}}d5d6id d ddd7||d8d9d:d;dd$d<d=d>}ddddd d d d&d'd(d)d*dd+d,dd-d.d/d0d&d1gd?} d@dA|| |gdBdC||didDdE} d'dd ddFidGdHiddIdd d dJd@dK } g| gdL} || dM<| dN| | S)ON/rzs3://z/videos/analysis/ZMP4ZINCLUDErZEXCLUDEZPROGRESSIVE_DOWNLOAD)ZCslgAtomZ CttsVersionZ FreeSpaceBoxZ MoovPlacement) ContainerZ Mp4SettingsrZDISABLEDZENABLED2ZH_264Z PROGRESSIVErZZCABACi'ZINITIALIZE_FROM_SOURCEZCBRZMAINZNONEZAUTOZPAFFZ SINGLE_PASSZDUPLICATE_DROPZFRAMESZSTATIC)Z InterlaceModeZNumberReferenceFramesZSyntaxZSoftnessZGopClosedCadenceZGopSizeZSlicesZ GopBReferenceZSlowPalZEntropyEncodingBitrateZFramerateControlRateControlMode CodecProfileZTelecineZ MinIIntervalZAdaptiveQuantizationZ CodecLevelZ FieldEncodingZSceneChangeDetectZQualityTuningLevelZFramerateConversionAlgorithmZUnregisteredSeiTimecodeZ GopSizeUnitsZ ParControlZ#NumberBFramesBetweenReferenceFramesZ RepeatPpsZ DynamicSubGop)CodecZ H264SettingsZINSERT) ScalingBehaviorTimecodeInsertion AntiAlias Sharpness CodecSettingsZ AfdSignalingDropFrameTimecodeZ RespondToAfd ColorMetadataZ FOLLOW_INPUTzAudio Selector 1ZAACZNORMALiwZLCZCODING_MODE_2_0iZMPEG4)ZAudioDescriptionBroadcasterMixr,r-r.Z CodingModeZ RawFormatrZ Specification)r/Z AacSettings)ZAudioTypeControlZAudioSourceNamer4ZLanguageCodeControlZmp3Z_audio)ContainerSettingsVideoDescriptionAudioDescriptionsZ Extension NameModifierr'ZRAWZ FRAME_CAPTUREid)ZFramerateNumeratorZFramerateDenominatorZ MaxCapturesZQuality)r/ZFrameCaptureSettings)r0r1r2r3r4r5r6Z_frame_)r7r8r:)r7r9rz File GroupZFILE_GROUP_SETTINGSZ Destination)ZTypeZFileGroupSettings)Z CustomNameZNameZOutputsZOutputGroupSettings)ZOffsetZDefaultSelectionZProgramSelectionZ ColorSpaceZFOLLOWZUSE_PSIZEMBEDDED) ZAudioSelectorsZ VideoSelectorZ FilterEnableZ PsiControlZFilterStrengthZ DeblockFilterZ DenoiseFilterZTimecodeSource FileInput)InputsZ OutputGroupsr<r=)splitr r%appendcopy) r rr file_nameZdestination_bucket_uriZbase_video_outputZsample_rate_numeratorZsample_rate_denominatorZbase_framing_outputZbase_audio_outputZ output_groupZ base_inputZ base_settingsr r r r2s       z5AudioFrameExtractor._build_media_convert_job_settingsN)r)r)__name__ __module__ __qualname__rrr%rr r r r rs  r)osrZboto3rZjsonrZuuidrr r r r s