乐趣区

关于python:pyav-是如何调用-FFmpeg-libraries-的

如何查看 pyav 依赖的动态链接库

linux 下的计划

在 Python 中查看 pyav 依赖的动态链接库,能够应用 ldd 命令。ldd 命令能够列出一个可执行文件或者共享库依赖的共享库列表。应用上面的命令能够查看 pyav 依赖的动态链接库:

ldd $(python -c "import av; print(av.__file__)")

这个命令会在终端中输入 pyav 依赖的所有共享库。如果零碎中没有装置 ldd 命令,能够通过装置 libc6-dev 包来装置该命令。在 Ubuntu 和 Debian 零碎中能够应用上面的命令来装置:

sudo apt-get install libc6-dev

mac 下的计划

在 macOS 上,能够应用 otool 命令来查看一个二进制文件的动态链接库依赖关系。对于 Python 模块,能够先找到对应的 .so 文件,而后应用 otool -L 命令来查看依赖关系。

例如,假如咱们要查看 pyav 模块的依赖关系,能够依照以下步骤操作:

  1. 装置 pyav 模块:
pip install av

找到 av 模块的 .so 文件门路:

$ python -c "import av; print(av.__file__)"
/path/to/site-packages/av/__init__.pyc

其中,/path/to/site-packages 是你的 Python 环境的第三方库门路。

应用 otool -L 命令查看依赖关系:

$ otool -L /path/to/site-packages/av/.dylibs/av.so
/path/to/site-packages/av/.dylibs/av.so:
        /usr/local/opt/ffmpeg/lib/libavformat.58.dylib (compatibility version 58.0.0, current version 58.54.100)
        /usr/local/opt/ffmpeg/lib/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.91.100)
        /usr/local/opt/ffmpeg/lib/libavutil.56.dylib (compatibility version 56.0.0, current version 56.70.100)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.100.5)

这里能够看到 av.so 依赖于 libavformat.58.dyliblibavcodec.58.dyliblibavutil.56.dylib 以及零碎库 libSystem.B.dylib

退出移动版