Metadata-Version: 2.1
Name: mydia
Version: 2.1.1
Summary: A simple and efficient wrapper for reading videos as NumPy tensors
Home-page: https://mrinaljain17.github.io/mydia/
Author: Mrinal Jain
Author-email: mrinaljain007@gmail.com
License: MIT
Project-URL: Documentation, https://mrinaljain17.github.io/mydia/
Project-URL: Source, https://github.com/MrinalJain17/mydia
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Multimedia :: Video :: Capture
Description-Content-Type: text/markdown
Requires-Dist: numpy (>=1.14.5)
Requires-Dist: ffmpeg-python (>=0.1.16)
Requires-Dist: tqdm (>=4.25.0)

# Mydia

Reading videos into NumPy arrays was never more simple. This library provides 
an entire range of additional functionalities such as custom frame selection, 
frame resizing, pixel normalization, grayscale conversion and much more.

[Read the Documentation](https://mrinaljain17.github.io/mydia)

## Getting started

**How to simply read a video, given its path?**

```python

# Import
from mydia import Videos

# Initialize video path
video_path = r".docs/examples/sample_video/bigbuckbunny.mp4"

# Create a reader object
reader = Videos()

# Call the 'read()' function to get the video tensor
# which will be of shape (1, 132, 720, 1080, 3)
video = reader.read(video_path)

```

The tensor can be interpreted as:

- 1 video
- Having 132 frames, 
- Dimension (width x height) of each frame: 1080x720 pixels
- `3` denotes that the video is RGB

### View detailed examples [here](https://mrinaljain17.github.io/mydia/html/auto_examples/index.html)

## Installation

- **Install Mydia from PyPI (recommended):**

    ```bash
        pip install mydia
    ```

- **Alternatively, install from Github source:**

  First, clone the repository

    ```bash
        git clone https://github.com/MrinalJain17/mydia.git
    ```

  Then, build the module

    ```bash
        cd mydia
        python setup.py install
    ```

## Requirements

`Python 3.x` (preferably from the [Anaconda Distribution](https://www.anaconda.com/download/))

The program uses [ffmpeg-python](https://github.com/kkroening/ffmpeg-python), which provides
python bindings for [FFmpeg](https://www.ffmpeg.org/) (used as the backend for reading and 
processing videos)

To install `FFmpeg` on your machine:

For **Linux** users - 

```bash
    $ sudo apt-get update
    $ sudo apt-get install libav-tools
```

For **Windows or MAC/OSX** users - 

Download the required binaries from [here](https://www.ffmpeg.org/download.html). 
Extract the zip file and add the location of binaries to the `PATH` variable.

### Required Libraries

Install the following packages along with their dependencies:

- [ffmpeg-python](https://github.com/kkroening/ffmpeg-python)
- [Numpy](http://www.numpy.org/)
- [tqdm](https://pypi.python.org/pypi/tqdm#installation) - Required for displaying the 
  progress bar.
- [Matplotlib](https://matplotlib.org/) - (Optional) For plotting the frames of a video

```bash
    pip install ffmpeg-python numpy tqdm matplotlib
```


