我需要播放长视频的一小部分内容。我无法编辑视频以剪切我想要的部分,因为我将有大约6,000个不同的片段,制作单个文件需要很长时间(而且存储空间存在问题)。
所以,假设我想在视频中启动剪辑120秒并播放180秒。
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Video</title>
<script src="Backend/build/jquery.js"></script>
<script src="Backend/build/mediaelement-and-player.min.js"></script>
<link rel="stylesheet" href="Backend/build/mediaelementplayer.css" />
</head>
<body>
<video width="720" height="480" id="player1" controls preload="none" >
<source src="Backend/media/test.mp4" type="video/mp4">
<source src="Backend/media/test.webm" type="video/webm">
<source src="Backend/media/test.ogv" type="video/ogv">
<object width="720" height="480" type="application/x-shockwave-flash" data="Backend/build/flashmediaelement.swf">
<param name="movie" value="flashmediaelement.swf" />
<param name="flashvars" value="controls=true&file=Backend/media/test.mp4" />
</object>
</video>
<script>
$('video,audio').mediaelementplayer();
</script>
</body>
</html>
答案 0 :(得分:0)
对于HTML5视频代码,您可以使用javascript currentTime
属性从一个点开始,使用timeupdate
事件处理程序停止视频。
// Javascript
var starttime = 2000; // start at 2 seconds
var endtime = 4000; // stop at 4 seconds
var video = document.getElementById('video');
video.currentTime = starttime;
video.addEventListener("timeupdate", function() {
if (video.currentTime >= endtime) {
video.pause();
}
}, false);
对于Flash视频,它完全取决于您正在使用的Flash播放器。
请注意,整个视频可能会被加载,考虑到您的问题,我认为这是一个非常大的视频。
答案 1 :(得分:0)
如果您对服务器有一定程度的控制权,则可以搜索到媒体文件。
示例:使用H264 Streaming Module(Apache httpd,lighttpd,nginx,IIS)。流中的位置在查询字符串中引用。示例:http://server/media.mp4?position=32
大名称开源Flash播放器(如JWPlayer)也支持此方案。
请注意,您需要确保以友好的方式对媒体进行编码 - 即小的关键帧间距值。