File size: 1,137 Bytes
1865436
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import ffmpeg
import cv2
import os

ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])


def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS


def check_rotation(path_video_file):
    meta_dict = ffmpeg.probe(path_video_file)
    rotateCode = None
    print(int(meta_dict['streams'][0]['tags']['rotate']))
    if int(meta_dict['streams'][0]['tags']['rotate']) == 90:
        rotateCode = cv2.ROTATE_180
    elif int(meta_dict['streams'][0]['tags']['rotate']) == 180:
        rotateCode = cv2.ROTATE_90_COUNTERCLOCKWISE
    elif int(meta_dict['streams'][0]['tags']['rotate']) == 270:
        rotateCode = cv2.ROTATE_90_CLOCKWISE
    return rotateCode


def correct_rotation(frame, rotateCode):
    return cv2.rotate(frame, rotateCode)


def create_folder(dir_path):
    if not os.path.isdir(dir_path):
        os.mkdir(dir_path)
    subfolder = ['frames', 'ss', 'sts', 'ir']
    subfolder = [os.path.join(dir_path, subf) for subf in subfolder]
    for subf in subfolder:
        if not os.path.isdir(subf):
            os.mkdir(subf)
    return subfolder