in experiments/notebooks/cloudstory-api/cloudstory.py [0:0]
def video_labels_result(jobId):
display('In Progress...')
response_label = rekognition.get_label_detection(JobId=jobId)
while response_label['JobStatus'] == 'IN_PROGRESS':
time.sleep(5)
response_label = rekognition.get_label_detection(JobId=jobId)
display('Getting Labels...')
display(f"Video Duration (ms): {response_label['VideoMetadata']['DurationMillis']}")
display(f"FrameRate: {int(response_label['VideoMetadata']['FrameRate'])}")
labels = []
while response_label:
labels.extend(response_label['Labels'])
if 'NextToken' in response_label:
response_label = rekognition.get_label_detection(JobId=jobId, NextToken=response_label['NextToken'])
else:
response_label = None
display(f'Succeeded in detecting {len(labels)} labels.')
df = pd.DataFrame(labels)
df['LabelName'] = df['Label'].apply(lambda x: x['Name'])
df['Score'] = df['Label'].apply(lambda x: round(float(x['Confidence']), 2))
df['Instances'] = df['Label'].apply(lambda x: len(x['Instances']) if x['Instances'] else 0)
df['ParentsCount'] = df['Label'].apply(lambda x: len(x['Parents']))
df['Parents'] = df['Label'].apply(lambda x: ', '.join(map(lambda x : x['Name'], x['Parents'])))
df = df.drop(columns=['Label'])
return df