获取视频
从 YouTube 链接、本地视频或音频文件开始一个工作区——需要登录 YouTube 时也有办法。
每个工作区都从一块“生肉“开始:一段视频或音频。OpenBBQ 接受三种来源。
| 来源 | 示例 | 要跑 fetch 吗? |
|---|---|---|
| 在线视频链接 | 一条 YouTube URL | 要——在 init 之后 |
| 本地视频 | .mp4、.mkv、.mov、.webm | 不用 |
| 本地音频 | .wav、.mp3、.m4a、.flac | 不用 |
fetch 只适用于链接。本地文件直接跳到准备音频。
本地文件
把 init 指向一个已经存在、扩展名能被识别的文件:
openbbq init --workspace workspaces/demo /path/to/video.mp4音频文件也一样:
openbbq init --workspace workspaces/demo /path/to/audio.m4aOpenBBQ 会记录文件的绝对路径,就地使用它——不会复制进工作区。之后如果移动或删除了这个文件,所有依赖媒体的步骤都会失败。音频来源没有画面可烧,burn 不可用,但导出字幕文件不受影响。
从这里开始,步骤和快速上手一样:准备音频、把听到的话记下来,一步一步来。
在线视频
YouTube 链接先 init,再由 fetch 下载:
openbbq init --workspace workspaces/demo 'https://www.youtube.com/watch?v=...'
openbbq fetch --workspace workspaces/demo --max-height 1080记得给 URL 加上引号——在 zsh 这类 shell 里,? 和 & 是特殊字符,不加引号会把链接弄坏。
fetch 使用 yt-dlp 下载器:视频存到工作区的 media/ 文件夹,并记录网站提供的标题、作者和封面信息。--max-height 1080 把画质限制在 1080p 或以下;不加它,就取 yt-dlp 能拿到的最好画质。
登录 YouTube
有时 YouTube 会要求登录或先通过人机验证,才放行下载。OpenBBQ 可以保存一个 YouTube 会话;会话存在时,fetch 会自动使用。
创建会话:
openbbq auth browser-login youtube桌面浏览器会打开一个窗口——在里面完成登录和人机验证。OpenBBQ 只保留需要的 cookie,以受限的文件权限存放在 ~/.openbbq/auth/youtube/。
查看或删除已保存的会话:
openbbq auth status youtube
openbbq auth clear youtube也可以明确指定用不用会话:
openbbq fetch --workspace workspaces/demo --auth youtube
openbbq fetch --workspace workspaces/demo --no-auth--auth youtube 使用保存的会话;--no-auth 匿名下载——公开视频只在登录状态下返回 403 时用它。两个选项二选一,不要同时用。
受限环境
浏览器登录需要桌面会话,保存的会话需要可写的 OPENBBQ_HOME(默认 ~/.openbbq)。在受限沙箱里,请换到正常的用户环境做登录和带会话的 fetch,或者把 OPENBBQ_HOME 指向一个可写的路径。
重新下载
重跑 fetch 会替换下载阶段保存的状态,并让后面所有步骤失效——听写稿、字幕行都得重新生成。重新生成之前,先打开下载好的媒体看一眼,确认是你要烤的那份。