#5363 任务已完成,但是输出视频却在文件夹找不到

109.110* Posted at: 1 day ago

显示任务已完成,但是输出视频却在文件夹找不到。这个是什么原因遇到了好几次了。

6 Replies

任务显示完成但输出视频找不到,常见原因和排查步骤:

  1. 输出文件夹不对

    • 默认输出在原视频所在目录下的 _video_out 文件夹中。
    • 如果你手动设置了“输出到..”,请检查那个自定义目录。
    • 如果勾选了“仅输出mp4”,则只有最终mp4保留在该目录,其他临时文件会被删除。
  2. 任务实际并未成功完成

    • 进度条显示“完成”可能是最后一步合成出错但未正确报错。
    • 请打开软件根目录下的 logs/YYYYMMDD.log 文件,搜索“error”或查看最后30行,确认是否有合成相关的异常(如FFmpeg失败、文件写入权限等)。
  3. 缓存导致误判

    • 若未勾选“清理已生成”,软件会尝试使用缓存。如果缓存文件损坏或不完整,可能导致跳过合成步骤。
    • 建议重新勾选“清理已生成”再试一次。
  4. 杀毒软件/安全软件拦截

    • 腾讯管家、360、火绒或Windows Defender可能将生成的mp4文件隔离或删除。
    • 请关闭杀毒软件或把软件目录加入白名单后重试。
  5. 磁盘空间不足

    • 合成大视频时需要临时空间,如果磁盘已满,FFmpeg会静默失败。
    • 请检查磁盘剩余空间。

如果以上都排查了仍无效,请提供 logs/ 目录下最新日志文件的内容(复制最后30行左右),以便进一步定位问题。

原始输入文件名: //192.168.2.228/公共盘/产品图片/AF风扇/AF1820/说明视频.mp4,
输出结果保存到文件夹: /192.168.2.228/公共盘/产品使用解说视频/英文/说明视频-mp4,
临时文件夹: D:/win-pyvideotrans-v4.03-0622/tmp/29216/586f8a6959
已选 清理已存在
未选 启用CUDA加速
未选 降噪
语音识别:faster-whisper(本地内置), model_name: large-v3, 发音语言: 简体中文, 断句方式:默认断句
翻译渠道:Google(免费),原始语言:简体中文,目标语言:印度尼西亚语, 已选 发送完整字幕
配音渠道:Edge-TTS(免费), 角色:Gadis(Female/ID), 配音语言:印度尼西亚语, 未选 二次语音识别
音量:+0%, 语速:+0%, 已选 音频加速, 未选 视频慢速
字幕: 嵌入硬字幕
代理地址:http://127.0.0.1:7897
[DEBUG] The file info after process:result={'video_fps': 30.0, 'r_frame_rate': 30.0, 'video_codec_name': 'h264', 'audio_codec_name': 'aac', 'width': 1080, 'height': 1920, 'time': 57700, 'streams_len': 2, 'streams_audio': 1, 'video_streams': 1, 'color': 'yuv420p'}

[DEBUG] app_cfg.proxy='http://127.0.0.1:7897'
[DEBUG] 可以使用 huggingface.co
Returning existing local_dir D:\win-pyvideotrans-v4.03-0622\models\models--Systran--faster-whisper-large-v3 as remote repo cannot be accessed in `snapshot
......
[current_slot_audio_len=820 slot_duration=820] | Timeline: 31260 -> 32080
[DEBUG] [Audio-Sync] Line=20 | 匹配 | [current_slot_audio_len=2130 slot_duration=2130] | Timeline: 32080 -> 34210
[DEBUG] [Audio-Sync] Line=21 | 匹配 | [current_slot_audio_len=1260 slot_duration=1260] | Timeline: 34210 -> 35470
[DEBUG] [Audio-Sync] Line=22 | 匹配 | [current_slot_audio_len=1160 slot_duration=1160] | Timeline: 35470 -> 36630
[DEBUG] [Audio-Sync] Line=23 | 匹配 | [current_slot_audio_len=1240 slot_duration=1240] | Timeline: 36630 -> 37870
[DEBUG] [Audio-Sync] Line=24 | 匹配 | [current_slot_audio_len=1320 slot_duration=1320] | Timeline: 37870 -> 39190
[DEBUG] [Audio-Sync] Line=25 | 匹配 | [current_slot_audio_len=1800 slot_duration=1800] | Timeline: 39190 -> 40990
[DEBUG] [Audio-Sync] Line=26 | 匹配 | [current_slot_audio_len=1060 slot_duration=1060] | Timeline: 40990 -> 42050
[DEBUG] [Audio-Sync] Line=27 | 匹配 | [current_slot_audio_len=1260 slot_duration=1260] | Timeline: 42050 -> 43310
[DEBUG] [Audio-Sync] Line=28 | 匹配 | [current_slot_audio_len=1200 slot_duration=1200] | Timeline: 43310 -> 44510
[DEBUG] [Audio-Sync] Line=29 | 匹配 | [current_slot_audio_len=1560 slot_duration=1560] | Timeline: 44510 -> 46070
[DEBUG] [Audio-Sync] Line=30 | 音频末尾补静音 1300ms | [current_slot_audio_len=1390 slot_duration=2690] | Timeline: 46070 -> 48760
[DEBUG] [Audio-Sync] Line=31 | 匹配 | [current_slot_audio_len=1580 slot_duration=1580] | Timeline: 48760 -> 50340
[DEBUG] [Audio-Sync] Line=32 | 匹配 | [current_slot_audio_len=1160 slot_duration=1160] | Timeline: 50340 -> 51500
[DEBUG] [Audio-Sync] Line=33 | 匹配 | [current_slot_audio_len=940 slot_duration=940] | Timeline: 51500 -> 52440
[DEBUG] [Audio-Sync] Line=34 | 匹配 | [current_slot_audio_len=1320 slot_duration=1320] | Timeline: 52440 -> 53760
[DEBUG] [Audio-Sync] Line=35 | 匹配 | [current_slot_audio_len=1940 slot_duration=1940] | Timeline: 53760 -> 55700
[DEBUG] [Audio-Sync] Line=36 | 匹配 | [current_slot_audio_len=640 slot_duration=640] | Timeline: 55700 -> 56340
[DEBUG] [Audio-Sync] Line=37 | 匹配 | [current_slot_audio_len=1360 slot_duration=1360] | Timeline: 56340 -> 57700
[DEBUG] [Audio-Concat] 最终音频已生成: D:/win-pyvideotrans-v4.03-0622/tmp/29216/586f8a6959/target.wav

[DEBUG]


==准备要嵌入的字幕:self.cfg.subtitle_type=1
=
[DEBUG] 最终确定字幕嵌入类型:1 ,目标字幕语言:ind, 字幕文件:D:/win-pyvideotrans-v4.03-0622/tmp/29216/586f8a6959/end.srt

[DEBUG] 返回缓存的编解码器 Windows-264: h264_amf
[DEBUG] 原始hw_type='h264_amf'
[DEBUG] 整理后hw_type='amf'
[DEBUG] [尝试硬件编解码执行命令]
-y -progress compose1782113770.0689342.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_amf -c:a copy -rc cqp -qp_p 23 -qp_i 23 -quality balanced -movflags +faststart -shortest laste_target.mp4

根据日志分析,问题出在以下两个原因:

  1. 输出路径为网络共享路径 (//192.168.2.228/...),Windows 下 FFmpeg 可能无法正确写入此类正斜杠格式的网络路径(应使用 \\192.168.2.228\... 或映射驱动器)。日志中合成命令最后使用的是 laste_target.mp4 目标文件,但未出现在预期输出目录。
  2. 硬件编码失败:日志末尾显示调用了 h264_amf(AMD 硬件编码器),但后续没有成功或失败日志,很可能编码过程中出错导致合成中断,但错误未被正确捕获,主线程误判任务完成。

解决方法:

  1. 将原始视频 说明视频.mp4 复制到本地磁盘(如 D:\temp),然后重新运行,输出目录也手动设为一个本地文件夹(如 D:\output),避免网络路径问题。
  2. 在软件 菜单 -> 工具 -> 高级选项 -> 视频输出控制 中,勾选“强制软编码视频?”,这样会使用软件编码(libx264),避免 AMD 硬件编码器可能出现的兼容性问题。
  3. 如果仍失败,请查看 logs/ 目录下最新的 .log 文件,搜索 errorffmpeg,把最后 20 行粘贴给我进一步分析。

临时恢复办法:即使最终输出未生成,tmp/29216/586f8a6959/ 目录下可能已经生成了 target.wav(配音音频)和 end.srt(字幕),可以用这些素材手动合成。

未考虑也未测试 网络地址,建议挂载到本地目录,以正常 windows 盘符和路径访问

好的,请问字幕的字体如何导入?为什么我的字体就只有一个Arial,就没有其他的字体了?

字幕字体由Windows系统安装的字体决定,软件本身不内置字体文件。你看到的只有Arial,是因为系统可用字体列表只读取到了它。

解决办法:

  1. 安装字体至系统
    下载你需要的 .ttf.otf 字体文件(例如从网上下载“思源黑体”、“微软雅黑”等),双击字体文件,点击“安装”。安装后重启 pyVideoTrans。
  2. 在软件中选择新字体
    主界面点击“设置更多参数 → 修改硬字幕样式”,在“字体”下拉列表中即可看到刚刚安装的字体。

如果安装后下拉列表仍未出现,可能是字体名称较长或特殊字符导致,可关闭软件重新打开一次,或直接尝试在样式编辑器中手动输入字体名称(如“SimHei”)。

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