#3343 RuntimeError: {'message': 'tts failed', 'Exception': 'Could not load libtorchcodec. Likely causes:\n 1. FFmpeg

2409:896a* Posted at: 2 days ago 👁38

{'message': 'tts failed', 'Exception': 'Could not load libtorchcodec. Likely causes:\n 1. FFmpeg is not properly installed in your environment. We support\n versions 4, 5, 6, 7, and 8, and we attempt to load libtorchcodec\n for each of those versions. Errors for versions not installed on\n your system are expected; only the error for your installed FFmpeg\n version is relevant. On Windows, ensure you\'ve installed the\n "full-shared" version which ships DLLs.\n 2. The PyTorch version (2.10.0+cu128) is not compatible with\n this version of TorchCodec. Refer to the version compatibility\n table:\n https://github.com/pytorch/torchcodec?tab=readme-ov-file#installing-torchcodec.\n 3. Another runtime dependency; see exceptions below.\n\n The following exceptions were raised as we tried to load libtorchcodec:\n \n[start of libtorchcodec loading traceback]\nF
......
util.so.59: cannot open shared object file: No such file or directory\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/_core/ops.py", line 57, in load_torchcodec_shared_libraries\n torch.ops.load_library(core_library_path)\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torch/_ops.py", line 1444, in load_library\n raise OSError(f"Could not load this library: {path}") from e\nOSError: Could not load this library: /root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/libtorchcodec_core7.so\n\nFFmpeg version 6:\nTraceback (most recent call last):\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torch/_ops.py", line 1442, in load_library\n ctypes.CDLL(path)\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/ctypes/__init__.py", line 374, in init\n self._handle = _dlopen(self._name, mode)\nOSError: libavutil.so.58: cannot open shared object file: No such file or directory\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/_core/ops.py", line 57, in load_torchcodec_shared_libraries\n torch.ops.load_library(core_library_path)\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torch/_ops.py", line 1444, in load_library\n raise OSError(f"Could not load this library: {path}") from e\nOSError: Could not load this library: /root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/libtorchcodec_core6.so\n\nFFmpeg version 5:\nTraceback (most recent call last):\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torch/_ops.py", line 1442, in load_library\n ctypes.CDLL(path)\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/ctypes/__init__.py", line 374, in init\n self._handle = _dlopen(self._name, mode)\nOSError: libavutil.so.57: cannot open shared object file: No such file or directory\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/_core/ops.py", line 57, in load_torchcodec_shared_libraries\n torch.ops.load_library(core_library_path)\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torch/_ops.py", line 1444, in load_library\n raise OSError(f"Could not load this library: {path}") from e\nOSError: Could not load this library: /root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/libtorchcodec_core5.so\n\nFFmpeg version 4:\nTraceback (most recent call last):\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torch/_ops.py", line 1442, in load_library\n ctypes.CDLL(path)\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/ctypes/__init__.py", line 374, in init\n self._handle = _dlopen(self._name, mode)\nOSError: /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0: undefined symbol: ffi_type_uint32, version LIBFFI_BASE_7.0\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/_core/ops.py", line 57, in load_torchcodec_shared_libraries\n torch.ops.load_library(core_library_path)\n File "/root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torch/_ops.py", line 1444, in load_library\n raise OSError(f"Could not load this library: {path}") from e\nOSError: Could not load this library: /root/miniconda3/envs/GPTSoVits/lib/python3.10/site-packages/torchcodec/libtorchcodec_core4.so\n[end of libtorchcodec loading traceback].'}


=
system:Windows-10-10.0.19045-SP0
version:v3.97
frozen:True
language:zh
root_dir:C:/Users/MSI/Downloads/win-pyvideotrans-v3.97

7 Replies

该错误是由于系统中缺少 FFmpeg 的共享库文件(如 libavutil.so),导致依赖 TorchCodec 的 TTS 渠道(如 GPT-SoVITS)无法加载。根据日志,你使用的是 Windows 预打包版,但错误提示来自 Linux 环境(路径为 /root/miniconda3/envs/GPTSoVits),这表明问题可能源于你配置的 GPT-SoVITS 外部 API 服务运行在 Linux 服务器上,且该服务器缺少 FFmpeg 库。

解决方案:

  1. 检查并修复外部 TTS 服务环境:你配置的 GPT-SoVITS 服务运行在 Linux 服务器上。请登录该服务器,确保已正确安装 FFmpeg 并配置了环境变量。

    • 在服务器终端执行 ffmpeg -version 确认 FFmpeg 已安装。
    • 如果未安装,请使用包管理器安装(例如 Ubuntu/Debian: sudo apt update && sudo apt install ffmpeg)。
    • 安装后,确保 FFmpeg 的库文件路径(通常包含 libavutil.so 等)在系统的库路径中(如 LD_LIBRARY_PATH 环境变量)。
  2. 验证 TTS 服务连接:在 pyVideoTrans 的“配音渠道”设置中,确认 GPT-SoVITS 的 API 地址(如 http://服务器IP:端口)正确无误,且该服务正在运行。
  3. 临时替代方案:如果无法立即修复服务器环境,可以在 pyVideoTrans 中暂时切换到其他不需要外部依赖的配音渠道,例如 Edge-TTS(免费在线)或 F5-TTS(需本地部署但依赖明确)。

请查阅相关文档:

image
已经安装了的啊为什么报错

根据错误信息,你配置的 GPT-SoVITS 外部 API 服务运行在 Linux 服务器上,虽然安装了 FFmpeg,但缺少必要的共享库文件(如 libavutil.so),导致 TorchCodec 无法加载。这通常是 FFmpeg 版本不匹配或库文件路径未正确配置所致。

解决方案:

  1. 检查服务器 FFmpeg 安装类型:错误提示中提到,在 Windows 上需要安装 "full-shared" 版本(包含 DLLs)。在 Linux 上,你需要确保安装的是包含开发库(dev)和共享库(shared)的完整版本。尝试重新安装 FFmpeg 的开发包:

    • Ubuntu/Debian: sudo apt install ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswresample-dev
    • CentOS/RHEL: sudo yum install ffmpeg ffmpeg-devel
  2. 验证库文件路径:安装后,使用 ldconfig -p | grep libavutil 命令检查共享库是否被系统识别。如果找不到,可能需要手动将库文件路径(如 /usr/local/lib)添加到 /etc/ld.so.confLD_LIBRARY_PATH 环境变量中,然后运行 sudo ldconfig 更新缓存。
  3. 重启 TTS 服务:完成上述操作后,重启你的 GPT-SoVITS API 服务,确保它加载了新的库。
  4. 在 pyVideoTrans 中测试连接:回到 pyVideoTrans 软件,尝试重新连接 GPT-SoVITS 渠道并测试。

如果问题依旧,请提供服务器上 ffmpeg -version 的完整输出,以及 GPT-SoVITS 服务启动时的日志,以便进一步分析。

请查阅相关文档:

image

根据你提供的截图,服务器上已安装 FFmpeg 6.1.1,但 TorchCodec 库在尝试加载时仍然失败,提示找不到 libavutil.so.59 等文件。这表明系统虽然安装了 FFmpeg 命令行工具,但缺少对应的运行时共享库.so 文件),或者这些库文件不在 TorchCodec 预期的搜索路径中。解决方案:安装 FFmpeg 运行时共享库:在 Linux 服务器上,仅安装 ffmpeg 包可能只包含可执行文件。你需要安装包含共享库的包。对于 Ubuntu/Debian 系统,请运行:sudo apt install libavcodec-extra libavformat-dev libavutil-dev libswresample-dev libavfilter-dev对于 CentOS/RHEL 系统,请运行:sudo yum install ffmpeg-libs查找并链接库文件:安装后,使用 find / -name "libavutil.so*" 2>/dev/null 命令查找 libavutil.so 文件的确切位置。如果找到的路径(例如 /usr/local/lib)不在默认库搜索路径中,需要将其添加到环境变量。临时设置(针对当前终端会话):export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH永久设置:将上述 export 行添加到服务器的 ~/.bashrc/etc/profile 文件中,然后运行 source ~/.bashrc 使其生效。更新动态链接器缓存:运行 sudo ldconfig 命令更新系统的共享库缓存。重启 GPT-SoVITS 服务:完成以上步骤后,务必重启你的 GPT-SoVITS API 服务,使新的库路径生效。在 pyVideoTrans 中重新测试连接。如果问题仍然存在,可能是 TorchCodec 与当前 FFmpeg 6.1.1 版本存在兼容性问题。你可以尝试降级安装 FFmpeg 5.x 或 4.x 版本,并确保安装对应的开发库。请查阅相关文档:使用GPT-SoVITS配音

image

根据截图,服务器上已成功安装 FFmpeg 6.1.1 的共享库(libavutil.so.59 等文件已找到),但 TorchCodec 在加载时仍然失败。这表明问题可能更深层,涉及库文件版本冲突、依赖缺失或 TorchCodec 与当前 PyTorch/CUDA 环境不兼容。解决方案:检查 PyTorch 与 TorchCodec 版本兼容性:错误信息中已提示 PyTorch 版本 (2.10.0+cu128) 可能与 TorchCodec 不兼容。请访问 TorchCodec 官方兼容性表格(错误信息中的链接)进行核对。如果版本不匹配,你需要在服务器上重新安装指定版本的 PyTorch 和 TorchCodec。检查其他运行时依赖:错误信息末尾提到了 libgobject-2.0.so.0: undefined symbol: ffi_type_uint32,这表明系统中可能存在 libffi 库版本冲突或损坏。尝试在服务器上修复 libffi:Ubuntu/Debian: sudo apt install --reinstall libffi-dev libglib2.0-devCentOS/RHEL: sudo yum reinstall libffi glib2使用 Conda 环境隔离:鉴于你使用了 miniconda 环境(/root/miniconda3/envs/GPTSoVits),建议在该环境中使用 conda 安装 FFmpeg 和 PyTorch,以确保版本统一。在 GPTSoVits 环境中执行:conda install ffmpeg pytorch torchvision torchaudio cudatoolkit=12.1 -c pytorch -c nvidia(注意:CUDA 版本需与你的显卡驱动及 TorchCodec 要求匹配)重新安装 TorchCodec:在修复依赖后,在 GPTSoVits 环境中重新安装 torchcodec:pip uninstall torchcodec && pip install torchcodec --no-cache-dir重启服务并测试:完成上述步骤后,重启 GPT-SoVITS API 服务,然后在 pyVideoTrans 中重新测试连接。如果以上步骤无法解决,最直接的替代方案是更换 TTS 渠道。例如,使用软件内置的 Edge-TTS(无需复杂环境)或部署 F5-TTS 整合包(依赖更明确)。请查阅相关文档:使用GPT-SoVITS配音F5-TTS api调用常见错误edgeTTS 配音渠道

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource