[build] == step 1: 生成图片 == [build] image shot_01 OK (复用画布图 50KB) [build] image shot_02 OK (复用画布图 42KB) [build] image shot_03 OK (复用画布图 52KB) [build] image shot_04 OK (复用画布图 50KB) [build] image shot_05 OK (复用画布图 70KB) [build] image shot_06 OK (复用画布图 54KB) [build] image shot_07 OK (复用画布图 44KB) [build] image shot_08 OK (复用画布图 49KB) [build] image shot_09 OK (复用画布图 55KB) [build] == step 2: 生成配音 == [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 叶青最后的记忆还停留在图书馆的自习室。期末考试周,《高等数学》的公式还摊在桌上,他趴在手臂上小憩,准备眯五分钟就继续刷题。再睁眼时——头顶是陌生的星空。不,不是星空。是穹顶。 --write-media ... [build] shot 1 line 0 (narrator) 18.07s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 叶青躺在一片荒芜的戈壁上。碎石硌得后背生疼,风裹着沙砾打在脸上,带着干燥而陌生的气息。他撑起身体,掏出手机——没信号,电量百分之三十七。但天空不是他入睡时的天空。 --write-media ... [build] shot 2 line 0 (narrator) 16.68s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 新人? --write-media ... [build] shot 3 line 0 (赵铁) 1.54s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 醒了就起来,你运气不错,随机到的是修武世界。要是随机到那些末世科幻类的,活不过三分钟。 --write-media ... [build] shot 3 line 1 (赵铁) 8.90s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 什么修武世界?什么随机? --write-media ... [build] shot 3 line 2 (叶青) 2.98s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 无限流,听说过吗? --write-media ... [build] shot 3 line 3 (赵铁) 2.74s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 你被选中了,成了所谓的『轮回者』。每一段时间,你会被投放到不同的世界去完成各种任务——副本、试炼,什么都可能。活下来,就有奖励;死了,就是真死了。 --write-media ... [build] shot 3 line 4 (赵铁) 16.01s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 我的代号是赵铁,散修,在这个世界混了三年了。这个副本叫『玄天宗入门试炼』,难度一级。死亡率照样有三成。 --write-media ... [build] shot 4 line 0 (赵铁) 11.64s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 三成…… --write-media ... [build] shot 4 line 1 (叶青) 1.30s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 怎么,怕了?怕也正常。我第一次进副本的时候,腿抖得站都站不稳。 --write-media ... [build] shot 4 line 2 (赵铁) 7.97s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 那你怎么活下来的? --write-media ... [build] shot 4 line 3 (叶青) 1.87s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 运气。运气也是实力的一部分。不过后来我就不靠运气了——靠实力。在这个系统里,活下来的人都有一个共同点:想活着。你是大学生吧?那就用你的脑子好好想,怎么活。 --write-media ... [build] shot 4 line 4 (赵铁) 17.81s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 我需要做什么? --write-media ... [build] shot 4 line 5 (叶青) 1.63s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 活着到玄天宗,通过外门考核。跟紧了,天黑之前我们要穿过前面的戈壁滩。这地方晚上有妖兽出没——一级的,但你目前连普通人都不如,碰到就是死。 --write-media ... [build] shot 4 line 6 (赵铁) 14.69s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 你的真名叫什么? --write-media ... [build] shot 4 line 7 (叶青) 1.80s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 赵铁。这就是真名。在无限流里愿意报假名的人有两种——太怕死的,和太有名的。我两种都不是。 --write-media ... [build] shot 4 line 8 (赵铁) 11.28s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 那你是哪种? --write-media ... [build] shot 4 line 9 (叶青) 1.63s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 想活着的那种。 --write-media ... [build] shot 4 line 10 (赵铁) 2.30s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 活着之后呢? --write-media ... [build] shot 4 line 11 (叶青) 1.58s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunjianNeural --text 活着之后——再说吧。先活过今天。 --write-media ... [build] shot 4 line 12 (赵铁) 4.63s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 这不是做梦。掌心的温度、空气中的能量波动、远处隐隐传来的兽吼——全部都真实得可怕。他想起手机上未写完的论文,想起室友约的周末火锅,想起妈妈上周打来的那通他没接到的电话。那些东西现在看起来遥远得像是上辈子的事。——不,不是像。那就是上辈子的事了。 --write-media ... [build] shot 5 line 0 (narrator) 24.14s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 他转回头,看着前方赵铁的背影,不再回头。 --write-media ... [build] shot 6 line 0 (narrator) 4.27s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 穹顶的光点在他头顶缓缓流转。 --write-media ... [build] shot 7 line 0 (narrator) 3.22s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 像是在为他照亮一条看不到尽头的路。 --write-media ... [build] shot 8 line 0 (narrator) 3.72s [build] run: /Users/cheyod/AIGC/DSH/.venv/bin/edge-tts --voice zh-CN-YunyangNeural --text 他的无限流人生,从这一刻开始了。 --write-media ... [build] shot 9 line 0 (narrator) 3.22s [build] == step 3: 计算时间轴 == [build] shot 1: start=0.0s dur=18.9s [build] shot 2: start=18.9s dur=17.5s [build] shot 3: start=36.4s dur=34.4s [build] shot 4: start=70.7s dur=85.1s [build] shot 5: start=155.8s dur=24.9s [build] shot 6: start=180.8s dur=5.1s [build] shot 7: start=185.9s dur=5.0s [build] shot 8: start=190.9s dur=5.0s [build] shot 9: start=195.9s dur=5.0s [build] 总时长: 200.9s (3.3 分钟) [build] == step 4: 生成运镜视频 == [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_01.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='min(1+0.0016*on,1.2)':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)/2':d=471:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=18.57:d=0.3 ... [build] clip shot_01 OK (18.9s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_02.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='max(1.2-0.0016*on,1.0)':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)/2':d=437:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=17.18:d=0.3 ... [build] clip shot_02 OK (17.5s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_03.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='1.15':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)*(1-on/858)':d=859:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=34.06:d=0.3 ... [build] clip shot_03 OK (34.4s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_04.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='1.15':x='(iw-iw/zoom)*on/2127':y='(ih-ih/zoom)/2':d=2128:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=84.84:d=0.3 ... [build] clip shot_04 OK (85.1s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_05.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='max(1.2-0.0016*on,1.0)':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)/2':d=623:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=24.64:d=0.3 ... [build] clip shot_05 OK (24.9s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_06.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='1.15':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)*(1-on/125)':d=126:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=4.77:d=0.3 ... [build] clip shot_06 OK (5.1s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_07.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='min(1+0.0016*on,1.2)':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)/2':d=125:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=4.70:d=0.3 ... [build] clip shot_07 OK (5.0s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_08.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='max(1.2-0.0016*on,1.0)':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)/2':d=125:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=4.70:d=0.3 ... [build] clip shot_08 OK (5.0s) [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/images/shot_09.jpg -vf scale=2160:3840:flags=lanczos,zoompan=z='1.0':x='(iw-iw/zoom)/2':y='(ih-ih/zoom)/2':d=125:s=1080x1920:fps=25,fade=t=in:st=0:d=0.3,fade=t=out:st=4.70:d=0.3 ... [build] clip shot_09 OK (5.0s) [build] == step 5: 生成镜头音轨 == [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_01_l0.mp3 -filter_complex [0:a]aformat=sample_rates=44100:channel_layouts=stereo[l0];[l0]concat=n=1:v=0:a=1[track];[track]anull[out];[out]apad=whole_dur=18.872,atrim=0:18.872[final] ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_02_l0.mp3 -filter_complex [0:a]aformat=sample_rates=44100:channel_layouts=stereo[l0];[l0]concat=n=1:v=0:a=1[track];[track]anull[out];[out]apad=whole_dur=17.480,atrim=0:17.480[final] ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_03_l0.mp3 -i /Users/cheyod/AIGC/DSH/manju/assets/tmp/gap.wav ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_04_l0.mp3 -i /Users/cheyod/AIGC/DSH/manju/assets/tmp/gap.wav ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_05_l0.mp3 -filter_complex [0:a]aformat=sample_rates=44100:channel_layouts=stereo[l0];[l0]concat=n=1:v=0:a=1[track];[track]anull[out];[out]apad=whole_dur=24.944,atrim=0:24.944[final] ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_06_l0.mp3 -filter_complex [0:a]aformat=sample_rates=44100:channel_layouts=stereo[l0];[l0]concat=n=1:v=0:a=1[track];[track]anull[out];[out]apad=whole_dur=5.072,atrim=0:5.072[final] ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_07_l0.mp3 -filter_complex [0:a]aformat=sample_rates=44100:channel_layouts=stereo[l0];[l0]concat=n=1:v=0:a=1[track];[track]anull[out];[out]apad=whole_dur=5.000,atrim=0:5.000[final] ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_08_l0.mp3 -filter_complex [0:a]aformat=sample_rates=44100:channel_layouts=stereo[l0];[l0]concat=n=1:v=0:a=1[track];[track]anull[out];[out]apad=whole_dur=5.000,atrim=0:5.000[final] ... [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/audio/shot_09_l0.mp3 -filter_complex [0:a]aformat=sample_rates=44100:channel_layouts=stereo[l0];[l0]concat=n=1:v=0:a=1[track];[track]anull[out];[out]apad=whole_dur=5.000,atrim=0:5.000[final] ... [build] == step 6: 渲染字幕 == [build] 字幕渲染完成 [build] == step 7: 合成成片 == [build] run: ffmpeg -y -f concat -safe 0 ... [build] run: ffmpeg -y -f concat -safe 0 ... [build] video_raw=200.76s audio_raw=200.86s -> 输出 200.76s [build] run: ffmpeg -y -i /Users/cheyod/AIGC/DSH/manju/assets/tmp/video_raw.mp4 -i /Users/cheyod/AIGC/DSH/manju/assets/tmp/audio_raw.wav ... [build] ✅ 成片: /Users/cheyod/AIGC/DSH/manju/output/manju_ep01.mp4 时长 200.8s 大小 24.5MB [build] 全部完成 🎬