MP4视频开放字幕中的LaTeX
总体工作流程
录制视频。 我一直在用 OBS工作室 为此,遵循优秀的 詹姆斯·萨姆纳的视频 (如果你看这些,你也会在这个页面的其他地方看到他的影响——整个工作流是他的扩展版本,允许LaTeX在开放字幕中出现)。 在这个阶段,我们有一个文件 视频.mp4 说吧。 现在我们把它上传到YouTube。 上传后,我们可以进入YouTube Studio播放视频。 视频有自己的带有标识符的网络链接。 复制它。 去 向下Sub ,将网络链接粘贴到视频中,然后单击“下载”,很快您将获得下载 .srt(.srt) 文件。 这样做; 这是谷歌制作的自动字幕文件(特别是SubRip格式;还有其他选择,但这是我们稍后需要的)。 不幸的是,至少可以说,这不是很好。 但您可以在文本编辑器中编辑此内容。 可以在此处插入LaTeX命令,但要确保每一行都有与开头的数学标记(美元等)相匹配的结束数学标记。 这是耗时的部分! 允许大约4倍于视频长度的长度来编辑字幕。。。。 下载以下文件,并将其放入目录中:
gawk64.exe (987KB),Windows实现 AWK公司 (这是一个本地Linux程序,因此在那里很容易使用,我想也有Mac实现); 露天煤矿 (12KB),用于打开字幕的AWK脚本; 打开caps.bat (102字节),用于从命令行运行脚本的批处理文件; 白色.jpg (4KB),它将被用作背景文件,尽管不透明度非常大,您无论如何都不会看到它; 也许可以省略。
导航到目录,然后从命令行运行:“ opencaps视频 ”,您将获得一些输出:
视频传输.tex ,LaTeX转录文件(请随意编辑 打开caps.bat 让它也运行LaTeX,如果您愿意,可以直接获取PDF,但您可能想编辑它以放入段落); 视频cc.srt ,试图将LaTeX转换为闭路字幕文件(并不太好):没有任何闭路字幕系统允许LaTeX命令,所以这是一种胡编乱造——LaTeX数学被转换为黄色斜体。 (据我所见,SubRip只允许使用粗体、斜体和字体颜色作为HTML标记。)它看起来不太好,许多LaTeX命令根本不起作用。 不过,我想我不会对此做任何事情——任何真正想要字幕的人都可以观看公开字幕版。 视频.html ,一个HTML文件。 此HTML文件显示标题,并显示正确的时间(大约); 每个标题都有自己的 div公司 ,一些JavaScript会显示具有适当延时的正确脚本。 LaTeX显示得很好,因为MathJax是在标题中导入的; 文本在灰色背景矩形上是白色的(有些不透明),但矩形实际上是在透明背景上。
现在返回 OBS工作室 ,并使用播放视频的“媒体源”制作场景 视频.mp4 和播放字幕HTML文件的“浏览器”源代码 视频.html 。这两者都应设置为在场景启动时刷新; 我制作了一个额外的场景开始录制,当我准备好录制时,我立即按“开始录制”将场景切换到视频加字幕场景。 (请注意,如果可能的话,你应该关掉电脑麦克风,或者保持安静——一次早期尝试录制了我的健身自行车和视频……)你需要在结束时手动停止录制(或编辑视频以切断多余的比特)。 通过这种方式,您可以获得一个视频,并将其另存为 视频(oc.mp4) 文件的一个版本,带有打开的标题(即刻录的标题)。 我发现文件的大小相当大。无论如何,您应该将隐藏字幕文件添加到原始(未选)视频中,您可以使用 手刹 ,以获取 视频cc.mp4 ,原始视频 视频.mp4 带闭路字幕(非LaTeX) 视频cc.srt 但这通常会减少文件大小,即使与原始视频相比也是如此,因此可以对打开的字幕文件执行相同的操作,并且我们发现文件大小大大减少(在我目前的实验中,大约减少了8倍):替换 视频_oc.mp4 这个版本添加了闭路字幕(默认情况下会关闭,并且打开的字幕仍然可以正常播放)。
一个例子
ML7-1.html (13KB),一个带有标题的HTML文件; ML7-1cc.srt型 (7KB),一个新的SubRip文件,适度尝试添加隐藏字幕,并将使用Handbrake添加到视频中; ML7-1变速箱 (4KB),LaTeX转录文件。
迄今为止的问题
有时输出中缺少条形图:$\上划线{x}$的输出方式与$x$相同。 (也许LaTeX文件是错误的?)