标签: webvtt

使用 Javascript 将 .srt 转换为 .webvtt

寻找将 .srt 转换为 .WebVtt 的客户端方式,因为 HTML5 视频不支持 .srt<track>标签。到目前为止,我只遇到过服务器端解决方案。提前致谢

javascript webvtt

6
推荐指数
1
解决办法
2814
查看次数

来自WEBVTT的RDF/JSON的Javascript解析器

晚上好.

直截了当 - 我需要一个脚本,从WEBVTT文件中的特定时间间隔抓取RDF/JSON结构.这样的事情存在吗?

RDF/JSON是Talis指定的文件结构,如下所示:

{ "S" : { "P" : [ O ] } }
Run Code Online (Sandbox Code Playgroud)

WEBVTT实现了这样的结构:

0
00:00:00,000 --> 00:00:46,119
{ "S" : { "P" : [ O ] } }

1
00:00:48,000 --> 00:00:50,211
{ "S" : { "P" : [ O ] } }

...
Run Code Online (Sandbox Code Playgroud)

我会在查看视频文件的同时使用这样的文件,当我点击时间线的某些部分时,脚本会获取相应的RDF/JSON代码(我现在能够执行此操作,已经有一个WEBVTT解析器),然后解析器从RDF/JSON结构中获取对象中的请求信息.

当我看到jQuery实现了getJson时,我真的很开心,但它只适用于"普通"json文件.

最好的办法可能是编写脚本,但我的时间和知识非常有限,所以我想听听任何人可能知道的任何建议或解决方案.

javascript parsing json rdf webvtt

5
推荐指数
1
解决办法
3177
查看次数

删除 iOS iPhone/iPad 上的背景 HTML5-Video/WEBVTT 字幕

我有一个 HTML5 视频,带有一个用于 webvtt 格式字幕的 track-element 。如何在 iOS/iPhone/iPad 上去除字幕后面的黑色背景?在 PC 上的浏览​​器中,我可以使用 CSS ::cue{background:透明;} 删除它

感谢帮助

html video background subtitle webvtt

5
推荐指数
1
解决办法
3483
查看次数

在IE中加载webvtt轨道

我正在加载一个webvtt文件.工作正常但在IE11中没有提示.

            WEBVTT FILE

            00:00:01.000 --> 00:00:04.000
            Let's take a look at the 4th platform preview of IE10

            00:00:04.000 --> 00:00:06.000
            running on the Windows 8 Developer Preview
Run Code Online (Sandbox Code Playgroud)

在代码内:

            var trackNode = jQuery("<track default>");
            // videoNode is just a <video> with <source> child
            videoNode.append(trackNode);
            trackNode.attr({
                label: "Captions",
                kind: "metadata",
                src: "localhost:1234/example&output=vtt"
            });
            trackNode.on("load", function() { // I have also tried using "loadedmetadata" instead of load, but nothing changed
                console.log(this.track.cues.length);
            });
Run Code Online (Sandbox Code Playgroud)

在Chrome中我可以看到有2个提示,但在IE11中我看到0

即使在所有内容都加载后我将其放入控制台:

            jQuery("track").track.cues.length
Run Code Online (Sandbox Code Playgroud)

我仍然在IE中获得0,在Chrome中获得2

我错过了什么吗?

更新1:

在做了一些重构之后,我在控制台中看到了这个错误:MEDIA12604:文本跟踪:未知的MIME类型.HR = 8007000b.

然后我发现这篇文章: WinJS视频元素中的HTTP字幕 …

javascript metadata html5-video internet-explorer-11 webvtt

5
推荐指数
1
解决办法
3553
查看次数

在父级(滑块)上使用 css 翻译时 webvtt 位置错误

在我的项目中,我使用 swiper.js 作为幻灯片,每张幻灯片都包含图像或带有 webvtt 字幕/副标题的 html5 视频。在调试时,我们注意到 webkit 浏览器上的字幕位置错误(太低,截断屏幕)。经过多次调试,发现父 div(swiper-wrapper)上的这个 css3 规则使 vtt 位置错误:

transform: translate3d(-1024px, 0px, 0px)
Run Code Online (Sandbox Code Playgroud)

当您将视频放入第一张幻灯片时,一切都很顺利,因为还没有 css 翻译。

这似乎是一个核心 webkit 问题:在父级上使用 css 翻译时,默认 webvtt 定位会中断。

我发现的解决方法是将 vtt 本身中的行定位添加到每个字幕元素,如下所示:

WEBVTT

00:00:02.160 --> 00:00:06.440 line:90%
hello world

00:00:06.560 --> 00:00:11.920 line:90%
testing subtitles
Run Code Online (Sandbox Code Playgroud)

任何没有“line: 90%”部分的句子都会部分渲染到屏幕外。看来这个设置强制 webvtt 解析器/渲染器将自身设置到正确的位置。

问题:有人遇到过这个问题吗?对于这个错误还有其他(更简单的)解决方法吗?将“line:”部分添加到所有字幕中将是一项艰巨的工作..除非有一个好的编辑器可以批量完成这些工作。

问题 2:由于这似乎是一个 webkit vtt 解析器错误,有人知道在哪里可以最好地报告这个问题吗?

此处测试设置: http: //orgonemedia.nl/webvtt-bug/

webkit css-transforms webvtt swiper.js

5
推荐指数
1
解决办法
871
查看次数

从跨域加载 vtt 的问题

我在从跨域加载 vtt 时遇到问题:“加载 URL 域的尝试不安全...协议和端口必须匹配。” 我尝试将 crossorigin="true" 添加到视频中,它在 chrome 和 firefox 中工作,但在 Internet Explorer 11 中不起作用。还有其他方法可以从 IE11 中的跨域获取 vtt 文件吗?

<video controls autoplay crossorigin="true">
     <source src="http://ronallo.com/demos/webvtt-cue-settings/soybean-talk-clip.mp4" type="video/mp4">
     <track label="Captions" kind="captions" srclang="en" src="http://ronallo.com/demos/webvtt-cue-settings/soybean-talk-clip.vtt" id="caption-change-track" default="">
  </video>
Run Code Online (Sandbox Code Playgroud)

html video cross-domain html5-video webvtt

5
推荐指数
2
解决办法
4510
查看次数

ffmpeg 未检测到字幕格式(webvtt)并拒绝复制它

我正在尝试对某些视频文件上的音频进行重新编码。我想复制视频和字幕而不接触它们,但是,ffmpeg 无法检测字幕的格式(即 webvtt)并且拒绝执行任何操作。

fmpeg -copy_unknown -analyzeduration 2000M -probesize 2000M -i input.mkv -map_metadata 0 -map 0 -c copy -c:a:0 aac -b:a 384k output.mkv

[matroska,webm @ 0x5597558e4040] Unknown/unsupported AVCodecID S_TEXT/WEBVTT.
[matroska,webm @ 0x5597558e4040] Could not find codec parameters for stream 2 (Subtitle: none): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, matroska,webm, from 'input.mkv':
  Metadata:
    encoder         : libebml v1.3.9 + libmatroska v1.5.2
    creation_time   : 2020-03-05T09:03:02.000000Z
  Duration: 00:56:33.26, …
Run Code Online (Sandbox Code Playgroud)

ffmpeg copy subtitle webvtt

5
推荐指数
1
解决办法
6715
查看次数

WebVtt 的 content_type 是什么?

我想允许我的应用程序允许上传 .vtt 文件。现在它只接受 .txt 文件,但我想为字幕添加 .vtt 功能。

我试过这个 * 没有运气:

validates_attachment_content_type :caption, 
  :content_type => ['application/txt', 'text/plain', 'WEBVTT', 'application/vtt', 'vtt']
Run Code Online (Sandbox Code Playgroud)

在这种情况下,正确的格式是什么?

ruby content-type ruby-on-rails paperclip webvtt

4
推荐指数
1
解决办法
3649
查看次数

如何在 html5 本机视频播放器中添加延迟或偏移以同步 webvtt 字幕?

我的视频和 webvtt 字幕不同步。有没有一种JavaScript方法来管理html5本机播放器中的webvtt字幕同步/延迟/偏移?

我找到了这个库(https://github.com/florinn/vtt-shift),但它重写了磁盘上的 webvtt 文件。我更喜欢采用客户端方式与视频重新同步。

<video>
    <source class="videosource" src="{{media}}?play=true" type="video/mp4"/>
    <track kind="subtitles" label="Default" src="{{subtitle}}" default>
</video>
Run Code Online (Sandbox Code Playgroud)

html javascript node.js video-player webvtt

4
推荐指数
1
解决办法
2902
查看次数

转换为 hls 时,FFmpeg 烧录的字幕不同步

我有一个刻有字幕的文件,并且它们完全同步。

这是文件。https://983yqbz442.s3.amazonaws.com/little-mermaid-captions.mp4

我运行此命令来转换为 hls,它会创建 .ts 文件和 .vtt 文件。

ffmpeg -i little-mermaid-captions.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8
Run Code Online (Sandbox Code Playgroud)

然后,我还在同一文件夹中创建一个 master.m3u8 文件,其中包含以下内容。

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360,SUBTITLES="subtitles"
index.m3u8
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="ENG",URI="index_vtt.m3u8"
Run Code Online (Sandbox Code Playgroud)

现在,如果我播放 master.m3u8 文件,字幕就会不同步,并且速度会加快大约 1 秒。我知道这可能是我在 FFmpeg 中缺少的设置,但我确实坚持这一点,并且希望能得到任何见解。

谢谢

更多信息。

这是直接 .m3u8 的链接,可以在 Safari 中打开。

https://983yqbz442.s3.amazonaws.com/hlstests/master.m3u8

生成的vtt文件在这里。

https://983yqbz442.s3.amazonaws.com/hlstests/subs-0.vtt

如果您查看 .vtt 文件的开头,您会看到这一点。

WEBVTT

00:06.840 --> 00:10.320
once long ago in the deep blue below
Run Code Online (Sandbox Code Playgroud)

它应该在 00:06.840 开始,但是当在 Safari 中播放 .m3u8 文件时,您应该会看到它在大约 5 秒处开始,而不是早了 6 秒左右。

ffmpeg http-live-streaming vtt webvtt hls.js

4
推荐指数
1
解决办法
2907
查看次数