| import os | |
| import argparse | |
| from multiprocessing import Pool | |
| def findAllFile(base): | |
| file_path = [] | |
| for root, ds, fs in os.walk(base): | |
| for f in fs: | |
| fullname = os.path.join(root, f) | |
| file_path.append(fullname) | |
| return file_path | |
| def convert(video_path): | |
| video_name = video_path.split('/')[-1] | |
| image_path = video_path.replace(video_name, video_name.split('.')[0]) | |
| image_path = image_path.replace('/UBody/', '/UBody_images/') | |
| os.makedirs(image_path, exist_ok=True) | |
| os.system(f'ffmpeg -i {video_path} -f image2 -r 30 -b:v 5626k {image_path}/%06d.png') | |
| if __name__ == '__main__': | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument('--video_folder', type=str, default='./UBody/') | |
| args = parser.parse_args() | |
| video_paths = findAllFile(args.video_folder) | |
| pool = Pool(processes=8) | |
| pool.map(convert, video_paths) | |
| pool.close() | |
| pool.join() | |
| print(1) |