#2758 TaskCfg(cache_folder='F:/win-pyvideotrans-v3.92/tmp/2788/eedd829759', target_dir='F:/', remove_noise=False, is_separate=

120.239* Posted at: 6 days ago 👁26

程序内部错误:'NoneType' object has no attribute 'seek'
Traceback (most recent call last):
File "pydub\audio_segment.py", line 670, in from_file
File "pydub\audio_segment.py", line 818, in _from_safe_wav
AttributeError: 'NoneType' object has no attribute 'seek'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "videotrans\task\job.py", line 259, in run
File "videotrans\task\_dubbing.py", line 268, in align
File "videotrans\task\_rate.py", line 278, in run
File "videotrans\task\_rate.py", line 819, in _concat_audio
File "pydub\audio_segment.py", line 678, in from_file
AttributeError: 'NoneType' object has no attribute 'seek'

TaskCfg(cache_folder='F:/win-pyvideotrans-v3.92/tmp/2788/eedd829759', target_dir='F:/', remove_noise=False, is_separate=False, detect_language=None, subtitle_language=None, source_language=None, target_language=None, source_language_code=None, target_language_code='zh-cn', source_sub=None, target_sub='F:/02.srt', source_wav=None, source_wav_output=None, target_wav='F://02.wav', target_wav_output=None, subtitles=None, novoice_mp4=None, noextname='02', shibie_audio=None, targetdir_mp4=None, instrument=None, vocal=None, back_audio=None, background_music=None, app_mode='biaozhun', subtitle_type=0, volume='+0%', pitch='+0Hz', voice_rate='+10%', voice_role='Xiaoxiao(Female/CN)', copysrt_rawvideo=False, clear_cache=False, translate_type=None, tts_type=0, recogn_type=None, model_name=None, split_type=0, voice_autorate=True, video_autorate=False, cuda=False, name='F:/02.srt', basename='02.srt', ext='srt', dirname='F:/', shound_del_name=None, uuid='eedd829759', remove_silent_mid=False, align_sub_audio=False, enable_diariz=False, nums_diariz=0, rephrase=2, only_out_mp4=False)


=
system:Windows-10-10.0.26200-SP0
version:v3.92
frozen:True
language:zh
root_dir:F:/win-pyvideotrans-v3.92

1 Replies

这个错误表明在音频对齐或合并阶段,程序尝试读取一个不存在的音频文件(NoneType)。从您的 TaskCfg 配置来看,您正在处理一个字幕文件(F:/02.srt)并为其配音(target_wav='F://02.wav'),但程序在尝试加载或处理这个 .wav 文件时失败了。

核心原因与解决方案:

  1. 目标音频文件生成失败或路径错误target_wav='F://02.wav' 这个路径使用了双斜杠 //,虽然在某些情况下能解析,但可能导致了文件生成或读取异常。更关键的是,程序可能未能成功生成这个 .wav 文件。
  2. 音频文件本身已损坏或为空:生成的 .wav 文件可能因为 TTS 合成失败、网络问题或磁盘权限问题而损坏或大小为 0。

请按以下步骤排查:

第一步:检查并修正文件路径与状态

  • 前往 F:/ 目录,检查是否存在 02.wav 文件。
  • 如果文件存在,请检查其文件大小。如果大小为 0 KB,说明配音生成失败。
  • 如果文件不存在,说明配音环节就出错了。

第二步:重新执行并观察日志

  1. 在软件主界面,务必勾选“清理已生成”,以清除之前的错误缓存。
  2. 重新选择 F:/02.srt 文件,并执行“批量为字幕配音”功能。
  3. 密切观察任务执行过程中的日志输出(主界面下方的黑色区域),看是否有关于 TTS 合成失败、网络错误或文件写入错误的提示。

第三步:针对性解决

  • 如果 TTS 合成失败(日志中有相关错误)

    • 检查您使用的配音渠道(如 Edge-TTS)的网络连接和可用性。
    • 尝试更换一个更稳定的配音角色或渠道(例如,从 Edge-TTS 切换到 VITS-cnen 本地合成进行测试)。
    • 工具 -> 选项 -> 高级选项 -> 配音调整 中,降低“同时配音字幕数”为 1,并增加“配音后暂停时间/秒”为 3-5,以避免接口限流。
  • 如果文件写入失败(权限问题)

    • 确保软件没有安装在 C:\Program Files 等需要管理员权限的目录。请将整个 pyVideoTrans 文件夹移动到 D:\ 等用户有完全控制权的目录下再运行。
    • 暂时关闭杀毒软件或防火墙,看是否是其拦截了文件写入。

第四步:提供完整日志
如果以上步骤无法解决,请提供完整的错误日志以便进一步分析:

  1. 在软件中,进入 帮助 -> 打开日志文件夹
  2. 将最新的日志文件(通常是 app.log 或带日期的文件)内容复制出来。

请查看更多参考文档:

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