I got an alert when you tagged me and was alarmed by the tone of your message. I checked and I believe your initial takeaway was incorrect. Thank you for taking another look and editing your initial message to remove the invalid accusations.
Yes, you are correct in that main branch on my forked repository is not really up to date. The only relevant branches there are the tagged releases.
For context, the original reason I forked the PyAV repo is that there was some missing functionality in the PyAV repo (see Use PyAV fork and set hvc1 codec tag for H.265 by uvjustin · Pull Request #58309 · home-assistant/core · GitHub) that we wanted to use in HA. After that change was merged upstream, we reverted to use the original PyAV repo. Later, when we wanted to update HA to Alpine 3.16, we realized that the latest version of PyAV did not yet support FFmpeg 5 and would prevent us from upgrading, so I made the relevant changes on my fork and we went back to that instead.
The takeaway is that ha-av is not generally meant to be a standalone project, but rather a small diff from the head of the PyAV repo which allows us to 1) make compatibility updates to keep up to date with the latest FFmpeg versions in the distros included with HA Container/HAOS as well as use newer versions of build tools like Cython, and 2) add one or two features which are either not relevant for or have not yet been merged upstream (side note - the main PyAV repo has been slow moving over the past several years as only one person with commit privileges has been active during that time, and even he has been busy).
Given the above, I am not inclined to open up issues on my fork as inevitably it will be filled with requests like “unable to compile” or “incompatibility with FFmpeg 4.3” which are more user help requests/feature requests than actual issues with the code. Most issues can be reported against the main PyAV repo itself. I acknowledge there may be issues that come from the (small) diff from the original repo; however, these are less likely as the content/features of these differential commits are actually used/tested from our side. Also, any such issues can still be reported against the HA core stream component if/when they show up.
As for why support for FFmpeg 4.3 was removed, it’s because it’s generally difficult to maintain compatibility across so many versions of FFmpeg when the API/ABI is changing. Some fields have been renamed, while others have been removed - that’s why there’s a deprecation period when code changes, with shims put in to smooth the transition between versions. Guess what, the stuff that was deprecated in FFmpeg 4.3 was finally removed in FFmpeg 6.0, so in order to get both versions to work with our library we’d essentially have to add some shims to our library. This is too much work to keep around and introduces more potential for bugs and inconsistent behavior across versions.
Ideally, HA users should use either HAOS or HA Container. Everyone else is considered an advanced user, and honestly it’s just too much work to spend time troubleshooting issues that only come up on a particular system. However, given that there are several other people on this thread, I do want to see what the issue is and if we can find another workaround for people. Is everyone on a similar type of device (e.g. RPi 2)?