编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
from moviepy.editor import VideoClip, TextClip, CompositeVideoClip, AudioFileClip, concatenate_videoclips

def make_text_clip(text, duration):
    """
    创建一个包含指定文本的 Clip
    """
    # 生成文本片段,可以调整字体、颜色和大小
    txt_clip = TextClip(text, fontsize=50, color='white', font="Arial-Bold", bg_color='black', size=(1280,720))
    return txt_clip.set_duration(duration)

# 定义各个阶段的时长和内容
# 1. 开场(0-5秒)
clip1 = make_text_clip("【开场】\n国潮风都市与古风建筑背景\n前奏渐起", 5)
# 2. 哪吒登场与街舞起步(5-15秒)
clip2 = make_text_clip("【街舞起步】\n哪吒登场,街舞动作初展", 10)
# 3. 舞蹈高潮与视觉特效(15-25秒)
clip3 = make_text_clip("【高潮】\n360°旋转、火焰光影特效闪现", 10)
# 4. 结束与品牌留影(25-30秒)
clip4 = make_text_clip("【结束】\n终结动作定格,视频标题显现", 5)

# 将四个片段按顺序拼接
final_video = concatenate_videoclips([clip1, clip2, clip3, clip4])

# 添加背景音乐,截取前30秒
try:
    audio = AudioFileClip("陌生的朋友.mp3").subclip(0, 30)
    final_video = final_video.set_audio(audio)
except Exception as e:
    print("加载背景音乐出错,请检查音频文件是否存在:", e)

# 输出视频文件
final_video.write_videofile("na_zha_dance.mp4", fps=24)