Metadata-Version: 2.4
Name: video_utils
Version: 2.4.5
Summary: This library provides utilities for dealing folders full of video files, including parsing out all metadata and intelligent caching.
Author-email: Justin Dray <justin@dray.be>
License-Expression: MIT
License-File: LICENSE.md
Requires-Python: <4,>=3.12.0
Requires-Dist: colorama<0.5,>=0.4.6
Requires-Dist: ffmpy<0.7,>=0.6.0
Requires-Dist: iso639>=0.1.4
Requires-Dist: pymediainfo<8,>=7.0.0
Requires-Dist: rich<15,>=13.0.0
Description-Content-Type: text/markdown

# Video Utils

[![Current version](https://badge.fury.io/py/video_utils.svg)](https://badge.fury.io/py/video_utils)
[![Downloads](https://pepy.tech/badge/video_utils/month)](https://pepy.tech/project/video_utils)

[![Build status](https://github.com/justin8/video_utils/actions/workflows/build-test.yml/badge.svg)](https://github.com/justin8/video_utils/actions/workflows/build-test.yml)
[![codecov](https://codecov.io/gh/justin8/video_utils/branch/master/graph/badge.svg)](https://codecov.io/gh/justin8/video_utils)

This library provides utilities for dealing folders full of video files, including parsing out all metadata and intelligent caching.

## Example Usage

```python
from video_utils import FileMap

def run():
    f = FileMap("/path/to/videos")
    f.load() # By default, this will load the cached metadata, and then update files that have changed in size

    for directory in f.contents:
        for video in f.contents[directory]:
            codec = video.codec
            print(codec.pretty_name) # x265
            print(video.quality) # 1080p
            print(video.full_path)
            print(video.size) # in bytes
            print(video)
            video.refresh() # force a refresh of the video metadata, will only occur if filesize has changed.

run()
```
