Spaces:
Runtime error
Runtime error
import os | |
import glob | |
import json | |
from pathlib import Path | |
from collections import OrderedDict | |
import ffmpeg | |
def read_json(fname): | |
fname = Path(fname) | |
with fname.open('rt') as handle: | |
return json.load(handle, object_hook=OrderedDict) | |
def get_configs(base_path, filename_pattern="*.json"): | |
configs = [] | |
glob_pattern = os.path.join(base_path, filename_pattern) | |
file_paths = sorted(glob.glob(glob_pattern)) | |
for file_path in file_paths: | |
file_name = Path(file_path).stem | |
config = read_json(file_path) | |
config['name'] = file_name | |
configs.append(config) | |
return configs | |
def get_display_names(configs): | |
display_names = [] | |
for config in configs: | |
display_names.append(config['display_name']) | |
return display_names | |
def get_path_for_viz(dataset, sequence, model, viz): | |
dat_seq = "_".join([dataset["name"], sequence]) | |
video_path = os.path.join(model['model_id'], dat_seq, "videos", viz["name"] + ".mp4") | |
return video_path | |
def get_text_str(height, width, text, font, fontsize, fontcolor="black"): | |
return "drawtext=fontfile='{}':text='{}':" \ | |
"fontsize={}:fontcolor={}:" \ | |
"x=({}-text_w)/2:y=({}-text_h)/2".format(font, text, fontsize, fontcolor, width, height) | |
def get_video_height(video_path): | |
probe = ffmpeg.probe(video_path) | |
video_streams = ffmpeg.probe(video_path, select_streams="v") | |
return video_streams['streams'][0]['height'] | |