PyAV Logo

A few weeks, jlaine and I had a disagreement on how to handle source builds on [PyPI](https://pypi.org). I argued that it misleads `pip` because it claims no platform restricts. jlaine dissented and, eventually, I relented and restored "sdist" builds. This did not mean, however, that I was convinced that my arguments are wrong. Instead, I saw a growing divide between my needs and the community. ## Differences My focus is making PyAV as good as possible for commercial video editing. That meant packaging PyAV differently than the community builds. [There are currently two](https://youtu.be/VcwE29vN-Ik?si=OcmQRJrHizQb9h_F&t=5) PyAVs on PyPI: * [av](https://pypi.org/project/av): The official and community build. There is no active PyPI admin, that means no release can ever be deleted, even if it's just a release candidate. * [pyav](https://pypi.org/project/pyav): Same Cython code, different build. I am the PyPI admin. The former is built with the GPLv3 compatible features and third party libraries, notably x264 and x265. My package is built with LPGLv3 compatible features and libraries. I also wish for changes that make the material conditions of using parallel code better and to more aggressively drop support for End-of-Life operating systems and python versions. ## Our New Fork My fork will continue in the tradition of the `pyav` builds. The difference is that the Cython code Because of the similar names, `av` and `pyav`, it's easy to conflate the two. That's why I don't want to publish in `pyav` even though I have admin rights on PyPI. Instead, I created a new name: BasswoodAV
Our new snazzy logo
You can install with: ``` pip install basswood-av ``` And you can find the source code [here](https://github.com/basswood-io/BasswoodAV). We also [do our own ffmpeg builds](https://github.com/basswood-io/av-ffmpeg). ## A Friendly Fork I still plan to maintain PyAV. I just won't be **as** active in the project. To help maintain distance, this fork will use a different name: [basswood-av](https://pypi.org/project/basswood-av), rather than continuing to use [pyav](https://pypi.org/project/pyav). The latter will either be deleted, returned, or just remain inactive. You can pretty much consider BasswoodAV as a drop-in replacement for PyAV. The only thing you'll need to change is: ```python import av ``` to: ```python import bv ``` You can see the [changelog](https://av.basswood-io.com/docs/stable/development/changelog.html) for any differences between PyAV and BasswoodAV. ## Q.A. ### What About The Docs? The docs for the fork live on [https://av.basswood-io.com](https://av.basswood-io.com). The PyAV docs still live in [https://pyav.basswood-io.com](https://pyav.basswood-io.com), although I plan to eventually move them to a different url. ### What Will This Mean for Auto-Editor Users? If you're using the [Auto-Editor app](https://app.auto-editor.com), you don't really have to worry about this at all. If you're using [auto-editor cli](https://github.com/Wyattblue/auto-editor)>=27.0, you may want to run: ``` pip uninstall av pyav pip install basswood-av ``` although this shouldn't be necessary if you're managing auto-editor with `pipx` or similar. ### What Will This Mean for PyAV Users? If you're already using `pyav`, I highly recommend switching to `basswood-av` once version 15 is ready. Otherwise I recommend staying with PyAV (`av`) if you don't need the bleeding edge features. PyAV is not deprecated, and I'm sure some of the features from BasswoodAV will come back to PyAV eventually. ### What Will This Mean for Package Managers? `av`/`python-av` and `basswood-av` are not the same project. Each would need to be packaged separately. ### Could The Projects Ever Converge? One feature that would make this a lot easier would be the ability to dynamically load external libraries such as `libx264` on the users system without having to package it statically. This would allow the use of GPLv3 compatible and LGPLv3 compatible libraries without legal issues. Unfortunately, this doesn't solve the policy issues that I have with PyAV. There isn't a technical solution that could do that. ### Can I See The Logo Again? Sure.
Generated with: ffmpeg -i in.png -map 0 -map 0 -filter:v:1 alphaextract -frames:v 1 -still-picture 1  out.avif