#3879 自定义ffmpeg参数无效,-hwaccel cuda -hwaccel_device 0 -c:v h264_nvenc -qsv disable

153.121* Posted at: 2 days ago 👁45

-hwaccel cuda -hwaccel_device 0 -c:v h264_nvenc -qsv disable

还是报错

splitting the argument list: Option not found


=
system:Windows-10-10.0.26200-SP0
version:v3.98
frozen:True
language:zh
root_dir:G:/pyVideoTrans

6 Replies

这是由于自定义的 ffmpeg 参数格式不正确导致的。错误信息 splitting the argument list: Option not found 表明 ffmpeg 无法识别您输入的参数组合或格式。

解决方案:

  1. 检查参数格式:在“高级选项”的“自定义ffmpeg命令参数”框中,应只输入参数本身,不要包含 ffmpeg 命令。例如,应输入 -hwaccel cuda -hwaccel_device 0 -c:v h264_nvenc,而不是 ffmpeg -hwaccel cuda ...
  2. 简化参数:尝试只使用最核心的硬件加速参数进行测试,例如 -hwaccel cuda -hwaccel_device 0。确认有效后再添加 -c:v h264_nvenc
  3. 检查显卡支持:确保您的 NVIDIA 显卡支持 NVENC 编码(通常 GTX 10系列及以上支持)。您可以在“高级选项”中直接勾选“视频合成优先硬编码”,软件会自动尝试使用硬件编码,这可能比手动输入参数更可靠。
  4. 检查 CUDA 环境:确保已正确安装 CUDA 12.8 和 cuDNN,并且环境变量配置正确。
  5. 参数冲突:如果同时勾选了“强制软编码视频?”,它将覆盖您的硬件编码参数,请确保此项未勾选。

如果问题依旧,请提供 logs 文件夹中最新日志文件的底部约30行报错信息。

请查阅相关文档:

-hwaccel cuda -hwaccel_device 0 也不行

错误信息:

parsing options for output file G:/pyVideoTrans/tmp/10004/3e73c8eb2f/en.wav. opening output files: Invalid argument

system:Windows-10-10.0.26200-SP0
version:v3.98
frozen:True
language:zh
root_dir:G:/pyVideoTrans

这是由于自定义的 ffmpeg 硬件加速参数被错误地应用到了音频输出环节导致的。错误信息 parsing options for output file ... en.wav. opening output files: Invalid argument 表明,您输入的 -hwaccel cuda 等参数是针对视频编码的,但在处理音频(如生成 .wav 文件)时,这些参数无效,导致 ffmpeg 命令执行失败。

解决方案:

  1. 移除自定义参数:立即前往 菜单 -> 工具 -> 高级选项,在“自定义ffmpeg命令参数”框中,清空所有内容
  2. 使用内置硬件编码选项:在同一“高级选项”面板的“视频输出控制”部分,勾选“视频合成优先硬编码”。软件会自动检测并使用合适的硬件编码器(如 h264_nvenc),这比手动输入参数更安全可靠。
  3. 检查并启用CUDA加速:在主界面右上角,确保已勾选“CUDA加速”。这仅用于加速语音识别(Whisper)阶段,与视频编码无关,但需确保CUDA环境正确。
  4. 验证CUDA环境:在CMD中运行 nvcc -Vnvidia-smi,确认CUDA版本为12.8且显卡驱动正常。
  5. 重新尝试:清空自定义参数并勾选“视频合成优先硬编码”后,重新运行翻译任务。

如果问题依旧,请提供 logs 文件夹中最新日志文件的底部约30行报错信息。

请查阅相关文档:

CUDA 为 13.2

CUDA 13.2 版本与软件内置支持的 CUDA 12.8 不兼容,这可能导致 GPU 加速无法正常工作。虽然您遇到的 ffmpeg 参数错误已通过移除自定义参数解决,但 CUDA 版本不匹配会影响语音识别阶段的加速。解决方案:降级 CUDA 版本:卸载当前的 CUDA 13.2,并安装与软件兼容的 CUDA 12.8。安装对应的 cuDNN:从 NVIDIA 官网下载与 CUDA 12.8 匹配的 cuDNN 9.x 版本,并按照教程进行安装和配置。验证安装:安装完成后,在 CMD 中运行 nvcc -V 确认版本为 12.8,运行 nvidia-smi 查看显卡状态。在软件中启用:确保主界面右上角的“CUDA加速”已勾选。如果暂时不想降级 CUDA,可以继续使用 CPU 进行语音识别,但处理速度会非常慢。请查阅相关文档:Windows上安装CUDA12.8和cuDNN9.11

自定义参数改为 -hwaccel cuda -hwaccel_device 0 试试。如果还不行,就是无法自定义了,目前的自定义参数是放在最后,位于输出视频文件之前的位置,你使用的这个自定义参数应位于输入视频之前。

可以试试这种方法,指定默认gpu

在 Windows 上,右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
在“系统变量”或“用户变量”中,点击“新建”。
变量名:CUDA_VISIBLE_DEVICES
变量值:根据您的 nvidia-smi 显示,如果您的 5070 Ti 现在是 GPU 0,则填写 0;如果它是 GPU 1,则填写 1。这个数字是 nvidia-smi 命令输出中最左侧的序号。
点击“确定”保存所有设置。
重要:设置完成后,必须完全关闭并重新启动 pyVideoTrans 软件,新的环境变量才会生效。

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