#8485 最后一步字幕配音嵌入时出错: Filter not foundTraceback (most recent call last):

212.135**5 Posted at: 1 hour ago

最后一步字幕配音嵌入时出错: Filter not found
Traceback (most recent call last):
File "/private/tmp/pynini-fix/pynini-2.1.6.post1/pyvideotrans/videotrans/task/_stage_assemble.py", line 248, in _join_video_audio_srt

self._subprocess(cmd0 + hw_decode_args + cmd1 + [vf_string] + cmd2 + enc_args + cmd3)

File "/private/tmp/pynini-fix/pynini-2.1.6.post1/pyvideotrans/videotrans/task/_stage_assemble.py", line 439, in _subprocess

raise RuntimeError(f"{stderr},{stdout}")

RuntimeError: ffmpeg version 9.0.2 Copyright (c) 2000-2026 the FFmpeg developers
built with Apple clang version 17.0.0 (clang-1700.6.4.2)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/9.0.2_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libsvtav1 --enable-libopus --enable-libx264 --enable-libmp3lame --enable-libdav1d --enable-libvmaf --enable-libvpx --enable-libx265 --enable-openssl --enable-videotoolbox --enable-audiotoolbox -
......
st1/pyvideotrans/videotrans/util/_ffmpeg_runner.py", line 95, in runffmpeg

raise FFmpegError(err) from e

videotrans.configure.excepts.FFmpegError: : Filter not found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/private/tmp/pynini-fix/pynini-2.1.6.post1/pyvideotrans/videotrans/task/only_one.py", line 165, in run

trk.assembling()

File "/private/tmp/pynini-fix/pynini-2.1.6.post1/pyvideotrans/videotrans/task/_stage_assemble.py", line 26, in assembling

self._join_video_audio_srt()

File "/private/tmp/pynini-fix/pynini-2.1.6.post1/pyvideotrans/videotrans/task/_stage_assemble.py", line 256, in _join_video_audio_srt

raise VideoTransError(tr('Error in embedding the final step of the subtitle dubbing')+str(e)) from e

videotrans.configure.excepts.VideoTransError: 最后一步字幕配音嵌入时出错: Filter not found

trk=[TransCreate]: uuid='61a96a7d01', proxy_str=None, cfg=[TaskCfgVTT]当前工作模式: 翻译视频 单视频模式
原始输入文件名: /Users/linbojun/Documents/EnglishPod/视频课程/未命名文件夹/1Elementary - Difficult Customer.mp4,
输出结果保存到文件夹: /Users/linbojun/Documents/EnglishPod/视频课程/_video_out/未命名文件夹/1Elementary - Difficult Customer-mp4,
临时文件夹: /private/tmp/pynini-fix/pynini-2.1.6.post1/pyvideotrans/tmp/17943/61a96a7d01
未选 清理已存在
未启用CUDA加速
语音识别:faster-whisper(内置), large-v3-turbo, 发音语言: 英语, , 数据类型:default
翻译渠道:Google(免费),原始语言:英语,目标语言:简体中文, 已选 发送完整字幕, settings.get('trans_thread')=5, settings.get('aitrans_thread')=40
未选 配音角色,不进行配音
字幕: 嵌入硬字幕 , precent=95, hasend=False, should_recogn=True, should_trans=True, should_dubbing=False, should_hebing=True, is_copy_video=True, video_codec_num=264, ignore_align=False, is_audio_trans=False, clone_ref='', should_recogn2=False, do_diarize=True
video_duration_ms=444566


=
system:macOS-15.6.1-arm64-arm-64bit
version:v4.17
frozen:False
language:zh_CN
root_dir:/private/tmp/pynini-fix/pynini-2.1.6.post1/pyvideotrans
Python: 3.10.19 (main, Feb 12 2026, 00:36:33) [Clang 21.1.4 ]

1 Replies

#1 DeepSeek reply at 1 hour ago

ffmpeg 缺少 libass 支持,导致 subtitles 硬字幕滤镜不可用。

从报错中的 configuration: 行可确认:你当前用 brew install ffmpeg 安装的 Homebrew 官方 ffmpeg 9.0.2,编译参数里没有 --enable-libass,因此 [AVFilterGraph] No such filter: 'subtitles'。这是 Homebrew 官方 formula 的已知情况(它移除了 libass 依赖),不是软件本身的 bug。

解决方案(二选一)

方案 A:安装带 libass 的 ffmpeg(推荐,彻底解决)

# 卸载当前缺 libass 的 ffmpeg(可选)
brew uninstall ffmpeg

# 安装官方推荐的 ffmpeg 源(自带 libass 等全套滤镜)
brew tap homebrew-ffmpeg/ffmpeg
brew install homebrew-ffmpeg/ffmpeg/ffmpeg

安装后验证:

ffmpeg -filters | grep subtitles

能列出 subtitles 滤镜即成功,然后重新翻译视频即可(务必勾选 清理已生成)。

方案 B:临时规避 subtitles 滤镜

在主界面把 字幕嵌入类型 从「嵌入硬字幕」改为 「嵌入软字幕」(或「不嵌入字幕」),软字幕合并走的是 -c:s 容器轨道路径,不依赖 subtitles 滤镜,即可正常完成最后一步合成。

⚠️ 缺点:软字幕在网页播放器中不显示、需要播放器手动开启字幕轨道;且无法满足"烧录进画面"的需求。

补充说明

  • 你的环境是 macOS 源码部署(frozen:False,root_dir 在 /private/tmp/pynini-fix/...),本知识库对 MacOS 明确推荐的就是 homebrew-ffmpeg/ffmpeg 这个 tap(而非官方 brew install ffmpeg),正是因为它完整编译了 libass/libfreetype 等滤镜库。
  • 如果 tap 安装后仍然失败,执行 brew doctor 排查冲突,或 brew reinstall homebrew-ffmpeg/ffmpeg/ffmpeg。
  • 源码部署时软件会优先使用系统 PATH 中的 ffmpeg,请确认 which ffmpeg 指向的仍是 Homebrew 的路径。

请查阅相关文档:

Thinking...
Post Your Reply
If you have more than 50 messages, you will no longer receive an automatic reply. Please ask a new question!
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.

Dondate via ko-fi.com

Related resource