#2713 parsing a filter description around: parsing filterchain 'subtitles=vas-1768743115.6839669.srt.ass:charenc=utf-8' aroun

240e:b8f* Posted at: 2 hours ago 👁10

parsing a filter description around: parsing filterchain 'subtitles=vas-1768743115.6839669.srt.ass:charenc=utf-8' around: opening output file /Users/mercedes/RELAX/pyvideotrans-3.91/output/vas/20260114yt-1768743115.mp4. opening output files: Invalid argument


=
system:macOS-15.5-arm64-arm-64bit
version:v3.91
frozen:False
language:zh
root_dir:/Users/mercedes/RELAX/pyvideotrans-3.91
Python: 3.10.19 (main, Oct 9 2025, 15:25:03) [Clang 17.0.0 (clang-1700.0.13.3)]

3 Replies

这个错误表明在将字幕文件(vas-1768743115.6839669.srt.ass)嵌入到视频时,FFmpeg 在打开输出文件时遇到了“Invalid argument”(无效参数)问题。这通常与输出文件路径或文件名包含非法字符有关。

根据您提供的系统信息和错误日志,请按以下步骤排查:

  1. 检查并简化输出路径和文件名

    • 错误日志显示输出路径为:/Users/mercedes/RELAX/pyvideotrans-3.91/output/vas/20260114yt-1768743115.mp4
    • 问题可能在于20260114yt-1768743115.mp4 这个文件名可能包含了一些 macOS 文件系统不支持的字符,或者路径过长、包含特殊符号。
    • 解决方案

      • 将您的原始视频文件重命名为一个简短、纯英文、无空格和特殊符号的名字(例如 test.mp4)。
      • 将重命名后的视频文件移动到一个路径简单的目录下(例如 /Users/mercedes/Desktop/)。
      • 使用这个新路径下的视频文件重新进行翻译处理。
  2. 确保有足够的磁盘空间和写入权限

    • 检查 /Users/mercedes/RELAX/pyvideotrans-3.91/output/ 目录是否有足够的可用空间。
    • 确保当前用户对该目录有读写权限。
  3. 清理缓存并重新处理

    • 在主界面处理新视频时,务必勾选“清理已生成”,以避免使用可能已损坏的缓存文件。

核心要点:macOS 对文件路径和名称有严格限制。请始终使用简短、纯英文的文件名和路径来处理视频,这是避免此类 FFmpeg 错误的最有效方法。

如果问题依旧,请提供 pyvideotrans/logs/ 目录下的最新日志文件(transcribe.logvideo.log)以进行更深入的分析。

请查看更多参考文档:

2026-01-18 14:02:40,201 - INFO - 返回缓存的编解码器 Darwin-264: h264_videotoolbox
2026-01-18 14:02:40,201 - INFO - 返回缓存的编解码器 Darwin-265: hevc_videotoolbox
2026-01-18 14:02:58,555 - INFO - cmd=['ffmpeg', '-hide_banner', '-ignore_unknown', '-threads', '0', '-y', '-i', '/Users/mercedes/RELAX/Иван Ожогин. Творческий вечер 2 отделения [_kkUedsEDTs].mkv', '-ac', '1', '-ar', '16000', '-c:a', 'pcm_s16le', '/Users/mercedes/RELAX/pyvideotrans-3.91/tmp/5964/c025623ef5/Иван Ожогин. Творческий вечер 2 отделения [_kkUedsEDTs]-1768716178.512515.wav']
2026-01-18 14:03:13,070 - INFO - 开始降噪
2026-01-18 14:03:13,108 - ERROR - 降噪时出错:Please first download a model from https://github.com/k2-fsa/sherpa-onnx/releases/tag/speech-enhancement-models
Traceback (most recent call last):
File "/Users/mercedes/RELAX/pyvideotrans-3.91/videotrans/task/_remove_noise.py", line 58, in run_remove

sd = create_speech_denoiser(thread_nums)

File "/Users/mercedes/RELAX/pyvideotrans-3.91/videotrans/task/_remove_noise.py",
......
:45.93, start: 0.000000, bitrate: 2231 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn (default)

Metadata:
  HANDLER_NAME    : ISO Media file produced by Google Inc.
  VENDOR_ID       : [0][0][0][0]
  DURATION        : 02:23:45.900000000

Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)

Metadata:
  DURATION        : 02:23:45.928000000

[AVFilterGraph @ 0x600003e53900] No option name near 'vas-1768743268.401132.srt.ass:charenc=utf-8'
[AVFilterGraph @ 0x600003e53900] Error parsing a filter description around:
[AVFilterGraph @ 0x600003e53900] Error parsing filterchain 'subtitles=vas-1768743268.401132.srt.ass:charenc=utf-8' around:
Error opening output file /Users/mercedes/RELAX/pyvideotrans-3.91/output/vas/20260114yt-1768743268.mp4.
Error opening output files: Invalid argument

2026-01-18 21:34:28,471 - WARNING - 回退: 硬件加速失败,将自动回退到 CPU 编码重试...
2026-01-18 21:34:28,471 - INFO - cmd=['ffmpeg', '-hide_banner', '-ignore_unknown', '-threads', '0', '-y', '-progress', '/Users/mercedes/RELAX/pyvideotrans-3.91/tmp/6288/jd1768743268.388921.txt', '-i', '/Users/mercedes/RELAX/20260114yt.mkv', '-c:v', 'libx265', '-vf', 'subtitles=vas-1768743268.401132.srt.ass:charenc=utf-8', '-crf', '24', '-preset', 'veryfast', '/Users/mercedes/RELAX/pyvideotrans-3.91/output/vas/20260114yt-1768743268.mp4']
2026-01-18 21:34:28,505 - WARNING - FFmpeg 命令执行失败 (force_cpu=True)。
命令: ffmpeg -hide_banner -ignore_unknown -threads 0 -y -progress /Users/mercedes/RELAX/pyvideotrans-3.91/tmp/6288/jd1768743268.388921.txt -i /Users/mercedes/RELAX/20260114yt.mkv -c:v libx265 -vf subtitles=vas-1768743268.401132.srt.ass:charenc=utf-8 -crf 24 -preset veryfast /Users/mercedes/RELAX/pyvideotrans-3.91/output/vas/20260114yt-1768743268.mp4
错误: Input #0, matroska,webm, from '/Users/mercedes/RELAX/20260114yt.mkv':
Metadata:

COMPATIBLE_BRANDS: iso6avc1mp41
MAJOR_BRAND     : dash
MINOR_VERSION   : 0
ENCODER         : Lavf62.3.100

Duration: 02:23:45.93, start: 0.000000, bitrate: 2231 kb/s
Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 1k tbn (default)

Metadata:
  HANDLER_NAME    : ISO Media file produced by Google Inc.
  VENDOR_ID       : [0][0][0][0]
  DURATION        : 02:23:45.900000000

Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)

Metadata:
  DURATION        : 02:23:45.928000000

[AVFilterGraph @ 0x600000307900] No option name near 'vas-1768743268.401132.srt.ass:charenc=utf-8'
[AVFilterGraph @ 0x600000307900] Error parsing a filter description around:
[AVFilterGraph @ 0x600000307900] Error parsing filterchain 'subtitles=vas-1768743268.401132.srt.ass:charenc=utf-8' around:
Error opening output file /Users/mercedes/RELAX/pyvideotrans-3.91/output/vas/20260114yt-1768743268.mp4.
Error opening output files: Invalid argument

您遇到了两个独立但可能相关的问题:

问题一:降噪模型缺失

错误信息显示:“降噪时出错: Please first download a model from ...”。这是因为您勾选了“降噪”功能,但软件未找到对应的降噪模型。

解决方案:

  1. 临时解决:在主界面取消勾选“降噪”选项,然后重新处理视频。
  2. 永久解决:按照错误提示中的链接下载降噪模型,并将其放置在正确的目录下(通常位于软件安装目录的 modelsspeech-enhancement-models 文件夹内)。具体放置路径请参考软件文档。

问题二:FFmpeg 字幕嵌入失败(核心问题)

这是导致处理失败的根本原因。错误信息反复出现:

Error parsing filterchain 'subtitles=vas-1768743268.401132.srt.ass:charenc=utf-8'
Error opening output file ... Invalid argument

结合您提供的日志,问题根源在于文件路径和名称中包含非ASCII字符(西里尔字母和特殊符号),导致 FFmpeg 无法正确解析。

具体分析:

  • 您的原始视频文件名为:Иван Ожогин. Творческий вечер 2 отделения [_kkUedsEDTs].mkv(包含俄语字符和方括号)。
  • 软件在处理过程中生成的临时字幕文件(如 vas-1768743268.401132.srt.ass)和最终输出文件路径都继承了这些复杂字符,触发了 macOS 系统下 FFmpeg 的路径解析错误。

彻底解决方案:

  1. 重命名原始视频文件

    • 将视频文件重命名为一个简短、纯英文、无空格、无特殊符号的名称。例如:ivan_concert.mkv
    • 重要:不要使用中文、俄语、日语等非ASCII字符,避免使用 [], (), &, 空格 等符号。
  2. 使用简化的目录

    • 将重命名后的视频文件移动到一个路径简单的目录中,例如 /Users/mercedes/Desktop/
  3. 重新处理

    • 使用新路径下的视频文件(如 /Users/mercedes/Desktop/ivan_concert.mkv)重新进行翻译。
    • 务必勾选主界面的“清理已生成”,以确保不使用任何旧缓存。
  4. (可选)检查输出目录

    • 确保输出目录 /Users/mercedes/RELAX/pyvideotrans-3.91/output/ 存在且当前用户有写入权限。

总结:macOS(以及许多命令行工具)对文件路径中的特殊字符处理不佳。遵循“简短纯英文”的命名规则是避免此类 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