我的网站上播放了一段视频 它适用于我测试过的除Google Chrome之外的所有浏览器。
视频播放但是真的很生涩。
我如何解决这个问题,有时会卡住,然后玩,然后卡住等等。
这是我的代码
<video autoplay="autoplay" loop="loop" preload="auto" muted="muted" poster="images/backscreen.jpg" width="640" height="360">
<source src="videos/footage_test.mp4" type="video/mp4" />
<object type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" width="640" height="360">
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
<param name="allowFullScreen" value="true" />
<param name="wmode" value="transparent" />
<img alt="Backscreen" src="images/backscreen.jpg" width="640" height="360" title="No video playback capabilities, please download the video below" />
</object>
</video>
答案 0 :(得分:1)
你真的没有办法解决这个问题。您的描述没有足够的具体信息来确定确切原因,但可能是其中之一:
答案 1 :(得分:0)
我遇到了同样的问题,发现可以通过为视频源网址设置Cache-Control,ETag和Expires响应标头来解决这个问题。
如果您还没有这样做,您可能还想设置Content-Range,Accept-Ranges,Content-Length和Content-Type。
这是使用nodejs
实现此目的的方法fs.stat(path, function(err, stat) {
if (err) Error(err);
var positions = req.headers.range.replace(/bytes=/, "").split("-");
var start = parseInt(positions[0], 10);
var total = stat.size;
var end = positions[1] ? parseInt(positions[1], 10) : total - 1;
var chunksize = (end - start) + 1;
res.writeHead(206, {
'Content-Range': 'bytes ' + start + '-' + end + '/' + total,
'Accept-Ranges': 'bytes',
'Content-Length': chunksize,
'Content-Type': 'video/mp4',
'Cache-Control': 'public, max-age=2592000',
'ETag': stat.md5Hash,
'Expires': new Date(Date.now() + 2592000000).toUTCString(),
});
// Send file stream
sendStream(path, start, end);
});