[ { "i": 0, "speaker": "Speaker 1", "text": "嘿,大家好,这里是从 cod code 这里发来的,我听到了很多关于如何的问题" }, { "i": 1, "speaker": "Speaker 1", "text": "Fable 是如何在发布视频中进行剪辑的?所以我想详细说一下" }, { "i": 2, "speaker": "Speaker 1", "text": "你知道,它还制作了这个演示文稿。所以这有点元。它也在剪辑这个视频" }, { "i": 3, "speaker": "Speaker 1", "text": "是的,但它确实剪辑了这个发布视频,那它是怎么做到的呢?" }, { "i": 4, "speaker": "Speaker 1", "text": "所以我与一个视频制作团队合作,我们做了17次拍摄,里面共有四个场景,我们在这四个场景中做了" }, { "i": 5, "speaker": "Speaker 1", "text": "很多不同的拍摄" }, { "i": 6, "speaker": "Speaker 1", "text": "这就是我得到的,没有进行色彩分级" }, { "i": 7, "speaker": "Speaker 1", "text": "25千兆字节的文件,最后得到了这个,进行了色彩分级,我们有一些UI" }, { "i": 8, "speaker": "Speaker 1", "text": "我们把所有内容拼接在一起,cloud code 做了所有我都没有碰过的事情" }, { "i": 9, "speaker": "Speaker 1", "text": "我没有碰过终端,所以我没有碰过视频编辑器。所以" }, { "i": 10, "speaker": "Speaker 1", "text": "是的,初始提示是什么?我正在处理一堆视频的录音" }, { "i": 11, "speaker": "Speaker 1", "text": "我想让你对它们运行" }, { "i": 12, "speaker": "Speaker 1", "text": "转录服务,然后把最好的镜头拼接成一个最终的片段" }, { "i": 13, "speaker": "Speaker 1", "text": "你知道,每个场景都有多个拍摄" }, { "i": 14, "speaker": "Speaker 1", "text": "最好的拍摄通常是那些手臂最少的,但这也可能改变" }, { "i": 15, "speaker": "Speaker 1", "text": "我还可以,我们拍摄了最后一个场景" }, { "i": 16, "speaker": "Speaker 1", "text": "你知道,我让它为视频创建了一个JSON文件,显示每个场景" }, { "i": 17, "speaker": "Speaker 1", "text": "我们使用的每个片段,所以这就是我给它的,这个视频文件夹" }, { "i": 18, "speaker": "Speaker 1", "text": "我没有告诉它,例如,哪些视频在哪些场景中,对吧?" }, { "i": 19, "speaker": "Speaker 1", "text": "它所做的是转录了每一个视频。所以它使用了whisper和" }, { "i": 20, "speaker": "Speaker 1", "text": "它为每个视频创建了这个单词数组,并且去重,选择了最好的一个" }, { "i": 21, "speaker": "Speaker 1", "text": "所以我将有17个版本,找出哪些在哪些场景中" }, { "i": 22, "speaker": "Speaker 1", "text": "然后它" }, { "i": 23, "speaker": "Speaker 1", "text": "你知道,它会找到最适合的那个,对吧,然后它将所有这些内容编译成一个编辑后的JSON文件" }, { "i": 24, "speaker": "Speaker 1", "text": "它将所有这些内容编译成一个编辑后的JSON文件" }, { "i": 25, "speaker": "Speaker 1", "text": "基本上,它包含了候选版本中的每一个镜头及其原因" }, { "i": 26, "speaker": "Speaker 1", "text": "它选择了这些场景,并记录了每个场景的开始和结束时间" }, { "i": 27, "speaker": "Speaker 1", "text": "如果这个过程没有在视频中间进行剪辑,但它完全可以这么做,你知道,这不是我做的" }, { "i": 28, "speaker": "Speaker 1", "text": "我尽量让每个剪辑都比较干净。所以" }, { "i": 29, "speaker": "Speaker 1", "text": "然后你得到F of M peg来将第一个剪辑拼接在一起。所以" }, { "i": 30, "speaker": "Speaker 1", "text": "这就是它的样子。这实际上是一点后期调色。所以" }, { "i": 31, "speaker": "Speaker 1", "text": "这就是它的样子。这实际上是一点后期调色。所以" }, { "i": 32, "speaker": "Speaker 1", "text": "但没错,F of M peg确实可以做到这一点" }, { "i": 33, "speaker": "Speaker 1", "text": "现在我们可以进行色彩分级了。所以色彩分级看起来比较沉闷。像这样,这实际上是它在中性709模式下的样子" }, { "i": 34, "speaker": "Speaker 1", "text": "我们想要最终达到什么效果?" }, { "i": 35, "speaker": "Speaker 1", "text": "和" }, { "i": 36, "speaker": "Speaker 1", "text": "是的,我们怎么重新进行色彩分级?所以它写,你知道,我对色彩分级一无所知,对吧?" }, { "i": 37, "speaker": "Speaker 1", "text": "我只是知道,这是一回事。所以我只是让它写" }, { "i": 38, "speaker": "Speaker 1", "text": "很多色彩分级,并且" }, { "i": 39, "speaker": "Speaker 1", "text": "这是最终的,你知道,从摄像机到中性色彩分级的样子。所以" }, { "i": 40, "speaker": "Speaker 1", "text": "所以接下来的要点是I" }, { "i": 41, "speaker": "Speaker 1", "text": "想要创建类似的设计素材,所以我之前给了它脚本" }, { "i": 42, "speaker": "Speaker 1", "text": "而且我不得不制作一大堆设计素材,然后我说,好吧,我想把它转成" }, { "i": 43, "speaker": "Speaker 1", "text": "使用 Remotion。Remotion 是一个库,可以将视频和 React 组件结合起来,并允许你" }, { "i": 44, "speaker": "Speaker 1", "text": "喜欢将它们全部一起导出到一个最终的视频中。所以我当时说,好吧,我们制作一堆" }, { "i": 45, "speaker": "Speaker 1", "text": "用于 Remotion 的组件,嗯,展示了实现设计。所以它看起来就是这个样子。" }, { "i": 46, "speaker": "Speaker 1", "text": "所有内容都已反应,比如,使用我们拥有的转录JSON来选择节奏和时间" }, { "i": 47, "speaker": "Speaker 1", "text": "之前。对。所以它内部有所有这些数据,你知道的,会逐渐淡入淡出," }, { "i": 48, "speaker": "Speaker 1", "text": "嗯,有很多我可以调整的旋钮之类的。嗯,最后的编辑是这种" }, { "i": 49, "speaker": "Speaker 1", "text": "比如,你知道什么时候显示哪个,呃,用户界面组件。对。这里有一个例子," }, { "i": 50, "speaker": "Speaker 1", "text": "你知道,呃,它就像在右边的节拍上切换了一个UI组件。所以只要我说cloud" }, { "i": 51, "speaker": "Speaker 1", "text": "做正确的工作,它会切换这两个组件。而且,它一直在做这些事情" }, { "i": 52, "speaker": "Speaker 1", "text": "本身,对吧。根据转录内容,还有Remotion组件。所以" }, { "i": 53, "speaker": "Speaker 1", "text": "呃,然后我说,好吧,我们把设计导出到Figma吧。嗯,是的,我想" }, { "i": 54, "speaker": "Speaker 1", "text": "让设计团队能够对其进行编辑。对,所以我从这个开始,这就像第一次" }, { "i": 55, "speaker": "Speaker 1", "text": "本质上就像在云设计的方式中通过,但我知道设计团队的品味要好得多" }, { "i": 56, "speaker": "Speaker 1", "text": "比我更厉害。嗯,我还给了他们编辑色彩分级的能力,他们最终会这么做," }, { "i": 57, "speaker": "Speaker 1", "text": "但是,你知道,我发给他们一个HTML文件,让他们可以玩一玩,嗯,其中一些" }, { "i": 58, "speaker": "Speaker 1", "text": "嗯,就是,设置之类的。然后他们去编辑Figma,然后他们给出" }, { "i": 59, "speaker": "Speaker 1", "text": "把它还给我。我只是说,这全部都是使用Figma MCP。我只是说,设计已经" }, { "i": 60, "speaker": "Speaker 1", "text": "在这个Figma中进行了更新。你能更新视频以匹配吗?嗯,它确实可以做到这一点,对吧。嗯," }, { "i": 61, "speaker": "Speaker 1", "text": "它将其转化为这种干净、透明的外观,设计团队" }, { "i": 62, "speaker": "Speaker 1", "text": "整理好了。这就是它的样子。" }, { "i": 63, "speaker": "Speaker 1", "text": "看起来最终是这样。所以这是一个前后对比,嗯,或者说是,它有这种,你知道的," }, { "i": 64, "speaker": "Speaker 1", "text": "界面之前和之后,这是一个样本片段。嗯,敏锐的观察者可能会意识到这并不是" }, { "i": 65, "speaker": "Speaker 1", "text": "我们上传到云开发者的视频。嗯,我没有及时完成设计的调整" }, { "i": 66, "speaker": "Speaker 1", "text": "因为我在东京,但是,嗯,你知道,我,我最终还是做了。所以,嗯,你知道,这" }, { "i": 67, "speaker": "Speaker 1", "text": "这里重要的是,这都只是代码,对吧。这些都是云代码,云" }, { "i": 68, "speaker": "Speaker 1", "text": "代码正在编写。所以每个," }, { "i": 69, "speaker": "Speaker 1", "text": "每个Jason都有一个转录文本。然后还有我之前提到的那个最终编辑版Jason文件," }, { "i": 70, "speaker": "Speaker 1", "text": "对。然后还有这个,嗯,这是在给这些评分文件打分。呃,然后还有好多" }, { "i": 71, "speaker": "Speaker 1", "text": "用于 re motion 的 react 组件。有一个最终的编辑步骤将它们全部拼接在一起。然后" }, { "i": 72, "speaker": "Speaker 1", "text": "它使用 NPX re motion render 来渲染视频,应用色彩分级,进行 re motion,呃,UI" }, { "i": 73, "speaker": "Speaker 1", "text": "然后,最后把所有东西都整合在一起。所以,嗯,是的,你知道,它,它,它,它,它," }, { "i": 74, "speaker": "Speaker 1", "text": "它确实做到了。所以,嗯,是的,事情就是这样发生的。嗯,是的。Fable真是令人难以置信。嗯," }, { "i": 75, "speaker": "Speaker 1", "text": "希望现在编辑更容易了,所以想多做一些视频。告诉我你的想法" }, { "i": 76, "speaker": "Speaker 1", "text": "如果你有任何问题。谢谢你们。" } ]