乐于分享
好东西不私藏

用本地 AI,把一条 5 分钟英文视频做成了中文配音版

用本地 AI,把一条 5 分钟英文视频做成了中文配音版

从英文转写、中文字幕、原声音色克隆,到字幕避让和最终质检:这篇文章完整复盘一条 1080P 视频的中文本地化流程。

很多人第一次做“英文视频中文化”,会以为只要完成两件事:翻译字幕、换成中文配音。

真正动手后才会发现,难点恰恰藏在细节里:专业术语容易听错;中文句长和英文不同;配音必须塞回原来的时间窗口;原视频自带的英文字幕还会与中文字幕打架;最后还要兼顾人声、环境声、字幕大小与观看体验。

这次我处理的是一条约 5 分 19 秒、1920×1080、30fps 的英文技术视频。最终完成了:

  • • 英文语音自动转写与专业术语校正;
  • • 中文翻译与硬字幕压制;
  • • 基于原说话人的跨语言音色克隆;
  • • 逐句时长匹配和音视频重新封装;
  • • 中文字幕缩小、下沉,并避开原英文字幕;
  • • 多时间点抽帧、时长、响度与轨道检查。

下面把全过程拆开讲。


一、先看最终问题:字幕不是“加上去”就结束了

第一版中文字幕信息完整,但字号过大,长句会遮挡人物和画面信息;开头区域还与视频原有的英文动态字幕发生重叠。

最终版采用 24px 单行字幕,将长句拆分为更短的时间片,并把中文字幕沉到画面最底部。这样既保留了原英文字幕,也不会挡住人物面部和主要视觉元素。

开头的实际对比如下。原视频的英文字幕本身位于下方偏中区域,因此中文字幕不能继续堆在同一高度。

原视频开头画面

优化后:中文字幕放在英文字幕下方

这个经验很重要:字幕布局必须基于原画面,而不是只看 SRT 文件。


二、整体工作流

整条流程可以概括为:

  1. 1. 用 ffprobe 检查视频参数;
  2. 2. 提取 16kHz 单声道音频;
  3. 3. 使用 Whisper.cpp 转写英文并输出 SRT/JSON;
  4. 4. 翻译成中文,同时人工修正专业术语;
  5. 5. 从原视频截取干净的人声片段作为音色参考;
  6. 6. 使用 Qwen3-TTS + MLX 在 Apple Silicon 本地克隆音色并生成中文语音;
  7. 7. 将每句中文配音伸缩到原英文句子的时间区间;
  8. 8. 用 FFmpeg 压制字幕、混合少量环境声并封装 MP4;
  9. 9. 抽取多个时间点做视觉和音频质检。

核心原则只有一句:字幕、配音和画面都要回到同一条时间轴上。


三、第一步:检查源视频

先不要急着转写,先确认视频是否包含音轨、分辨率、帧率和总时长。

ffprobe -v error \
  -show_entries format=duration,size:stream=index,codec_type,codec_name,width,height,r_frame_rate,sample_rate,channels \
  -of json "~/Downloads/source.mp4"

后台得到的关键结果如下:

{
"video":{
"codec":"h264",
"width":1920,
"height":1080,
"frame_rate":"30/1"
},
"audio":{
"codec":"aac",
"sample_rate":48000,
"channels":2
},
"duration":319.034
}

这一步能提前发现很多问题,例如:素材只有画面没有音轨、手机视频是可变帧率、音频采样率不统一,或者源文件本身已经损坏。


四、第二步:提取音频并用 Whisper 转写

Whisper.cpp 对 16kHz、单声道、PCM WAV 的兼容性很好,因此先把音频从 MP4 中提取出来:

ffmpeg -y -i "source.mp4" \
  -vn -ar 16000 -ac 1 -c:a pcm_s16le \
"speech.wav"

然后使用英文模型转写:

whisper-cli \
  -m models/ggml-medium.en-q5_0.bin \
  -f speech.wav \
  -l en \
  -osrt -oj \
  -of transcript-en \
  -t 8

后台会连续输出带时间戳的句段:

[00:00:00.000 --> 00:00:04.940] Half of my time as DevRel is answering the same question.
[00:00:04.940 --> 00:00:07.920] What kind of finance can DeFi actually compute?
[00:00:07.920 --> 00:00:10.460] So I answered it three times at once.

模型同时生成:

  • • transcript-en.srt:用于字幕时间轴;
  • • transcript-en.json:便于后续脚本读取和加工。

为什么转写后还要人工校正?

技术视频里经常出现库名、算法和缩写,语音模型很容易“听起来合理,但实际上错了”。这次就出现过几类典型错误:

  • • Monte Carlo 被识别成 Multi-carlo
  • • math.h 被识别成普通英文单词;
  • • SLEEFQuantLibMKL 等库名被错误拆分;
  • • integer addition 被误听成语义完全不同的词组。

所以,自动转写负责完成 90% 的体力活,最后 10% 的术语校对决定了教程是否可信。


五、第三步:翻译不是逐字替换,而是“按时间翻译”

英文和中文的表达长度差异很大。如果只做字面翻译,中文配音很可能在原句结束后还没说完。

我的处理方式是把每条字幕保存成三个字段:

开始时间<TAB>结束时间<TAB>中文文本

例如:

4.940    7.920    DeFi 到底能计算什么样的金融模型?
7.920    10.460   所以,我一次给出了三个版本的答案。

翻译时遵循三条规则:

  1. 1. 技术名词准确优先,例如 DeFi、EVM、RISC-V、SciPy 不强行中文化;
  2. 2. 尽量使用中文口语,而不是论文式长句;
  3. 3. 在不丢失含义的前提下压缩字数,为配音留出呼吸空间。

六、第四步:用原说话人的音色生成中文配音

第一版使用的是系统普通话女声,内容虽然正确,但与原视频里的年轻男性声音差别太大。为了让成片更自然,后续改用了 Qwen3-TTS 0.6B Base 4-bit 做跨语言音色克隆。

运行环境是 Apple Silicon Mac,推理框架使用 MLX。先从原视频截取一段约 8 秒、语音清晰的参考音频:

ffmpeg -ss 0 -t 7.92 -i "source.mp4" \
  -vn -ac 1 -ar 24000 \
"reference-speaker.wav"

再加载模型并生成中文语音:

from mlx_audio.tts.utils import load_model
import numpy as np
import soundfile as sf

model = load_model(
"mlx-community/Qwen3-TTS-12Hz-0.6B-Base-4bit"
)

result = list(model.generate(
    text="我做开发者关系的时间,有一半都在回答同一个问题。",
    ref_audio="reference-speaker.wav",
    ref_text=(
"Half of my time as DevRel is answering the same question. "
"What kind of finance can DeFi actually compute?"
    ),
    lang_code="Chinese",
    temperature=0.7,
    top_p=0.9,
))[0]

sf.write("clone.wav", np.asarray(result.audio), result.sample_rate)

参考音频与中文克隆样本的波形如下。波形不能直接证明音色相同,但可以帮助检查停顿、动态范围和是否出现异常爆音。

原英文参考音频波形

音色克隆后的中文样本波形

后台进一步计算了基频中位数:原声约为 150.9Hz,克隆样本约为 134.1Hz,二者都处于相近的男性音高范围。

提醒:音色克隆应获得声音所有者授权,并明确使用场景。不要把这项技术用于冒充、欺诈或未经同意的商业传播。


七、第五步:让每句中文配音回到原时间窗口

即使音色已经接近,生成的中文语音仍不一定与原句时长完全一致。因此需要逐句测量生成音频的时长,再用 FFmpeg 的 atempo 滤镜做微调。

target = subtitle_end - subtitle_start
speed = generated_duration / target

对应的 FFmpeg 命令如下:

ffmpeg -i raw-clone.wav \
  -af "atempo=1.083,apad,atrim=0:4.940" \
  -ar 48000 -ac 1 -c:a pcm_s16le \
  fitted.wav

这里有两个细节:

  • • atempo 负责调整语速,但不直接改变音高;
  • • apad + atrim 确保每个片段的最终长度严格等于字幕区间。

所有片段处理完后,再通过 concat 列表拼成一条完整中文音轨。

ffmpeg -f concat -safe 0 \
  -i concat.txt \
  -c:a pcm_s16le \
  dub-zh.wav

八、第六步:保留环境声,同时尽量压掉英文人声

如果直接丢弃原音轨,成片会变得很“干”,缺少环境感;但如果把原声保留太多,英文和中文又会同时出现。

这次采用了一个轻量方案:利用立体声左右声道相减,弱化通常位于中央的英文人声,再把剩余环境声以较低音量混回中文配音。

ffmpeg -i source.mp4 -i dub-zh.wav \
  -filter_complex "
    [0:a]pan=mono|c0=0.5*c0-0.5*c1,
         volume=0.14,
         highpass=f=80,
         lowpass=f=12000[bg];
    [1:a]volume=1.12[zh];
    [bg][zh]amix=inputs=2:duration=longest:normalize=0,
             alimiter=limit=0.95[aout]
  "
 \
  -map 0:v:0 -map "[aout]" \
  -c:v copy -c:a aac -b:a 192k \
  output.mp4

这个方法不等于专业人声分离,但对于“人声居中、背景较轻”的素材,速度快、成本低,足以保留一点现场质感。


九、第七步:烧录中文字幕,并解决与英文字幕重叠的问题

最初的中文字幕采用 32px、多行显示。实际抽帧后发现:长句会占据画面中下部,并与原视频的英文字幕重合。

最终的优化策略是:

  • • 字号缩小到 24px;
  • • 每次只显示一行;
  • • 长句拆成多个短时间片;
  • • 底部边距设为 14px,让中文字幕落在英文字幕下方;
  • • 保留 2px 黑色描边,以适应深浅变化的背景。

压制命令:

ffmpeg -i source.mp4 -i cloned-audio.mp4 \
  -vf "subtitles='subtitles-zh-compact.srt':force_style='
       FontName=PingFang SC,
       FontSize=24,
       PrimaryColour=&H00FFFFFF,
       OutlineColour=&H00101010,
       BorderStyle=1,
       Outline=2,
       Shadow=0,
       Alignment=2,
       MarginV=14'"
 \
  -map 0:v:0 -map 1:a:0 \
  -c:v libx264 -preset medium -crf 18 \
  -c:a copy -movflags +faststart \
  final.mp4

长句拆分使用“视觉宽度”而不是简单字符数:中文字符按 1 个单位计算,ASCII 字母按约 0.55 个单位计算。这样 QuantLibScikit-learn 之类的英文术语不会导致字幕过早换行。


十、最后一步:不要相信“命令执行成功”,要相信质检结果

最终成片至少做四类检查。

1. 检查文件参数

ffprobe -v error \
  -show_entries format=duration,size:stream=index,codec_type,codec_name,width,height,sample_rate,channels \
  -of json final.mp4

确认结果:

  • • 时长:319.034 秒;
  • • 视频:H.264,1920×1080;
  • • 音频:AAC,48kHz;
  • • 音视频轨道均存在。

2. 检查峰值音量

ffmpeg -i final.mp4 \
  -map 0:a:0 -af volumedetect \
  -f null -

重点查看 mean_volume 和 max_volume,避免明显削波或整体音量过低。

3. 多时间点抽帧

不要只看开头。建议至少检查:开头、技术术语密集处、中段转场、结尾 CTA。

ffmpeg -ss 3   -i final.mp4 -frames:v 1 qc-01.jpg
ffmpeg -ss 125 -i final.mp4 -frames:v 1 qc-02.jpg
ffmpeg -ss 220 -i final.mp4 -frames:v 1 qc-03.jpg
ffmpeg -ss 302 -i final.mp4 -frames:v 1 qc-04.jpg

4. 人工观看

最后仍然要完整播放一遍,重点听:

  • • 句子是否被强行切断;
  • • 专业名词发音是否可接受;
  • • 中文配音是否提前或滞后;
  • • 英文原声是否残留过多;
  • • 中文字幕是否挡住人物、图表或原英文字幕。

十一、这套流程最值得复用的五个经验

  1. 1. 先探测素材,再开始处理。 视频参数不统一,会把问题拖到最后。
  2. 2. 转写模型不是术语审校员。 技术名词必须人工检查。
  3. 3. 翻译要服从时间轴。 适合阅读的中文,不一定适合在 3 秒内说完。
  4. 4. 音色接近只是第一步。 真正决定观感的是语速、停顿、音量和环境声。
  5. 5. 字幕必须在真实画面上检查。 SRT 正确,不代表画面布局正确。

结语

这套方案的特点是:转写、音色克隆、配音生成和视频封装都可以在本地完成,适合技术讲解、产品介绍、课程片段和海外内容本地化。

它并不是“一键翻译视频”,而是一条可重复、可检查、可逐步优化的制作流水线。真正高质量的本地化,不是把英文换成中文,而是让中文内容像原视频本来就这样制作的一样自然。

如果你也在做英文视频中文化,建议先从 30 秒素材跑通整套流程,再扩展到完整视频。这样调试字幕、音色和语速的成本会低很多。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-20 10:36:21 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/773970.html
  2. 运行时间 : 0.202400s [ 吞吐率:4.94req/s ] 内存消耗:4,752.39kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=e842e255f8cbf830f5b6fdd4473654e3
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000718s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000559s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000248s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000313s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000625s ]
  6. SELECT * FROM `set` [ RunTime:0.000265s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000508s ]
  8. SELECT * FROM `article` WHERE `id` = 773970 LIMIT 1 [ RunTime:0.000473s ]
  9. UPDATE `article` SET `lasttime` = 1781922981 WHERE `id` = 773970 [ RunTime:0.001316s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000245s ]
  11. SELECT * FROM `article` WHERE `id` < 773970 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000419s ]
  12. SELECT * FROM `article` WHERE `id` > 773970 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000375s ]
  13. SELECT * FROM `article` WHERE `id` < 773970 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001073s ]
  14. SELECT * FROM `article` WHERE `id` < 773970 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000902s ]
  15. SELECT * FROM `article` WHERE `id` < 773970 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001323s ]
0.206244s