#1387 TypeError: get_video_codec() takes 0 positional arguments but 1 was given

60.163* Posted at: 28 days ago 👁79

Traceback (most recent call last):
File "videotrans\task\simple_runnable_qt.py", line 12, in run
TypeError: get_video_codec() takes 0 positional arguments but 1 was given


=
system:Windows-10-10.0.19045-SP0
version:v3.84
frozen:True
language:zh
root_dir:E:/Pyvideotrans视频翻译软件

11 Replies

这是一个软件内部的错误,表明在获取视频编解码器时出现了参数传递问题。这通常与软件版本或特定视频文件有关。

请按以下步骤尝试解决:

  1. 强制重新处理:在主界面上勾选“清理已生成”复选框,然后重新执行任务。
  2. 更新软件:请前往官方网站(https://pyvideotrans.com/downpackage)下载并覆盖安装最新的软件版本。此错误可能在后续版本中已被修复。
  3. 检查视频文件:尝试使用另一个视频文件进行处理,以排除是特定文件导致的问题。
  4. 提供日志:如果以上方法均无效,请提供完整的错误日志文件(位于软件根目录下的 videotrans/logs/ 文件夹内),以便进行更深入的分析。

找不到logs文件夹

logs 文件夹通常位于您解压软件后得到的文件夹内部。请按以下路径查找:

  1. 打开您存放 pyVideoTrans 软件的文件夹(例如您截图中的 E:/Pyvideotrans视频翻译软件)。
  2. 进入该文件夹。
  3. 找到并打开名为 videotrans 的文件夹。
  4. videotrans 文件夹内,您应该能看到 logs 文件夹。

如果依然找不到,可能是由于软件尚未成功运行过任何任务,因此未生成日志。您可以先尝试执行一个简单的任务(例如“音视频转字幕”),任务结束后该文件夹通常会被创建。

另外,根据您之前的错误信息,建议您首先尝试在主界面勾选“清理已生成”复选框,然后重新处理视频,这有可能直接解决问题。

更改 H264为H265编码时出错,这是log。

!!! UNHANDLED EXCEPTION !!!
Traceback (most recent call last):
File "videotrans\task\simple_runnable_qt.py", line 12, in run
TypeError: get_video_codec() takes 0 positional arguments but 1 was given

这是一个已知的软件内部错误,与 H.265 编码功能相关。请按以下步骤解决:

  1. 首要解决方案:更新软件
    您当前使用的是 v3.84 版本。请前往官方网站下载最新的 v3.86 版本。此错误在后续版本中已被修复。下载后,请在一个全新的、路径中不包含中文或空格的文件夹中解压并运行新版本。
  2. 临时解决方案(如果必须使用当前版本)

    • 在主界面执行任务时,暂时不要选择 H.265 编码,继续使用默认的 H.264 编码。
    • 或者,在菜单栏选择 工具 -> 选项 -> 高级选项,在“视频输出控制”区域,将“视频编码”改回 libx264
  3. 关于日志文件夹
    根据您提供的错误信息,这是一个未处理的异常,可能发生在日志系统初始化之前,因此未能成功创建日志文件。更新到最新版本是解决此问题的最直接方法。

您提供的链接是 v3.86 的升级补丁,而非完整版软件。您之前遇到的 get_video_codec() 错误,很可能是因为您仅使用补丁覆盖了旧版本,导致文件不完整或冲突。

请按以下步骤彻底解决:

  1. 下载完整版:访问官方下载页面 https://pyvideotrans.com/downpackage,下载适用于 Windows 的 完整预打包版(通常名为 pyVideoTrans_Windows_x.x.x.7z 等)。
  2. 全新安装

    • 将下载的完整版压缩包,解压到一个全新的、路径不含中文和空格的文件夹中(例如 D:\pyvideotrans)。
    • 切勿将其解压到旧版本目录进行覆盖。
  3. 重新运行:进入新解压的目录,双击 sp.exe 启动软件。

这样做可以确保您获得一个完整、无冲突的软件环境,从而解决因文件不匹配导致的内部错误。

是的,这个链接 win-pyvideotrans-v3.86.7z 是 v3.86 的完整版软件。

请按以下步骤操作以彻底解决您遇到的编码错误:

  1. 下载完整版:使用您提供的这个链接下载 win-pyvideotrans-v3.86.7z 文件。
  2. 全新安装

    • 将下载的压缩包解压到一个全新的、路径不含中文和空格的文件夹中。例如 D:\pyvideotrans
    • 重要:不要将其解压到您旧的软件目录 (E:/Pyvideotrans视频翻译软件) 中进行覆盖。
  3. 运行新版本:进入新解压的目录,双击 sp.exe 启动软件。

这个操作将为您提供一个纯净、完整的 v3.86 环境,从而解决因版本升级不完整或文件冲突导致的 get_video_codec() 内部错误。

重新下载3.86版依旧提示相同错误,windows 11 ltsc 系统,路径没有中文、空格

这是一个与 Windows 11 LTSC 系统环境相关的特定问题。请尝试以下解决方案:

  1. 使用工具箱替代方案

    • 在主界面处理视频时,暂时不要更改 H.264/H.265 编码设置,使用默认编码输出。
    • 完成配音和字幕生成后,使用软件内置的 工具箱 -> 音视频合并 功能。
    • 在合并工具中,您可以单独选择已配好音的视频、音频文件和字幕,并在此处指定输出为 H.265 编码。这个路径通常可以绕过主流程中的错误。
  2. 检查系统编解码器

    • 确保您的系统已安装完整的 FFmpeg 环境。虽然软件自带 FFmpeg,但系统级别的冲突可能引发问题。
    • 您可以尝试从官方 (https://ffmpeg.org/download.html) 下载 FFmpeg 完整版,并将其 bin 目录添加到系统的 PATH 环境变量中。
  3. 提供完整错误上下文

    • 为了精准定位问题,请提供触发此错误时的完整操作步骤:

      • 您导入的视频文件格式是什么(如 .mp4, .mkv)?
      • 是在点击“开始”按钮后立即报错,还是在处理过程中的某个特定阶段?
      • 请再次确认 E:/.../videotrans/logs/ 目录下是否有新的 .log 文件生成,并提供其内容。

这个错误表明在查询视频编码信息时出现了内部函数调用异常,通常与 FFmpeg 的交互或特定文件属性有关。

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.

Donate: https://ko-fi.com/jianchang512

Trending Questions