def runTest(self):
     job = bitcodin.Job(
         input_id=self.input.input_id,
         encoding_profile_id=self.encoding_profile.encoding_profile_id,
         manifest_types=self.manifests,
         speed='standard',
         merge_audio_channel_configs=self.merge_audio_channel_configs,
         audio_meta_data=self.audio_meta_data
     )
     self.job = bitcodin.create_job(job)
     self.assertEquals(self.job.input.input_id, job.inputId)
     self.assertEquals(self.job.input.url, self.input.url)
     self.assertEquals(self.job.encoding_profiles[0].encoding_profile_id, job.encodingProfileId)
     self.wait_until_job_finished(self.job.job_id)
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)
except Exception, e:
    print('Could not start job: %s' % e.message)
    print('API Response: %s' % e.error)
    sys.exit()

while job_result.status != 'Finished' and job_result.status != 'Error':
    job_result = bitcodin.get_job(job_result.job_id)
    print(job_result.to_json())
    sleep(5)
示例#3
0
                               height=480,
                               width=854))

audio_configs = [
    bitcodin.AudioStreamConfig(default_stream_id=0, bitrate=192000)
]

encoding_profile_obj = bitcodin.EncodingProfile(
    name='API Test Profile',
    video_stream_configs=video_configs,
    audio_stream_configs=audio_configs,
    rotation=45)
encoding_profile_result = bitcodin.create_encoding_profile(
    encoding_profile_obj)

manifests = ['mpd', 'm3u8']

# Simply give a output_id to the job configuration to which the results should be copied when the job is finished.
job = bitcodin.Job(
    input_id=input_result.input_id,
    encoding_profile_id=encoding_profile_result.encoding_profile_id,
    manifest_types=manifests)
job_result = bitcodin.create_job(job)

while job_result.status != 'Finished' and job_result.status != 'Error':
    job_result = bitcodin.get_job(job_result.job_id)
    print(job_result.to_json())
    sleep(5)

print(job_result.to_json())
print "Job Finished!"
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,
    encoding_profile_id=encoding_profile_result.encoding_profile_id,
    manifest_types=manifests,
    speed='standard',
    extract_closed_captions=True,
    audio_meta_data=audio_meta_data,
    video_meta_data=video_meta_data
)

job_result = bitcodin.create_job(job)
))

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
)
print("JOB: %s" % job.to_json())

job_result = bitcodin.create_job(job)
while job_result.status != 'Finished' and job_result.status != 'Error':
    job_result = bitcodin.get_job(job_result.job_id)
    print(job_result.to_json())
    sleep(5)

print(job_result.to_json())
print("Job Finished!")

示例#6
0
encoding_profile_obj = bitcodin.EncodingProfile('API Test Profile',
                                                video_configs, audio_configs)
encoding_profile_result = bitcodin.create_encoding_profile(
    encoding_profile_obj)

manifests = ['mpd', 'm3u8']

drm_config = bitcodin.PlayreadyWidevineCombinedDrmConfig(
    key='100b6c20940f779a4589152b57d2dacb',
    pssh=
    'CAESEOtnarvLNF6Wu89hZjDxo9oaDXdpZGV2aW5lX3Rlc3QiEGZrajNsamFTZGZhbGtyM2oqAkhEMgA=',
    kid='eb676abbcb345e96bbcf616630f1a3da',
    la_url=
    'http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&ContentKey=EAtsIJQPd5pFiRUrV9Layw==',
    method='mpeg_cenc')

hls_encryption_config = bitcodin.HLSEncryptionConfig(
    key='cab5b529ae28d5cc5e3e7bc3fd4a544d',
    method='SAMPLE-AES',
    iv='08eecef4b026deec395234d94218273d')

job = bitcodin.Job(
    input_id=input_result.input_id,
    encoding_profile_id=encoding_profile_result.encoding_profile_id,
    manifest_types=manifests,
    speed='standard',
    drm_config=drm_config,
    hls_encryption_config=hls_encryption_config)

job_result = bitcodin.create_job(job)
    profile='Main',
    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)
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',
    location='europe'
)

job_result = bitcodin.create_job(job)
示例#8
0
]

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,
    speed='standard',
    merge_audio_channel_configs=merge_audio_channel_configs)
job_result = bitcodin.create_job(job)

while job_result.status != 'Finished' and job_result.status != 'Error':
    job_result = bitcodin.get_job(job_result.job_id)
    print(job_result.to_json())
    sleep(5)

print(job_result.to_json())
print("Job Finished!")
audio_configs = list()
audio_stream_config_0 = bitcodin.AudioStreamConfig(default_stream_id=0,
                                                   bitrate=192000)
audio_stream_config_1 = bitcodin.AudioStreamConfig(default_stream_id=1,
                                                   bitrate=192000)
audio_configs.append(audio_stream_config_0)
audio_configs.append(audio_stream_config_1)

encoding_profile_obj = bitcodin.EncodingProfile('API Test Profile',
                                                video_configs, audio_configs)
encoding_profile_result = bitcodin.create_encoding_profile(
    encoding_profile_obj)

audio_meta_data = []
audio_stream_config_0_meta_data = bitcodin.AudioMetaData(0, 'de', 'Just Sound')
audio_stream_config_1_meta_data = bitcodin.AudioMetaData(
    1, 'en', 'Sound and Voice')
audio_meta_data.append(audio_stream_config_0_meta_data)
audio_meta_data.append(audio_stream_config_1_meta_data)

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',
    audio_meta_data=audio_meta_data)

job_result = bitcodin.create_job(job)