def setUp(self): super(CreateJobTestCase, self).setUp() input_url = 'http://bitbucketireland.s3.amazonaws.com/at_test/mono_streams.mkv' input = bitcodin.Input(input_url) self.input = bitcodin.create_input(input) audio_configs = [ bitcodin.AudioStreamConfig( default_stream_id=0, bitrate=192000 ), bitcodin.AudioStreamConfig( default_stream_id=1, bitrate=128000 ) ] video_stream_config = bitcodin.VideoStreamConfig(default_stream_id=0, bitrate=512000, profile='Main', preset='premium', height=480, width=640) encoding_profile = bitcodin.EncodingProfile('API Merge Audio Multi Profile', [video_stream_config], audio_configs) self.encoding_profile = bitcodin.create_encoding_profile(encoding_profile) self.manifests = ['m3u8', 'mpd'] merge_audio_channel_config12 = bitcodin.MergeAudioChannelConfig([1, 2]) merge_audio_channel_config34 = bitcodin.MergeAudioChannelConfig([3, 4]) self.merge_audio_channel_configs = [merge_audio_channel_config12, merge_audio_channel_config34] audio_meta_data12 = bitcodin.AudioMetaData(0, 'en', 'Channel 1 and 2 merged') audio_meta_data34 = bitcodin.AudioMetaData(1, 'en', 'Channel 3 and 4 merged') self.audio_meta_data = [audio_meta_data12, audio_meta_data34]
height=362, width=854)) video_configs.append( bitcodin.VideoStreamConfig(default_stream_id=0, bitrate=500000, profile='Main', preset='premium', height=272, width=640)) audio_configs = [ bitcodin.AudioStreamConfig(default_stream_id=0, bitrate=192000, rate=48000) ] encoding_profile_obj = bitcodin.EncodingProfile( name='API Test Profile', video_stream_configs=video_configs, audio_stream_configs=audio_configs) encoding_profile_result = bitcodin.create_encoding_profile( encoding_profile_obj) manifests = ['mpd', 'm3u8'] job = bitcodin.Job( input_id=input_result.input_id, encoding_profile_id=encoding_profile_result.encoding_profile_id, manifest_types=manifests, speed='standard', deinterlace=True) try: job_result = bitcodin.create_job(job)
)) video_configs.append(bitcodin.VideoStreamConfig( default_stream_id=0, bitrate=1200000, profile='Main', preset='premium', height=480, width=854 )) audio_configs = [ bitcodin.AudioStreamConfig(default_stream_id=0, bitrate=192000), bitcodin.AudioStreamConfig(default_stream_id=1, bitrate=192000) ] encoding_profile_obj = bitcodin.EncodingProfile('API Test Profile Closed Captions', video_configs, audio_configs) encoding_profile_result = bitcodin.create_encoding_profile(encoding_profile_obj) manifests = ['mpd', 'm3u8'] audio_meta_data = [ bitcodin.AudioMetaData(0, 'Spanish', 'es'), bitcodin.AudioMetaData(1, 'English', 'en') ] video_meta_data = [ bitcodin.VideoMetaData(0, 'Spanish', 'es') ] job = bitcodin.Job( input_id=input_result.input_id,
preset='premium', height=768, width=1024 )) video_configs.append(bitcodin.VideoStreamConfig( default_stream_id=0, bitrate=1200000, profile='Main', preset='premium', height=480, width=854 )) audio_configs = [bitcodin.AudioStreamConfig(default_stream_id=0, bitrate=192000)] encoding_profile_obj = bitcodin.EncodingProfile('API Test Profile', video_configs, audio_configs) print("ENCODING PROFILE REQUEST %s\n\n" % encoding_profile_obj.to_json()) encoding_profile_result = bitcodin.create_encoding_profile(encoding_profile_obj) print("ENCODING PROFILE RESULT %s\n\n" % encoding_profile_result.to_json()) manifests = ['mpd', 'm3u8'] job = bitcodin.Job( input_id=input_result.input_id, encoding_profile_id=encoding_profile_result.encoding_profile_id, manifest_types=manifests, speed='standard', duration=20, start_time=50 )
video_configs.append( bitcodin.VideoStreamConfig(default_stream_id=0, bitrate=1000000, profile='Main', preset='premium', height=480, width=640)) # Configure audio representation audio_configs = list() # 256 kbps audio_configs.append( bitcodin.AudioStreamConfig(default_stream_id=0, bitrate=256000)) live_profile = bitcodin.EncodingProfile('Live Stream profile', video_configs, audio_configs) live_profile = bitcodin.create_encoding_profile(live_profile) # Create live stream stream_key = "stream" time_shift = 120 live_stream = bitcodin.LiveStream("test live stream", stream_key, live_profile.encoding_profile_id, time_shift, output.output_id) live_stream = bitcodin.create_live_instance(live_stream) print(live_stream.to_json()) # Wait until live stream is running and ready
preset='premium', height=768, width=1024)) video_configs.append( bitcodin.VideoStreamConfig(default_stream_id=0, bitrate=1200000, profile='Main', preset='premium', height=480, width=854)) audio_configs = [ bitcodin.AudioStreamConfig(default_stream_id=0, bitrate=192000) ] encoding_profile_obj = bitcodin.EncodingProfile('Merge Audio Channels Profile', video_configs, audio_configs) encoding_profile_result = bitcodin.create_encoding_profile( encoding_profile_obj) # Merge all 6 audio channels into one merge_audio_channel_config = bitcodin.MergeAudioChannelConfig( [1, 2, 3, 4, 5, 6]) merge_audio_channel_configs = [merge_audio_channel_config] manifests = ['mpd', 'm3u8'] # Audio merging is only available with speed standard job = bitcodin.Job( input_id=input_result.input_id, encoding_profile_id=encoding_profile_result.encoding_profile_id, manifest_types=manifests,
preset='premium', height=272, width=640)) audio_configs = [ bitcodin.AudioStreamConfig(default_stream_id=0, bitrate=192000, rate=48000) ] cropping_config = bitcodin.CroppingConfig(top=100, bottom=100, left=236, right=236) encoding_profile_obj = bitcodin.EncodingProfile( name='Cropping Profile', video_stream_configs=video_configs, audio_stream_configs=audio_configs, cropping_config=cropping_config) encoding_profile_result = bitcodin.create_encoding_profile( encoding_profile_obj) manifests = ['mpd', 'm3u8'] job = bitcodin.Job( input_id=input_result.input_id, encoding_profile_id=encoding_profile_result.encoding_profile_id, manifest_types=manifests, speed='standard') try: job_result = bitcodin.create_job(job)