Read videos as numpy arrays
Project description
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.
Getting started
How to simply read a video, given its path?
# Import
from mydia import Videos
# Initialize video path
video_path = r"./static/sample_video/bigbuckbunny.mp4"
# Create a reader object
reader = Videos()
# Call the 'read()' function to get the video tensor
video = reader.read(video_path) # a tensor of shape (1, 132, 720, 1080, 3)
The tensor represents 1 video having 132 frames, with each frame having a width and height of 1080 and 720 pixels respectively. “3” denotes the Red, Green and Blue (RGB) channels of the video.
More examples available in the code documentation here
Installation
Install Mydia from PyPI (recommended):
pip install mydia
Alternatively, install from Github source:
First, clone the repository.
git clone https://github.com/MrinalJain17/mydia.git
Then, build the module
cd mydia python setup.py install
Requirements
Python 3.x (preferably from the Anaconda Distribution)
The program uses ffmpeg-python, which provides python bindings for FFmpeg (used as the backend for reading and processing videos)
To install FFmpeg on your machine -
For Linux users:
$ sudo apt-get update $ sudo apt-get install libav-tools
For Windows or MAC/OSX users:
Download the required binaries from here. Extract the zip file and add the location of binaries to the PATH variable
Additional Libraries to install:
Install the following packages along with their dependencies:
pip install ffmpeg-python
pip install numpy
tqdm - Required for displaying the progress bar.
pip install tqdm
Matplotlib - (Optional) For plotting the frames of a video
pip install matplotlib
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.