from __future__ import annotations import argparse def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--codecs", action="store_true") parser.add_argument("--version", action="store_true") args = parser.parse_args() if args.version: import av import av._core print(f"PyAV v{av.__version__}") by_config: dict = {} for libname, config in sorted(av._core.library_meta.items()): version = config["version"] if version[0] >= 0: by_config.setdefault( (config["configuration"], config["license"]), [] ).append((libname, config)) for (config, license), libs in sorted(by_config.items()): print("library configuration:", config) print("library license:", license) for libname, config in libs: version = config["version"] print(f"{libname:<13} {version[0]:3d}.{version[1]:3d}.{version[2]:3d}") if args.codecs: from av.codec.codec import dump_codecs dump_codecs() if __name__ == "__main__": main()