首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML 5视频搜索/章节

HTML 5视频搜索/章节
EN

Stack Overflow用户
提问于 2012-08-27 19:20:18
回答 2查看 2.5K关注 0票数 1

我在我的服务器上有一个很长的.m4v视频文件(~ 1小时),但我想在我的网站上显示一个视频(HTML-5 ),它只显示它的子部分(例如,minutes 3 -> 5紧跟minutes 19 -> 20)。所以我的用户看到的视频只有5分钟长。

有没有人知道目前有什么HTML-5视频播放器或聪明的技巧可以支持这个用例?我猜我想要的功能类似于quicktime参考文件,但在HTML5 -video中,这样如果我的用户通过播放视频,他们只能看到‘子部分’,而不是之间的任何东西。

感谢您的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-15 15:39:50

您可以使用Media Fragments URIs告诉浏览器只从服务器请求视频文件的一部分。

例如,要在10秒到20秒之间检索此视频,请使用如下url设置视频源:

代码语言:javascript
复制
<video src="myvideo.webm#t=10,20"></video>

通常,这在Internet Explorer中不起作用。

您仍然需要将多个视频片段按顺序缝合在一起。您可以在每个视频上放置一个"ended“事件侦听器来对下一个视频进行排队,也可以使用像popcorn.sequence这样的库

票数 2
EN

Stack Overflow用户

发布于 2015-03-11 18:16:21

我同意布里奇尔的观点。媒体片段工作得很好,而且它的代码很少!

另一种选择是对HTML5视频标记使用令人敬畏的内置侦听器。

您可以执行以下操作:

代码语言:javascript
复制
video = document.getElementByTagName('video')[0];
insAndOuts = [{in: 3, out: 5}, {in: 19, out: 20}];

video.addEventListener('loadeddata', function(){
  video.currentTime = insAndOuts[0].in;
});

var nextTime = function(time){
  var ends = _.map(insAndOuts, function(x){ return x.out});
  return ends.indexOf(time) + 1;
};

video.addEventListener('timeupdate', function(){
  var nextIndex = nextTime(video.currentTime)
  if(nextIndex > 0) {
    video.currentTime = insAndOuts[nextIndex].in;
  }
});

就我记忆所及,这基本上就是brianchirls帖子中的爆米花序列。这将在所有浏览器上运行,但需要管理大量代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12140976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档