嗨,我是来自 OpenResty Inc. 的 Matthew,今天我想和大家分享一下我们是如何通过 OpenResty Demo 工具链生成教程视频的。

1
2
uname -a
cd ~/git/ordemo2/

截图 1

是的,我们的视频都是自动生成的,包括与本文相关的视频。

基本上人类只要为每个视频写一个剧本文件就可以了。让我们建立一个例子文件,bash.sp

1
vim bash.sp

在这个例子中,我们尝试解释一些基本的 bash 用法。

我们进行以下编辑:

  1. 第一段是一些旁白,会在最后的视频中说出来。而你可能已经猜到了,我,马修,是一个电脑语音。而在说出这句话的同时,我们可以让机器在终端做一些事情。
  2. 注意,shell 命令都有一个缩进。
  3. 而且我们还可以暂停终端操作,讲一些东西。注意段落的 [S] 前缀,意思是“同步”。默认情况下,是异步的。
1
2
3
4
5
6
7
8
9
10
11
Today I'll demonstrate some bash usage.

ps -p "$$"

[S] As we can see we are currently in a bash session.

Let's do a hello world in bash.

echo 'hello world!'

[S] We can see the hello world string is printed.

我们可以使用我们的 OpenResty Demo 工具链来处理这个剧本文件。这个文件包含了生成最终视频所需的所有必要信息。

1
./gen bash.sp

截图 14

它现在完成了对剧本文件的处理。它还完成了所有可以重播的 shell 命令的执行。

我们使用我们的 Ops 语言工具链来实现终端操作的自动化。

1
opslang -h | less

第二步是将音频生成一堆 MP3 文件。

1
./gen-audio.sh

截图 16

最后,我们生成最终的视频文件。

1
./gen-video.sh bash

截图 18

我们都准备好了!我们现在可以检查生成的文件,准备上传到 YouTube。

1
ls -lh bash.mp4 bash.srt

截图 19

MP4 文件就是视频文件。而 SRT 文件是相应的字幕,有准确的时间信息。

Web 浏览器操作可以通过我们的 Nav 语言工具链自动完成。

1
../navlang/navlang -h | less

我们将在另一个视频中介绍这个网络话题。

生成的 bash 视频被附加到本帖开头所示的视频中。

截图 23 如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道B 站频道。谢谢!

关于本文和关联视频

本文和相关联的视频都是完全由我们的 OpenResty Demo 系统从一个极简单的剧本文件自动生成的。

关于作者

章亦春是开源项目 OpenResty® 的创始人,同时也是 OpenResty Inc. 公司的创始人和 CEO。他贡献了许多 Nginx 的第三方模块,相当多 Nginx 和 LuaJIT 核心补丁,并且设计了 OpenResty XRay 等产品。

关注我们

如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:

我们的微信公众号

翻译

我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!