CrabNote螃蟹笔记

小松鼠:结合RemotionSKill,手搓AI视频自动化生成流水线

小松鼠:结合RemotionSKill,手搓AI视频自动化生成流水线

小松鼠:结合RemotionSKill,手搓AI视频自动化生成流水线 小松鼠:结合RemotionSKill,手搓AI视频自动化生成流水线 Modified February 1 No access embedding 00:00 No access embedding v3 00:00 Code block Bash Copy python generate voice.py batch script.txt ../public/audio/voice/output 关键价值: • 完全免费 • 不需要花时间去研究一堆外部API语音生成,保护了我的注意力 • 之前的字幕文件,就是语音文本。批量生成,一次搞定。 第四步:音效库的建立 有了配音,但视频还是感觉"干"。 我需要加一些简单的互动音效,让视频更有层次感? 音效库的构建 Code block Plain Text Copy 我:需要什么样的音效? AI:我们需要转场、标题、强调、UI 等不同类型... 我:音量怎么控制? AI:建议配音 1.0,音效 0.15 0.5,BGM 0.25... 于是,我去海鲜市场5毛钱随便找了些音效, 让AI自己分析什么情况下该用什么音效,并且记录成说明文档。 这个文档是给Skill来看的。 我给了他如下的提示 Code block Plain Text Copy Remotion运行过程中,你加了很多的动画和转场, 在你添加这些转场的时候,结合我们的音效技能去添加音效的轨道 最终成果 创建了 sfx matcher 技能,包含 42 个专业音效: 音效分类: • 转场音效(2个):whoosh transition.mp3 • 标题音效(2个):title appear.mp3 • 强调音效(2个):highlight ping.mp3 • UI音效(9个):button click.mp3 • 科技音效(3个):tech glitch.mp3 • 情绪配乐(3个):ambient thinking.mp3 目前这些音效调用逻辑是对的, 本身质量可能不高, 因为小松鼠的审美有点差,对不起 等本社畜有时间了,会不断迭代。 随着我的审美提升,他就是越来越好用。 第五步:角色动画系统的诞生 该怎么做点小特色? 问题:如何让视频加上我的特征?如何更有亲和力? React 是支持各种渐进式动画的, 那么这个过程中拿小松鼠的形象图片 来做一些tween动画,就可以复用了。 我单独用一个react文件代码,调试了下。 并且让AI帮忙抽象成公用组件。 使用示例: Code block TypeScript Copy <SquirrelCharacter pose="thinking" position="bottom right" enterAnimation="bounce" loopAnimation="thinkLoop" scale={0.25} / 第六步:主技能的整合 为什么需要主技能? 现在有了 6 个子技能: 1. subtitle generator 字幕生成 2. remotion text animations 文本动画 3. tts voice generator 配音生成 4. sfx matcher 音效匹配 5. remotion character system 角色动画 6. remotion character integration 角色集成 我给了AI如下提示词: Code block Plain Text Copy 现在的步骤太过冗余,你已经生成了一些视频相关的子技能,请你理解我的语义。 生成一个主技能,在合适的时候调用子技能 1.用户给一个md文件,是一段文章, 2.然后你调用remotion的生成技能,生成一段remotion,并且这个过程。 3.调用remotion字幕生成的技能,生成字幕并且分好了段, 4.然后调用我们的TTS生成的技能,根据分好的段去生成配音,人物的配音。 5.根据我们第二部中的remotion代码,其中的转场特效需要发挥想象力,从我们的公用音效库SFX中,根据时长来配合适的音效,并且根据Remotion的总时长去BGM中选择适合长度的背景音乐 6.最终这些全都是不同的轨道,把它们拼接到一起,就生成了我们最终的一段可以演示的视频 7.这个过程,由于是React模式,用户可以不断调试代码,直到效果满意 当用户确定满意之后,由他自己运行命令导出完整的视频 在claude老师深度思考之后,最终给了我一个多模块,六轨道的架构设计。 你可以永远相信克劳德老师 这套skill抽象完成后,我删掉所有的中间文件。 拿Embedding的原文,完整的跑了一遍Skill。 结论是:他可以自动化的,在10分钟内,由一段话完整生成最后的MP4文件 甚至最后多轨道变成视频,只需要53秒!! 最后的话 这套系统的价值在哪?我为什么要分享这样一个创作的思路? 不是技术有多复杂,而是思路清晰、流程标准、可复用,可迭代 诚然,现在产出的视频还有一些瑕疵, 但是由于多模块分开的设计, 每个部分都可以单独迭代。 他们已经是一个个独立的SKill了。 比如你想要更好的语音效果,那就迭代tts的skill,用一些更好的模型。 比如想要更好的配音效果,那就迭代配音的skill,去更精准的添加多种场景。 而且目前单独的轨道可以关闭。 比如觉得配音难听,那就关闭配音轨道, 导出视频。到剪映中二次加工即可。 从手动到自动化的过程: 1. 先手动做一遍,跑通流程 2. 发现重复的地方,抽象成技能 3. 把技能组合起来,形成主流程 4. 每次迭代,都在解决实际问题 这就是我理解的"AI 辅助开发": No access embedding 00:00 No access embedding 00:00 No access embedding v3 00:00 No access embedding v3 00:00 关键价值: • 完全免费 • 不需要花时间去研究一堆外部API语音生成,保护了我的注意力 • 之前的字幕文件,就是语音文本。批量生成,一次搞定。 第四步:音效库的建立 有了配音,但视频还是感觉"干"。 我需要加一些简单的互动音效,让视频更有层次感? 音效库的构建 于是,我去海鲜市场5毛钱随便找了些音效, 让AI自己分析什么情况下该用什么音效,并且记录成说明文档。 这个文档是给Skill来看的。 我给了他如下的提示 最终成果 创建了 sfx matcher 技能,包含 42 个专业音效: 音效分类: • 转场音效(2个):whoosh transition.mp3 • 标题音效(2个):title appear.mp3 • 强调音效(2个):highlight ping.mp3 • UI音效(9个):button click.mp3 • 科技音效(3个):tech glitch.mp3 • 情绪配乐(3个):ambient thinking.mp3 目前这些音效调用逻辑是对的, 本身质量可能不高, 因为小松鼠的审美有点差,对不起 等本社畜有时间了,会不断迭代。 随着我的审美提升,他就是越来越好用。 第五步:角色动画系统的诞生 该怎么做点小特色? 问题:如何让视频加上我的特征?如何更有亲和力? React 是支持各种渐进式动画的, 那么这个过程中拿小松鼠的形象图片 来做一些tween动画,就可以复用了。 我单独用一个react文件代码,调试了下。 并且让AI帮忙抽象成公用组件。 使用示例: 第六步:主技能的整合 为什么需要主技能? 现在有了 6 个子技能: 1. subtitle generator 字幕生成 2. remotion text animations 文本动画 3. tts voice generator 配音生成 4. sfx matcher 音效匹配 5. remotion character system 角色动画 6. remotion character integration 角色集成 我给了AI如下提示词: 在claude老师深度思考之后,最终给了我一个多模块,六轨道的架构设计。 你可以永远相信克劳德老师 这套skill抽象完成后,我删掉所有的中间文件。 拿Embedding的原文,完整的跑了一遍Skill。 结论是:他可以自动化的,在10分钟内,由一段话完整生成最后的MP4文件 甚至最后多轨道变成视频,只需要53秒!! 最后的话 这套系统的价值在哪?我为什么要分享这样一个创作的思路? 不是技术有多复杂,而是思路清晰、流程标准、可复用,可迭代 诚然,现在产出的视频还有一些瑕疵, 但是由于多模块分开的设计, 每个部分都可以单独迭代。 他们已经是一个个独立的SKill了。 比如你想要更好的语音效果,那就迭代tts的skill,用一些更好的模型。 比如想要更好的配音效果,那就迭代配音的skill,去更精准的添加多种场景。 而且目前单独的轨道可以关闭。 比如觉得配音难听,那就关闭配音轨道, 导出视频。到剪映中二次加工即可。 从手动到自动化的过程: 1. 先手动做一遍,跑通流程 2. 发现重复的地方,抽象成技能 3. 把技能组合起来,形成主流程 4. 每次迭代,都在解决实际问题 这就是我理解的"AI 辅助开发": 👍 不是让 AI 替你写代码 而是和 AI 一起思考、迭代、优化 AI 提供方案,你做决策 你提出问题,AI 帮你实现 不是让 AI 替你写代码 而是和 AI 一起思考、迭代、优化 AI 提供方案,你做决策 你提出问题,AI 帮你实现 看到这里了,如果觉得不错: ✓ 点个「赞」,让我知道你在看 ✓ 点个「在看」,分享给更多朋友 ✓ 点个「转发」,帮助更多人 ✓ 加个「星标⭐」,第一时间收到推送 小松鼠爱你们! 大家好,我是小松鼠。 一名AI时代的学习者,专注探索个体在新时代的生存模式。 这是我的第 14 篇 AIGC 文章。 前言: 最近在做 Remotion 视频项目的时候, 已经能简单通过文字去生成视频,但是它缺很多必要的东西。 比如字幕,比如音频配音,比如之前React的动画有点枯燥不好看。 有一个传统的解决方法,而且一定能解决: 打开剪映,开始一个个轨道编辑。 但是有个很扎心的问题,我不会剪映 然后呢?我开始思考: 能不能就聚焦在一个生产环境中做所有的事情。 能不能把整个视频生成流程,变成一套可复用的技能系统? 于是,就有了这次从零到一的探索之旅。 这篇文章记录了我和 AI 一起,如何一步步搭建起一个完整的 AI 视频生成流水线。 核心成果:6 个技能模块,1 个主流程,6 轨道独立系统。 适用场景:教育科普、知识讲解、技术分享类视频。 为了方便大家了解我到底做了什么修改。 贴上两个版本的视频 让我带你走一遍完整的旅程。 完整架构总览 先给大家看一下,最终生成的skill结构 最终由一个个轨道来合成,分成六层主轨道 我统计下,就是有这么多。。。如果人来配,不可能比AI更快 第一步:字幕生成系统的诞生 字幕从何而来 一开始做视频的时候,我发现 Remotion 需要手动控制每一帧的时间轴: 但是却没有自动化的字幕生成系统 我就在想,字幕有必要后期添加么? 他在react里,不就是底部的特殊格式显示么? 如何对话解决 最终方案 创建了 subtitle generator 技能,核心功能: 第二步:文本动画 为什么需要文本动画? 字幕系统搞定了,但视频还是太静态。 这里我参考了一个react的宝藏库 让AI去学习这个库里的内容, 这样,标题和重点内容就可以带一些渐进式特效了。 迭代过程 最终成果 创建了 remotion text animations 技能,包含 8 种动画: 1. 逐字淡入:适合标题 2. 波浪效果:强调重点 3. 打字机效果:展示代码 4. 3D旋转:场景转场 5. 颜色渐变:情绪渲染 6. 缩放弹出:关键概念 7. 滑动进入:列表展示 8. 模糊聚焦:制造悬念 使用示例: 第三步:配音系统的选择 做视频怎么能没有配音? 我本来想过自己口播, 但是一想到既然都拿AI来集成自动化了, 为什么不试试TTS呢 TTS工具的选择 但问题来了:用什么 TTS 工具? 当我差点陷入需求陷阱的时候,意识到 现在只是在跑通第一步,跑通流程之后再迭代就行了, 那我就用最简单的把它实现就可以。 不知道哪个好用?那就问AI嘛 最终成果 AI让我基于 Edge TTS,创建了 tts voice generator 技能: