# videomaker **Repository Path**: libin123/videomaker ## Basic Information - **Project Name**: videomaker - **Description**: ceshifdsfdsfdsfsdfsdfdsfsdfd - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-31 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开源全自动短视频智能生成工具 **详细功能说明书** ## 文档用途 本文档为项目开发落地专用,完整定义工具架构、全链路模块、细分功能、调用逻辑、输入输出、可配置参数、技术依赖及边界规则。工具定位:**开源主题驱动型全自动短视频生成工具**,用户仅输入创作主题,即可完成「全网素材检索→智能片段截取→视频剪辑/脚本/字幕/解说合成→平台化标题/标签/文案生成」全流程自动化,核心依赖**通用文本大模型 + 火山引擎多模态生成/理解模型 + FFmpeg 音视频处理引擎**。 ## 一、项目整体概述 & 核心技术栈 ### 1.1 产品定位 面向自媒体创作者、个人用户、小型运营团队的开源轻量化短视频生产工具,主打**零剪辑基础、全链路AI自动化**,适配抖音等主流短视频平台内容规范,支持命令行、Web界面、API接口三种运行模式,可二次开发、私有化部署。 ### 1.2 核心分工(三大核心能力边界) 1. **通用文本大模型**:负责纯文本类逻辑处理、文案创作、关键词优化、内容梳理、脚本撰写、标题标签生成。 2. **火山引擎多模态模型**:负责视频画面/音频/字幕跨模态理解、素材相似度匹配、语音转文字、AI解说语音合成、内容安全风控、画面风格识别。 3. **FFmpeg/FFprobe**:负责底层音视频解码、片段抽取、画面拼接、转场特效、字幕嵌入、音轨混合、格式转换、码率/画幅标准化。 ### 1.3 整体技术栈清单 | 分类 | 组件/技术 | 用途说明 | | ---- | ---- | ---- | | 后端主体 | Python 3.9+、FastAPI/Flask | 业务逻辑、接口服务、请求接收 | | 任务调度 | Celery + Redis | 异步处理耗时任务(AI调用、视频剪辑),支持队列排队、任务状态追踪 | | 音视频处理 | FFmpeg、FFprobe | 视频截取、拼接、转场、混音、字幕封装、格式转码、媒体信息解析 | | AI能力 | 自研/开源文本大模型、火山引擎多模态系列模型 | 多模态理解、ASR语音识别、TTS语音合成、图文相似度、内容审核 | | 素材检索 | 轻量爬虫/第三方公开内容接口 | 短视频平台公开素材检索(合规范围内) | | 数据存储 | SQLite(单机开源版)/MySQL(服务端版) | 存储任务记录、素材元数据、配置模板、热点词库 | | 缓存中间件 | Redis | 热点热词缓存、临时素材缓存、API密钥缓存、任务状态 | | 前端(可选) | Vue/纯HTML+JS | 简易Web可视化操作界面,适配普通用户 | | 运行入口 | CLI命令行、WebUI、HTTP API | 三种使用模式,适配普通用户、开发者、二次开发 | ### 1.4 全链路总流程 用户输入**创作主题 + 可选自定义参数** → 阶段1(素材检索+智能片段抽取) → 阶段2(剪辑合成+脚本/转场/字幕/解说) → 阶段3(内容分析+标题/标签/描述生成) → 输出**成品视频+配套文案包**。 --- ## 二、前置基础模块(全流程通用,必选) 所有阶段依赖的公共基础能力,独立模块设计,统一管理配置、输入、文件、异常。 ### 2.1 用户输入与参数配置模块 #### 核心功能 接收用户创作指令,区分**必填项、可选项、高级自定义项**,做输入校验与标准化。 1. **必填输入项** - 创作主题:核心文案/画面主题(如“宠物救助人类幼崽感人瞬间”) - 目标平台:默认抖音,可选其他短视频平台(决定画幅、时长、文案风格) 2. **基础可选参数(默认内置值)** - 目标视频总时长:默认15/30/60s(抖音主流时长,可自定义区间) - 视频画幅:默认9:16竖屏,可选16:9横屏 - 素材来源模式:「全网检索」/「本地素材导入」 - 最终输出格式:默认MP4,可选MOV、FLV等 3. **高级自定义参数(面向进阶用户/开发者)** - 检索素材最大数量、单片段最长/最短时长 - 转场风格、解说音色、字幕样式、文案风格 - AI模型接口地址、密钥、调用超时时间 4. **输入校验规则** - 主题非空校验、时长区间合法性校验、文件格式校验、API密钥合法性校验。 ### 2.2 文件与缓存管理模块 1. **目录分层**:临时素材目录、抽取片段目录、合成成品目录、日志目录、缓存目录 2. **自动清理**:定时清理7天以上临时视频、无效缓存文件,释放磁盘空间 3. **文件命名规则**:统一`任务ID_类型_序号.后缀`命名,方便溯源 4. **断点续跑**:记录每一步任务节点,中断后重启可从当前节点继续执行,无需从头开始。 ### 2.3 任务管理模块 1. 全局唯一任务ID:每一次生成任务分配独立ID,全链路关联 2. 任务状态追踪:待排队→检索中→片段抽取中→剪辑合成中→文案生成中→已完成/异常失败 3. 任务日志:记录每一步执行耗时、AI调用日志、FFmpeg执行日志、报错信息 4. 批量任务支持:单次提交多个主题,队列串行/并行处理。 ### 2.4 密钥与AI接口管理 统一管理文本大模型、火山引擎多模态模型的`AccessKey/SecretKey/接口地址`,支持: - 多组密钥轮询调用 - 接口超时、重试机制(默认重试3次) - 调用频率限制,防止平台风控。 --- ## 三、第一阶段:主题检索 + 智能视频片段抽取(核心素材生产) **阶段目标**:根据用户主题,检索短视频素材,通过多模态模型匹配关联度,自动筛选并截取**高相关高光片段**,输出标准化短视频片段素材库。 **依赖组件**:文本大模型、火山多模态理解模型、素材检索模块、FFprobe、FFmpeg。 ### 3.1 子模块1:主题关键词优化(文本大模型执行) #### 功能描述 原始用户主题口语化、表述宽泛,由文本大模型拆解、扩展为**多组检索关键词**,提升素材检索精准度。 1. **输入**:用户原始创作主题、目标平台 2. **处理逻辑** - 语义拆解:提取核心实体、情绪、场景(例:主题“猫狗救小孩感人视频”→核心词:猫、狗、人类幼崽、救助、感人瞬间) - 关键词扩展:生成**精准词、泛义词、平台热门同义词**三类检索词(适配短视频平台搜索规则) - 过滤无效词、违规词,统一关键词格式 3. **输出**:结构化关键词列表(主关键词+扩展关键词+兜底关键词) 4. **可配置项**:扩展关键词数量、是否开启方言/口语化关键词。 ### 3.2 子模块2:短视频素材检索模块 #### 功能描述 基于优化后的关键词,在合规范围内检索抖音等平台公开短视频素材,同时支持**本地素材导入模式**(优先推荐,规避版权问题)。 1. **两种检索模式(可切换)** - 模式A:全网在线检索 - 模式B:本地素材导入(用户自行上传视频文件夹,系统遍历本地视频作为素材源,推荐开源用户使用) 2. **检索筛选规则** - 基础过滤:剔除时长过短(<3s)、画质过低、平台标记违规的视频 - 数量限制:可配置最大检索素材总数(默认20条,上限50条) - 来源过滤:可自定义屏蔽指定账号/来源 3. **输出**:素材列表(包含:视频原始地址/本地路径、视频时长、分辨率、标题、原始文案、素材ID) 4. **合规限制**:仅获取公开预览内容,不下载完整高清原版视频;界面强制展示「素材仅供个人学习,请勿商用」提示。 ### 3.3 子模块3:跨模态内容相似度匹配(火山引擎多模态模型执行) #### 功能描述 对检索到的全部素材,结合**画面、音频、标题、字幕**多维度,计算每条视频与创作主题的**关联度得分**,排序筛选高相关素材。 1. **输入**:素材列表、用户原始主题、优化后关键词 2. **处理逻辑** - 火山多模态模型解析单条视频:画面内容、语音内容、字幕文本、整体情绪(感人/搞笑/干货等) - 多维度打分:主题匹配分、场景匹配分、情绪匹配分,综合计算**0-100分关联度** - 按分数降序排序,自动过滤低分素材(可配置分数阈值,默认≥60分保留) 3. **输出**:按关联度排序的**优质候选素材列表**(附带每条素材的综合得分、内容标签、情绪标签) 4. **可配置项**:关联度过滤阈值、是否强制保留指定数量素材。 ### 3.4 子模块4:高光片段智能定位(火山多模态模型执行) #### 功能描述 对高分候选视频,不截取整段视频,自动识别视频内**与主题强相关的高光片段**,剔除空镜、无关画面、水印、片头片尾。 1. **输入**:高分候选视频、主题、单片段时长限制 2. **处理逻辑** - 按时间轴切分视频帧+音频片段,逐段做内容理解 - 识别有效镜头:匹配主题画面、关键动作、情绪高潮片段 - 剔除无效内容:片头广告、片尾水印、黑屏、重复镜头、无关路人画面 - 标记每个高光片段的**开始时间戳、结束时间戳、片段内容描述、情绪标签** 3. **规则约束** - 单片段时长:默认3~8s(短视频黄金片段,可自定义区间) - 单条原始视频最多提取3个高光片段(避免素材冗余) 4. **输出**:每条候选视频对应的**多个高光片段时间戳+片段内容描述**。 ### 3.5 子模块5:FFmpeg 视频片段抽取与标准化 #### 功能描述 根据AI标记的时间戳,调用FFmpeg完成片段硬截取,并统一所有片段的**分辨率、码率、帧率、画幅**,保证后续合成画质统一。 1. **输入**:原始视频路径、片段起止时间戳、画幅/分辨率配置 2. **FFmpeg 核心处理逻辑** - 精准时间截取:使用`ffmpeg -ss 开始时间 -to 结束时间`抽取片段 - 标准化处理:统一分辨率(如1080*1920 竖屏)、帧率(30fps)、音频采样率 - 格式统一:全部转码为标准MP4编码,避免后续合成兼容问题 - 自动去除原视频内嵌水印(基础画面裁剪/遮盖,简易处理) 3. **输出**:独立标准化短视频片段文件库(片段文件+片段元数据:时长、内容、情绪、来源) 4. **异常处理**:截取失败自动跳过当前片段,记录日志,继续执行下一条。 #### 第一阶段最终输出物 1. 一批标准化短视频高光片段(MP4格式,时长统一) 2. 片段元数据表(片段ID、时长、内容描述、情绪标签、关联度得分) --- ## 四、第二阶段:片段整合 + 智能剪辑全流程合成(视频成品制作) **阶段目标**:基于第一阶段的片段素材库,AI生成叙事脚本、匹配转场、自动加字幕/AI解说/背景音乐,通过FFmpeg完成多片段拼接、音视频混合,输出初版完整短视频。 **依赖组件**:文本大模型、火山多模态模型(ASR/TTS)、FFmpeg。 ### 4.1 子模块1:全片段内容全局理解(火山多模态模型 + 文本大模型) 1. **输入**:所有片段元数据、片段内容描述、创作主题 2. **处理逻辑**:汇总所有片段的画面、情节、顺序、情绪,梳理整体故事线/内容逻辑,判断素材叙事顺序、情绪起伏 3. **输出**:全局内容摘要、推荐片段播放顺序、整体风格定义(感人/温情/趣味等)。 ### 4.2 子模块2:短视频分镜脚本智能生成(文本大模型执行) #### 功能描述 结合片段顺序、主题、平台调性,生成适配短视频的**分镜头脚本**,定义每一段画面对应的文案、解说、节奏。 1. **输入**:片段播放顺序、片段内容、整体风格、视频总时长 2. **脚本结构(标准化)** - 镜头序号、对应片段ID、画面内容、时长、解说文案、字幕文案、情绪节奏 - 整体叙事逻辑:开头引入→内容主体→高潮→结尾收尾(适配抖音短视频节奏) 3. **风格适配** - 感人类:文案偏温情、走心;节奏舒缓 - 趣味类:文案活泼、口语化;节奏轻快 4. **输出**:结构化分镜脚本文档(机器可解析,同时支持人工预览修改) 5. **可配置项**:脚本风格(正式/口语/温情/搞笑)、是否添加开头引导语、结尾总结语。 ### 4.3 子模块3:转场特效智能匹配与FFmpeg实现 #### 功能描述 根据相邻片段的画面风格、情绪、节奏,自动匹配转场效果,由FFmpeg实现转场渲染。 1. **转场规则(AI自动匹配)** - 温情/感人内容:默认**淡入淡出、叠化**(柔和转场) - 快节奏内容:滑动、闪切、缩放转场 - 情绪高潮片段:闪白、放大聚焦转场 2. **转场库(内置FFmpeg可实现特效)** 淡入、淡出、交叉叠化、左右滑动、上下滑动、缩放、闪白、模糊过渡(共8种基础转场) 3. **手动干预**:支持用户强制指定全局统一转场效果 4. **FFmpeg执行**:在两个片段拼接处插入转场滤镜,计算转场时长(默认0.5~1s,可配置) 5. **输出**:带转场效果的片段拼接序列。 ### 4.4 子模块4:智能字幕生成与嵌入(火山ASR + FFmpeg) 分为**语音字幕(原视频语音)** 和**脚本字幕(自定义文案字幕)** 双体系,自动时间轴对齐。 1. **语音字幕(ASR语音转文字)** - 火山多模态ASR识别原视频人声、环境音,生成逐句文字 - 自动匹配时间轴,分句、断行,过滤语气词、杂音 2. **脚本字幕(解说/文案字幕)** - 读取分镜脚本内的字幕文案,按片段时长、语速自动分配时间轴 3. **字幕样式配置(全局统一,可自定义)** - 基础样式:字体、字号、颜色、描边、阴影、位置(底部居中/顶部) - 格式:简体中文为主,可选繁体、中英双语字幕 4. **FFmpeg嵌入**:使用滤镜将字幕硬编码进视频画面(主流平台通用,避免软字幕兼容问题) 5. **输出**:嵌入完整字幕的视频流。 ### 4.5 子模块5:AI解说文案 + 语音合成(文本大模型 + 火山TTS) 1. **解说文案生成(文本大模型)** - 基于分镜脚本,撰写连贯的口播解说词,适配短视频口语化表达 - 控制总字数,匹配视频总时长与播放语速 - 区分:全程解说、片段解说、无解说三种模式 2. **AI语音合成(火山TTS语音能力)** - 音色库:内置男声、女声、温情音、童声、活力音等多音色 - 可配置:语速(0.8x~1.5x)、音调、音量 - 输出标准音频流(WAV/MP3),自动匹配视频时间轴 3. **背景音乐(BGM)智能搭配(扩展功能)** - 根据视频情绪风格,匹配内置纯音乐BGM库 - FFmpeg混合音轨:**解说人声 > 原视频音频 > BGM**,自动调节音量比例 4. **输出**:带解说人声、背景音乐、原音的混合音轨。 ### 4.6 子模块6:多轨道音视频最终合成(FFmpeg) 1. **处理内容**:拼接带转场的视频画面 + 嵌入字幕 + 混合多音轨(原音+解说+BGM) 2. **标准化收尾** - 强制对齐预设总时长,超长片段自动慢放/裁剪,不足时长补淡入淡出收尾 - 统一全局音量、画质、编码格式 - 可选添加简易片尾落款(工具名称/开源地址,可关闭) 3. **异常容错**:音轨不同步自动矫正、编码失败降级为基础编码格式 #### 第二阶段最终输出物 1. **完整成品短视频(MP4,适配抖音9:16竖屏)** 2. 配套文件:分镜脚本文档、字幕源文件、解说音频源文件 --- ## 五、第三阶段:内容分析 + 平台化标题/标签/描述文案生成 **阶段目标**:对合成后的完整视频做全内容复盘,结合抖音平台实时热点、热词,生成符合平台流量规则的**多版本标题、话题标签、详情描述、互动文案**,打包成发布配套素材。 **依赖组件**:火山多模态模型、文本大模型、热点词库模块。 ### 5.1 子模块1:成品视频全维度内容分析(火山多模态模型) 1. **输入**:完整成品视频、视频时长、画面内容、字幕、解说文案 2. **分析维度** - 核心内容标签:主体(猫/狗/小孩)、事件(救助)、场景、情绪(感人、暖心) - 视频风格:纪实、温情、日常、治愈 - 画面亮点:高光镜头、核心看点 - 受众倾向:亲子、萌宠、正能量等 3. **输出**:视频结构化标签体系(核心关键词、情绪词、看点词、受众词)。 ### 5.2 子模块2:平台热点&热词匹配模块 1. **热词库来源** - 本地缓存热词库(定时更新抖音近期热搜词、热门话题词) - 关联匹配:将视频分析标签与平台热词做语义关联,筛选高热度匹配词汇 2. **匹配规则** - 优先匹配**行业热词(萌宠、育儿、正能量)** + 全网通用热点词 - 过滤无关热点,保证标签与视频内容强相关 3. **输出**:匹配成功的平台热门词汇列表。 ### 5.3 子模块3:多风格标题批量生成(文本大模型) 针对抖音平台算法与用户浏览习惯,生成**多风格、多版本标题**,供用户选择,默认每类风格生成3~5条。 1. **内置标题风格分类(全覆盖抖音主流类型)** - 温情走心型:适配感人、正能量内容 - 悬念引流型:制造好奇,提升点击 - 直白纪实型:客观描述事件 - 短句爆款型:短平快,适配信息流 - 互动提问型:引导用户评论互动 2. **生成规则** - 融入核心关键词 + 平台热词 - 控制字数(抖音标题建议10~25字) - 规避违规词、极限词 3. **输出**:分类整理的多版本标题列表。 ### 5.4 子模块4:分层话题标签生成(文本大模型 + 热词库) 按抖音标签体系分层生成,区分流量权重,可配置标签总数量(默认8~15个): 1. **标签分层** - 核心精准标签(3~5个):与视频主题强相关(如#宠物救人 #暖心瞬间) - 热门流量标签(4~6个):平台高热度泛标签(如#萌宠 #人间温暖) - 兴趣/人群标签(2~3个):面向精准受众(如#家有萌娃) 2. **规则**:标签全部带`#`符号,剔除重复标签、违规标签 3. **输出**:完整标签列表(可直接复制发布)。 ### 5.5 子模块5:详情描述&互动文案生成 生成短视频发布页的**简介文案、互动话术、引导语**,分长短两个版本: 1. **长文案**:详细描述视频内容、故事背景,适合主页详情 2. **短文案**:精简版简介,适配抖音短描述区域 3. **互动话术**:自动添加引导评论、点赞、转发的话术(例:看完被暖到了,你家宠物有暖心瞬间吗?) 4. **附加功能**:自动添加@好友引导、位置引导(可选关闭) ### 5.6 子模块6:发布数据包打包 将所有文案素材与视频文件整合,生成**一键发布数据包**: - 成品视频MP4 - 标题文档(分风格整理) - 标签文档 - 描述文案文档 - 内容摘要(供用户二次编辑) #### 第三阶段最终输出物 全套短视频发布配套文案包 + 最终成品视频。 --- ## 六、通用风控 & 合规模块(开源项目核心必备) ### 6.1 内容安全审核(火山多模态内容安全模型) 全链路多层审核,规避违规内容: 1. 素材阶段:过滤涉黄、涉暴、违法、低俗素材 2. 合成阶段:检测视频画面、字幕、解说文案是否违规 3. 文案阶段:检测标题、标签、描述是否含敏感词、违规词 4. 审核结果:违规内容直接拦截,标记原因并终止任务。 ### 6.2 版权合规提示 1. 工具界面、输出文档永久展示版权声明:「本工具仅用于个人学习、非商用创作,素材版权归原作者所有」 2. 在线检索功能增加强提示,优先引导用户使用**本地自有素材** 3. 禁止工具内提供原始高清素材下载入口,仅使用截取片段。 ### 6.3 平台规则适配 自动适配抖音规则:时长限制、画幅限制、违禁词库、标签使用规范。 --- ## 七、可配置参数总表(开发配置项,全部可视化/配置文件可改) ### 7.1 基础参数 - 目标平台、视频画幅、目标总时长、输出视频格式 - 检索素材最大数量、片段关联度过滤分数阈值 ### 7.2 片段抽取参数 - 单片段最小/最大时长、单原视频最大提取片段数 - 截取分辨率、帧率、码率 ### 7.3 剪辑合成参数 - 转场类型、转场时长 - 字幕字体、字号、颜色、位置、是否双语字幕 - AI解说音色、语速、音量 - BGM音量比例、是否开启背景音乐 - 解说模式(全程/片段/无解说) ### 7.4 文案生成参数 - 标题生成数量、标题风格选择 - 标签总数量、是否启用平台热词 - 描述文案长短版本、是否开启互动话术 ### 7.5 AI接口参数 - 文本大模型接口地址、密钥、调用超时、重试次数 - 火山引擎多模态模型各能力接口密钥、接口地址 --- ## 八、运行模式(适配不同用户) 1. **CLI命令行模式**:纯命令行操作,适合服务器部署、批量跑任务、开发者 2. **Web可视化模式**:图形化界面,拖拽/点击操作,适合普通非技术用户 3. **HTTP API模式**:对外提供标准接口,支持第三方系统对接、二次开发。 --- ## 九、迭代扩展规划 1. 新增素材平台支持、扩充转场/特效库、BGM音乐库 2. 支持自定义剪辑模板(固定脚本、固定字幕样式、固定转场) 3. 多语言支持(方言、外语字幕/解说) 4. 人像抠图、画中画、贴纸等进阶短视频特效 5. 批量主题生成、定时生成任务 6. 导出适配多平台(快手、视频号等)多版本画幅/文案。