#5438 最后一步字幕配音嵌入时出错: Filter not foundTraceback (most recent call last): File "/Users/sayuri/videoAI/pyvideotrans/videotrans/t

103.151* Posted at: 15 hours ago

最后一步字幕配音嵌入时出错: Filter not found
Traceback (most recent call last):
File "/Users/sayuri/videoAI/pyvideotrans/videotrans/task/trans_create.py", line 1665, in _subprocess

subprocess.run(

File "/Users/sayuri/.local/share/uv/python/cpython-3.10.19-macos-aarch64-none/lib/python3.10/subprocess.py", line 526, in run

raise CalledProcessError(retcode, process.args,

subprocess.CalledProcessError: Command '['ffmpeg', '-nostdin', '-y', '-progress', 'compose1782290837.043966.txt', '-i', 'novoice.mp4', '-i', 'will_embed.m4a', '-filter_complex', "[0:v]subtitles=filename='end.ass'[v_out]", '-map', '[v_out]', '-map', '1:a', '-c:v', 'h264_videotoolbox', '-c:a', 'copy', '-q:v', '67', '-movflags', '+faststart', '-shortest', 'laste_target.mp4']' returned non-zero exit status 8.

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

Traceback (most recent call last):
File "/Users/sayuri/videoAI/pyvideotrans/videotrans/task/trans_create.py", line 1482, in _join_video_a
......
built with Apple clang version 21.0.0 (clang-2100.0.123.102)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/8.1.2 --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 --enable-neon
libavutil 60. 26.102 / 60. 26.102
libavcodec 62. 28.102 / 62. 28.102
libavformat 62. 12.102 / 62. 12.102
libavdevice 62. 3.102 / 62. 3.102
libavfilter 11. 14.102 / 11. 14.102
libswscale 9. 5.102 / 9. 5.102
libswresample 6. 3.102 / 6. 3.102
[AVFilterGraph @ 0x82ec14080] No such filter: 'subtitles'
Error : Filter not found

,Command '['ffmpeg', '-nostdin', '-y', '-progress', 'compose1782290837.043966.txt', '-i', 'novoice.mp4', '-i', 'will_embed.m4a', '-filter_complex', "[0:v]subtitles=filename='end.ass'[v_out]", '-map', '[v_out]', '-map', '1:a', '-c:v', 'h264_videotoolbox', '-c:a', 'copy', '-q:v', '67', '-movflags', '+faststart', '-shortest', 'laste_target.mp4']' returned non-zero exit status 8.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/sayuri/videoAI/pyvideotrans/videotrans/util/help_ffmpeg.py", line 57, in runffmpeg

subprocess.run(

File "/Users/sayuri/.local/share/uv/python/cpython-3.10.19-macos-aarch64-none/lib/python3.10/subprocess.py", line 526, in run

raise CalledProcessError(retcode, process.args,

subprocess.CalledProcessError: Command '['ffmpeg', '-hide_banner', '-nostdin', '-ignore_unknown', '-threads', '0', '-y', '-progress', 'compose1782290837.043966.txt', '-i', 'novoice.mp4', '-i', 'will_embed.m4a', '-filter_complex', "[0:v]subtitles=filename='end.ass'[v_out]", '-map', '[v_out]', '-map', '1:a', '-c:v', 'libx264', '-c:a', 'copy', '-crf', '23', '-preset', 'medium', '-movflags', '+faststart', '-shortest', 'laste_target.mp4']' returned non-zero exit status 8.

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

Traceback (most recent call last):
File "/Users/sayuri/videoAI/pyvideotrans/videotrans/task/trans_create.py", line 1486, in _join_video_audio_srt

runffmpeg(cmd0 + cmd1 + subtitle_filter + cmd2 + enc_qua + cmd3,

File "/Users/sayuri/videoAI/pyvideotrans/videotrans/util/help_ffmpeg.py", line 87, 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 "/Users/sayuri/videoAI/pyvideotrans/videotrans/task/only_one.py", line 124, in run

trk.assembling()

File "/Users/sayuri/videoAI/pyvideotrans/videotrans/task/trans_create.py", line 761, in assembling

self._join_video_audio_srt()

File "/Users/sayuri/videoAI/pyvideotrans/videotrans/task/trans_create.py", line 1489, 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

cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: /Users/sayuri/Downloads/iiiLab.mp4,
输出结果保存到文件夹: /Users/sayuri/Downloads/iiiLab-mp4,
临时文件夹: /Users/sayuri/videoAI/pyvideotrans/tmp/22501/cb416dea09
已选 清理已存在
未选 启用CUDA加速
未选 降噪
语音识别:openai-whisper(本地内置), model_name: large-v3-turbo, 发音语言: 日语, 断句方式:默认断句
翻译渠道:DeepSeek,原始语言:日语,目标语言:简体中文, 已选 发送完整字幕
配音渠道:Edge-TTS(免费), 角色:Yunxia(Male/CN), 配音语言:简体中文, 未选 二次语音识别
音量:+0%, 语速:+0%, 已选 音频加速, 未选 视频慢速
字幕: 嵌入硬字幕
已选 分离人声与背景声, 已选 重新嵌入背景声, 背景音量0.8, 背景声音时长 短于 视频时长时: 拉长(降速播放),存在分离后的纯净人声文件,存在分离后的背景声音文件
代理地址:


=
system:macOS-26.2-arm64-arm-64bit
version:v4.03
frozen:False
language:zh
root_dir:/Users/sayuri/videoAI/pyvideotrans
Python: 3.10.19 (main, Feb 12 2026, 00:36:33) [Clang 21.1.4 ]

1 Replies

这是由 FFmpeg 缺少 libass 库编译支持导致的。错误日志中明确显示 No such filter: 'subtitles',说明当前系统安装的 ffmpeg 没有开启字幕滤镜功能。

解决方案:

  1. 在终端执行以下命令重新安装 FFmpeg,强制启用字幕滤镜支撑库:

    brew install ffmpeg --with-libass

    如果已安装,先执行 brew uninstall ffmpeg 再重装。

  2. 安装完成后,验证 subtitles 滤镜是否可用:

    ffmpeg -filters | grep subtitles

    如果能出现 subtitles 字样,说明安装成功。

  3. 重启 pyVideoTrans 重新执行翻译任务即可。

可能的原因:
Homebrew 默认提供的 FFmpeg 编译配置未勾选 --enable-libass,导致视频硬字幕嵌入功能无法调用对应滤镜。macOS 版的官方预编译包通常也不包含此功能,需要手动指定编译选项。

请查阅相关文档:

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. Dondate: ko-fi.com/jianchang512

Related resource

Similar issues already exist