BasswoodAV provides Pythonic binding for the FFmpeg libraries. We aim to provide all of the power and control of the underlying library, but manage the gritty details as much as possible.
BasswoodAV provides direct and precise access to your media via containers, streams, packets, codecs, and frames. It exposes a few transformations of that data, and helps you get your data to/from other packages, such as Numpy.
This power does come with some responsibility as working with media is complicated and BasswoodAV can't abstract it away or make all the best decisions for you. But where you can't work without it, BasswoodAV is a critical tool.
Binary wheels are provided on PyPI for Linux, MacOS and Windows linked against the latest stable version of ffmpeg. You can install these wheels by running:
pip install basswood-av
Here's how to build BasswoodAV from source source. You must use MSYS2 when using Windows.
git clone https://github.com/basswood-io/BasswoodAV.git
cd BasswoodAV
source scripts/activate.sh
# Build ffmpeg from source. You can skip this step
# if ffmpeg is already installed.
./scripts/build-deps
# Build
make
# Testing
make test
# Install globally
deactivate
pip install .