Skip to main content

外部录制

您还可以在 Recorder 视频中包含您外部录制的录音。
例如,您可以用它来编辑 vlog。

添加文件

将从相机中录制的录音传输到计算机,并将它们放入 public/<composition-id> 文件夹中。
文件结构应如下所示:

假设组合 ID 为 'vlog'
bash
public
├── vlog
│ ├── camera10.mov
│ ├── camera20.mov
│ └── camera30.mov
假设组合 ID 为 'vlog'
bash
public
├── vlog
│ ├── camera10.mov
│ ├── camera20.mov
│ └── camera30.mov

每个视频的前缀必须是 "webcam"
后缀必须按您想要使用视频的顺序递增。

生成字幕

运行

bash
bun sub.ts
bash
bun sub.ts

为您的录音生成字幕。

使用视频

现在,您可以在右侧边栏中添加更多场景,开始包含这些录音。

iPhone 录音

iPhone 录音是 HEVC 视频,在渲染期间 Chrome 无法获取视频的尺寸。
您将收到渲染失败的消息。

以下是将录音转换为 MP4 的脚本:

convert.ts
ts
import { $ } from "bun";
import { renameSync, unlinkSync } from "fs";
const compositionId = "vlog";
const ls = (await $`ls public/${compositionId}`).stdout.toString("utf-8");
const files = ls.split("\n");
for (const file of files) {
if (
file.toLowerCase().endsWith(".mov") ||
file.toLowerCase().endsWith(".mp4")
) {
await $`bunx remotion ffmpeg -i public/${compositionId}/${file} public/${compositionId}/_${file}.mp4`;
unlinkSync(`public/${compositionId}/${file}`);
renameSync(
`public/${compositionId}/_${file}.mp4`,
`public/${compositionId}/${file.replace(/ /g, "_")}`,
);
}
}
convert.ts
ts
import { $ } from "bun";
import { renameSync, unlinkSync } from "fs";
const compositionId = "vlog";
const ls = (await $`ls public/${compositionId}`).stdout.toString("utf-8");
const files = ls.split("\n");
for (const file of files) {
if (
file.toLowerCase().endsWith(".mov") ||
file.toLowerCase().endsWith(".mp4")
) {
await $`bunx remotion ffmpeg -i public/${compositionId}/${file} public/${compositionId}/_${file}.mp4`;
unlinkSync(`public/${compositionId}/${file}`);
renameSync(
`public/${compositionId}/_${file}.mp4`,
`public/${compositionId}/${file.replace(/ /g, "_")}`,
);
}
}

使用以下命令运行:

sh
bun convert.ts
sh
bun convert.ts

以解决此问题。

示例

our-recorder 存储库中,组合 marathonairportrun 使用了真实的素材。