我们如何从剧本文件中生成视频
嗨,我是来自 OpenResty Inc. 的 Matthew,今天我想和大家分享一下我们是如何通过 OpenResty Demo 工具链生成教程视频的。
uname -a
cd ~/git/ordemo2/
是的,我们的视频都是自动生成的,包括与本文相关的视频。
基本上人类只要为每个视频写一个剧本文件就可以了。让我们建立一个例子文件,bash.sp
。
vim bash.sp
在这个例子中,我们尝试解释一些基本的 bash 用法。
我们进行以下编辑:
- 第一段是一些旁白,会在最后的视频中说出来。而你可能已经猜到了,我,马修,是一个电脑语音。而在说出这句话的同时,我们可以让机器在终端做一些事情。
- 注意,shell 命令都有一个缩进。
- 而且我们还可以暂停终端操作,讲一些东西。注意段落的
[S]
前缀,意思是“同步”。默认情况下,是异步的。
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 工具链来处理这个剧本文件。这个文件包含了生成最终视频所需的所有必要信息。
./gen bash.sp
它现在完成了对剧本文件的处理。它还完成了所有可以重播的 shell 命令的执行。
我们使用我们的 Ops 语言工具链来实现终端操作的自动化。
opslang -h | less
第二步是将音频生成一堆 MP3 文件。
./gen-audio.sh
最后,我们生成最终的视频文件。
./gen-video.sh bash
我们都准备好了!我们现在可以检查生成的文件,准备上传到 YouTube。
ls -lh bash.mp4 bash.srt
MP4 文件就是视频文件。而 SRT 文件是相应的字幕,有准确的时间信息。
Web 浏览器操作可以通过我们的 Nav 语言工具链自动完成。
../navlang/navlang -h | less
我们将在另一个视频中介绍这个网络话题。
生成的 bash 视频被附加到本帖开头所示的视频中。
如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道 或 B 站频道。谢谢!关于本文和关联视频
本文和相关联的视频都是完全由我们的 OpenResty Showman 产品从一个简单的剧本文件自动生成的。
关于作者
章亦春是开源项目 OpenResty® 的创始人,同时也是 OpenResty Inc. 公司的创始人和 CEO。他贡献了许多 Nginx 的第三方模块,相当多 Nginx 和 LuaJIT 核心补丁,并且设计了 OpenResty XRay、OpenResty Edge 和 OpenResty Showman 等产品。
关注我们
如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!