使用该工具前,建议先完成基础准备工作。下载并打开工具后,首次启动会弹出基础功能引导,此时不用急于关闭,跟着引导熟悉核心模块位置即可。重点要完成素材存储路径设置:在顶部菜单栏找到 “偏好设置”,进入后选择 “素材管理”,点击 “添加存储路径”,选择电脑中空间充足的文件夹作为默认存储位置,同时勾选 “自动保存临时文件”—— 这一步能避免后续操作中因意外退出导致内容丢失,也能减少导出成片时找不到文件的麻烦。

        进入核心创作环节,新建项目后点击 “音视频协同” 模块,这里是实现同步生成的关键。首先导入文字描述内容,比如想制作 “城市夜景车流” 相关内容,直接将文字描述粘贴到输入框,工具会自动分析内容风格,生成对应的画面预览和基础音效。如果对画面元素不满意,可点击预览图右侧的 “调整” 按钮,手动替换场景中的细节元素,比如将普通路灯换成霓虹风格;音频部分则能通过 “音效调节” 滑块调整环境音比例,避免背景音盖过画面重点。

        参数调试环节不用复杂操作,工具内置了多种场景预设。若制作短视频内容,选择 “短视频优化” 预设,工具会自动匹配适合移动端观看的分辨率和帧率;若用于产品演示,切换到 “清晰展示” 预设,画面细节和音频清晰度会进一步提升。新手不用纠结参数数值,预设能覆盖大部分常规需求,后续熟悉后再手动微调即可。

        最后是导出环节,设置好输出格式后点击 “生成导出”,工具会显示实时进度。此时尽量不要同时运行其他大型软件,避免占用过多内存导致生成速度变慢。导出完成后,工具会弹窗提示文件位置,点击即可直接查看成片。

        对于经常制作短视频的自媒体人,用它能省去单独找音频、剪配音的时间,快速出带场景音的完整内容;小团队做品牌宣传时,不用依赖外包,自己就能调整出符合品牌调性的音视频;刚接触 AI 创作的新手,靠预设和自动匹配功能,不用学习复杂剪辑技巧,也能做出有质感的作品。

        相关的软件教程已打包放在网盘,私信我备注文章标题即可获取完整软件教程。

# 依赖库安装:终端执行 pip install pillow pyttsx3 moviepy numpy simpleaudio
# 若simpleaudio安装失败(Windows):先执行 pip install pipwin,再执行 pipwin install simpleaudio
import os
import random
import numpy as np
from PIL import Image, ImageDraw
import pyttsx3
from moviepy.editor import ImageSequenceClip, AudioFileClip, CompositeAudioClip
from simpleaudio import WaveObject

# 1. 路径初始化:自动创建存储目录,避免手动操作失误
base_path = os.getcwd()  # 默认当前工作目录,可修改为自定义路径(如 "D:/AI_AV_Project")
dirs = ["frame_store", "audio_temp", "final_video"]
for dir_name in dirs:
    dir_path = os.path.join(base_path, dir_name)
    if not os.path.exists(dir_path):
        os.makedirs(dir_path)

# 2. 画面帧生成:模拟"城市夜景车流"场景,生成120帧(对应5秒/24帧率)
frame_count = 120
frame_size = (1280, 720)  # 视频分辨率

for i in range(frame_count):
    # 创建黑色背景(模拟夜晚)
    img = Image.new("RGB", frame_size, color="black")
    draw = ImageDraw.Draw(img)
    
    # 绘制路灯(随机位置,蓝色光效)
    lamp_count = 20
    for _ in range(lamp_count):
        lamp_x = random.randint(50, frame_size[0]-50)
        lamp_y = random.randint(100, frame_size[1]-200)
        draw.ellipse([(lamp_x-5, lamp_y-5), (lamp_x+5, lamp_y+5)], fill="skyblue")
    
    # 绘制车流(水平移动,黄色/白色模拟车灯)
    car_count = 30
    for _ in range(car_count):
        car_x = (i * 15 + random.randint(0, frame_size[0])) % frame_size[0]
        car_y = random.randint(frame_size[1]-200, frame_size[1]-100)
        car_color = "yellow" if random.random() > 0.5 else "white"
        draw.rectangle([(car_x, car_y), (car_x+20, car_y+10)], fill=car_color)
    
    # 保存帧到指定目录
    frame_path = os.path.join(base_path, "frame_store", f"frame_{i:03d}.png")
    img.save(frame_path)

# 3. 音频生成:文字转语音+环境音合成
# 3.1 文字转语音(场景描述)
tts_engine = pyttsx3.init()
tts_engine.setProperty('rate', 150)  # 语速调整
voice_text = "夜晚城市中,车流缓缓移动,路灯散发柔和光芒,营造出宁静的都市夜景氛围"
voice_path = os.path.join(base_path, "audio_temp", "scene_voice.mp3")
tts_engine.save_to_file(voice_text, voice_path)
tts_engine.runAndWait()

# 3.2 生成车流环境音(低频声波模拟)
sample_rate = 44100
duration = 5  # 音频时长(与视频一致)
frequency = 200  # 基础频率

t = np.linspace(0, duration, int(sample_rate * duration), endpoint=False)
# 生成随机波动的声波(模拟车流变化)
wave = 0.5 * np.sin(2 * np.pi * frequency * t + random.random() * np.pi)
wave = wave * 32767  # 转换为16位音频格式
wave = wave.astype(np.int16)

# 保存环境音
env_audio_path = os.path.join(base_path, "audio_temp", "env_sound.wav")
wave_obj = WaveObject(wave, 1, 2, sample_rate)
wave_obj.write_wave(env_audio_path)

# 4. 音视频合并与导出
# 4.1 加载画面帧
frame_files = [os.path.join(base_path, "frame_store", f"frame_{i:03d}.png") for i in range(frame_count)]
video_clip = ImageSequenceClip(frame_files, fps=24)

# 4.2 合并音频(语音+环境音,调整音量平衡)
voice_clip = AudioFileClip(voice_path).volumex(1.2)
env_clip = AudioFileClip(env_audio_path).volumex(0.6)
final_audio = CompositeAudioClip([voice_clip, env_clip])

# 4.3 关联音视频并导出
final_video = video_clip.set_audio(final_audio)
output_path = os.path.join(base_path, "final_video", "city_night_video.mp4")
final_video.write_videofile(output_path, codec="libx264", bitrate="1000k")

# 清理临时资源提示(可选执行)
print(f"视频已导出至:{output_path}")
print("可手动删除 frame_store 和 audio_temp 目录下的临时文件释放空间")

Logo

分享最新、最前沿的AI大模型技术,吸纳国内前几批AI大模型开发者

更多推荐