【发布时间】:2017-03-21 00:59:40
【问题描述】:
HTML 文件中字幕轨道的来源是否可以是 JavaScript 字符串?例如,TextArea 的上下文?
概念 HTML:
<div>
<video id="video" controls preload="metadata" style="float:left;width:17em;">
<source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" type="video/mp4">
</video>
<textarea id="source" style="float:right;width:17em;height:200em;margin-left:5px;">
WEBVTT . 1 00:00:00.256 --> 00:00:02.304 TESTERONY 2 00:00:03.840 --> 00:00:05.376 Test2
</textarea>
</div>
概念 Javascript:
document.getElementById("video").addEventListener("loadedmetadata", function() {
track = document.createElement("track");
track.kind = "captions";
track.label = "English";
track.srclang = "en";
track.src = "data:text/plain;" + document.getElementById("source").value;;
track.addEventListener("load", function() {
this.mode = "showing";
video.textTracks[0].mode = "showing"; // thanks Firefox
});
this.appendChild(track);
});
JSFiddle 在行动: https://jsfiddle.net/artayeoy/1/
最终目标是希望从 Google Speech API 获得字幕文本,人们可以在其中观看视频、修复 Google 的混乱并重播以确保一切匹配。
最后,我们会将生成的文件保存为真实文件。
原始文本输入来自: https://github.com/agermanidis/autosub
【问题讨论】:
-
与 YouTube 上的字幕编辑方式类似,但语音除外。有一个开源的 JS 媒体播放器,可以很好地完成交互式脚本,称为 ablePlayer
-
@zer00ne 谢谢。我会检查ableplayer。它可以为我节省一些编码。
标签: javascript html html5-video