summaryrefslogtreecommitdiff
path: root/animism-align/cli/app/utils/video_utils.py
blob: 992f0f8bfb2732bf72e7c12cfb4aacfe968d9597 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from pymediainfo import MediaInfo

def mediainfo(fp_in):
  """Returns abbreviated video/audio metadata for video files
  :param fp_in: filepath"""
  
  result = {}
  media_info_raw = MediaInfo.parse(fp_in).to_data()

  for d in media_info_raw['tracks']:
    if d['track_type'] == 'Video':
      result = {
        'codec_cc': d['codec_cc'],
        'duration': int(d['duration']),
        'display_aspect_ratio': float(d['display_aspect_ratio']),
        'width': int(d['width']),
        'height': int(d['height']),
        'frame_rate': float(d['frame_rate']),
        'frame_count': int(d['frame_count']),
        }
  
  return result