全自动视频制作工具。从搜索视频、截图、生成脚本到配音字幕,一站式完成。支持B站/YouTube等平台视频截图、AI配音(Edge TTS)、字幕生成、FFmpeg合成。适用于:视频脚本创作、内容复用、宣传视频制作、教程视频生成。触发词:视频制作、生成视频、视频脚本、自动视频、video creation、auto video
Video Auto Creator - 全自动视频制作工具是一项面向实际任务的技能,主要用于一站式自动化视频制作:搜索视频 → 读取内容 → 截图采样 → 生成脚本 → AI配音 → 添加字幕 → 合成输出;1. 视频搜索与内容读取;
2. 智能截图采样。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
一站式自动化视频制作:搜索视频 → 读取内容 → 截图采样 → 生成脚本 → AI配音 → 添加字幕 → 合成输出
# 一键生成视频 python skills/video-auto-creator/create_video.py --url "https://www.bilibili.com/video/BV1xx" --output "my_video.mp4"
# 步骤1: 搜索并分析视频 python skills/video-auto-creator/analyze_video.py --url "https://www.bilibili.com/video/BV1xx" # 步骤2: 截图采样 python skills/video-auto-creator/screenshot_video.py --url "https://www.bilibili.com/video/BV1xx" --count 10 # 步骤3: 生成脚本 python skills/video-auto-creator/generate_script.py --video-info video_info.json --output script.md # 步骤4: 生成配音 python skills/video-auto-creator/generate_voiceover.py --script script.md --output voiceover.mp3 # 步骤5: 创建字幕 python skills/video-auto-creator/generate_subtitles.py --script script.md --output subtitles.srt # 步骤6: 合成视频 python skills/video-auto-creator/compose_video.py --images screenshots/ --audio voiceover.mp3 --subtitles subtitles.srt --output final.mp4
功能:
输出示例:
{
"title": "大疆司空2 Copilot智能体",
"description": "一句话执飞急救任务...",
"duration": 149,
"author": "DJI大疆行业应用",
"tags": ["AI", "无人机", "大疆司空2"],
"platform": "bilibili",
"url": "https://www.bilibili.com/video/BV19P9TB3E3r"
}
功能:
参数:
--url: 视频URL--count: 截图数量(默认10)--interval: 截图间隔(秒)--output: 输出目录关键代码:
# 使用OpenClaw浏览器工具
from openclaw.browser import BrowserController
browser = BrowserController()
browser.navigate(video_url)
browser.wait_for_selector('.video-player')
for i, timestamp in enumerate(timestamps):
browser.seek_to(timestamp)
browser.wait(2) # 等待画面稳定
screenshot = browser.screenshot()
save_screenshot(screenshot, f"scene_{i+1}.png")
功能:
脚本结构:
# 视频标题 ## 场景 1:开场(0-10秒) ### 画面描述 - 镜头1:全景镜头,展示主题 - 镜头2:特写镜头,突出细节 ### AI视频提示词
场景1-1: Drone shot flying over forest, cinematic, 4K --ar 16:9
### 配音文案 > 这是配音内容... ### 字幕
关键词1 | 关键词2 | 关键词3
功能:
可用语音:
zh-CN-XiaoxiaoNeural - 晓晓(女声,温柔)zh-CN-YunxiNeural - 云希(男声,阳光)zh-CN-YunyangNeural - 云扬(男声,专业)zh-CN-XiaoyiNeural - 晓伊(女声,活泼)使用示例:
import edge_tts
text = "欢迎观看本期视频..."
communicate = edge_tts.Communicate(text, "zh-CN-XiaoxiaoNeural")
communicate.save_sync("voiceover.mp3")
功能:
FFmpeg命令模板:
# 图片序列转视频 ffmpeg -loop 1 -i image.png -t 10 -c:v libx264 -pix_fmt yuv420p video.mp4 # 添加配音 ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -shortest with_audio.mp4 # 添加字幕 ffmpeg -i with_audio.mp4 -vf "subtitles=subtitles.srt" final.mp4
# 1. 分析视频 python analyze_video.py --url "https://www.bilibili.com/video/BV19P9TB3E3r" # 输出: video_info.json # 2. 截图10张 python screenshot_video.py --url "https://www.bilibili.com/video/BV19P9TB3E3r" --count 10 # 输出: screenshots/scene_1.png ~ scene_10.png # 3. 生成脚本 python generate_script.py --video-info video_info.json --scenes 5 # 输出: video_script.md # 4. 生成配音 python generate_voiceover.py --script video_script.md --voice zh-CN-XiaoxiaoNeural # 输出: voiceover.mp3 (60秒) # 5. 生成字幕 python generate_subtitles.py --script video_script.md --style professional # 输出: subtitles.srt # 6. 合成视频 python compose_video.py --images screenshots/ --audio voiceover.mp3 --subtitles subtitles.srt --resolution 1920x1080 --output "司空2_AI智能体_宣传视频.mp4"
问题: Windows环境下浏览器控制复杂 解决方案: 使用OpenClaw内置的浏览器管理
# 不推荐:手动启动Chrome # chrome_path = "C:/Program Files/Google/Chrome/Application/chrome.exe" # 推荐:使用OpenClaw浏览器工具 browser = BrowserController(profile="openclaw") browser.navigate(url)
经验:
.bilibili-player-video元素加载问题: Windows默认GBK编码,中文输出报错 解决方案:
# 方法1: 设置环境变量
import os
os.environ['PYTHONIOENCODING'] = 'utf-8'
# 方法2: 指定编码写入文件
with open(file, 'w', encoding='utf-8') as f:
f.write(content)
# 方法3: FFmpeg输出重定向
result = subprocess.run(cmd, capture_output=True, encoding='utf-8', errors='ignore')
问题: 字幕路径包含中文和特殊字符导致失败 解决方案:
# 错误:直接使用路径
# vf = f"subtitles={srt_path}"
# 正确:转义路径
srt_escaped = str(srt_path).replace('\', '\\').replace(':', '\:')
vf = f"subtitles='{srt_escaped}'"
经验:
zh-CN-YunyangNeural(云扬)zh-CN-XiaoxiaoNeural(晓晓)zh-CN-YunxiNeural(云希)zh-CN-XiaoyiNeural(晓伊)性能:
edge-tts包公式:
# 配音时长决定视频时长 audio_duration = get_audio_duration(voiceover_path) # 每个场景时长 = 总时长 / 场景数 scene_duration = audio_duration / len(scenes) # 建议每个场景8-15秒,太快观众看不清
最佳实践:
# 创建独立输出目录
output_dir = Path("output") / video_id
output_dir.mkdir(parents=True, exist_ok=True)
# 分类存放
screenshots_dir = output_dir / "screenshots"
audio_dir = output_dir / "audio"
final_dir = output_dir / "final"
# 清理临时文件
for temp_file in temp_files:
if temp_file.exists():
temp_file.unlink()
# FFmpeg (已包含在OpenClaw环境中) ffmpeg -version # Python包 pip install edge-tts pillow requests
# 图像增强(可选) pip install opencv-python # 更好的音频处理(可选) pip install pydub
解决方案: 1. 检查OpenClaw浏览器服务状态 2. 使用browser.status查看 3. 确保视频URL可访问
解决方案: 1. 检查网络连接(Edge TTS需要联网) 2. 确认edge-tts已安装: pip show edge-tts 3. 尝试其他语音角色
解决方案: 1. 检查PATH环境变量 2. 使用完整路径: H:ffmpegbinffmpeg.exe 3. 或安装: winget install ffmpeg
解决方案: 1. 确保SRT文件UTF-8编码 2. FFmpeg指定字体: FontName=Microsoft YaHei 3. 避免使用特殊字符
# 从CSV读取多个视频URL
import pandas as pd
videos = pd.read_csv('videos.csv')
for url in videos['url']:
create_video(url)
# 使用Jinja2模板生成脚本
from jinja2 import Template
template = Template(open('template.md').read())
script = template.render(scenes=scenes, voiceover=text)
# 自动翻译配音文案 from translate import Translator translator = Translator(to_lang="en") english_text = translator.translate(chinese_text)
MIT License
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章