有没有办法使用 JavaScript 在视频中“寻找”到某个时间?

Posted

技术标签:

【中文标题】有没有办法使用 JavaScript 在视频中“寻找”到某个时间?【英文标题】:Is there a way to "seek" to a certain time in a video using JavaScript? 【发布时间】:2012-01-29 15:23:34 【问题描述】:

我有一个带有视频的 iframe,例如:

<iframe src="http://player.vimeo.com/video/18150336"   frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

来源并不总是 vimeo,它可以是 YouTube、BrightCove、Hulu 等。

有没有办法使用 jQuery/javascript 在视频中“寻找”到某个时间?例如,如果我想在视频中到达 3:41,我是否可以编写代码自动寻找到那个时间,而无需 API 访问提供视频的网站?

【问题讨论】:

【参考方案1】:

当然。您可以使用 VideoJS。正如您所说,您可能很难控制 iFrame。据说,您可以使用 VideoJS 嵌入各种视频托管网站的视频。

<script>
VideoJS.DOMReady(function() 
var player = VideoJS.setup("current_video");
player.play();
player.currentTime(666);
);
</script>

参考:

https://github.com/zencoder/video-js/blob/df41661f47201cfbc979b1fbba68fba3d67c06b0/dev/src/tech/youtube.js

http://videojs.com/

https://github.com/zencoder/video-js/blob/master/docs/api.md

【讨论】:

【参考方案2】:

那个 iframe 会给你带来麻烦,但通常你可以在没有库的情况下做到这一点。

// get the video element
let video = document.getElementsByTagName('video')[0]
// jump it to a specific time
video.currentTime = 10 // the number of seconds you want it to be at

【讨论】:

【参考方案3】:

除非你的网站也有http://player.vimeo.com的主机、协议和端口,否则你不能在iframedocument上运行任何代码。

【讨论】:

【参考方案4】:

不幸的是,并非总是如此。如果您不知道视频的来源是什么,则没有单一的解决方案可以在 Flash 视频中寻找时间。

如果你遇到过 html5 视频,可以试试这个:Start HTML5 video at a particular position when loading?

【讨论】:

以上是关于有没有办法使用 JavaScript 在视频中“寻找”到某个时间?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法知道 HTML5 视频初始缓冲区百分比的 Javascript 百分比?

Ziggeo SDK 视频播放器 - 获取寻道时间 [关闭]

苹果电脑安装了win10系统,分区后苹果系统盘丢失,寻高手解决?

2021 年适用于包括 safari 在内的所有浏览器的 pwa javascript 视频录制应用程序

有没有办法在 Discord.py 中流式传输视频?

有没有办法使用 Video.js 从视频标签中获取当前字幕的文本?