【发布时间】:2019-12-02 10:20:46
【问题描述】:
我有一个 45 秒的视频,我可以将其压缩为 4 Mo。我希望视频能够流畅地播放并具有自动播放功能,但只要存在海报图片就不需要快速启动。因此,一旦它完全加载,它应该会自动播放。 我找到了这段 javascript 代码,但我遇到了错误,我不明白为什么。
<div class="video-container">
<video id="myvideo" controls autoplay muted poster="image.jpg" playsinline style="width: 100% !important;">
</video> </div>
<script type="text/javascript">
var req = new XMLHttpRequest();
req.open('GET', 'example.com/wp-content/uploads/2019/07/video.mp4', true);
req.responseType = 'blob';
req.onload = function() {
// Onload is triggered even on 404
// so we need to check the status code
if (this.status === 200) {
var videoBlob = this.response;
var vid = URL.createObjectURL(videoBlob); // IE10+
// Video is now downloaded
// and we can set it as source on the video element
video.src = vid;
}
}
req.onerror = function() {
// Error
}
req.send();
document.getElementById("myvideo").src = vid;
</script>
我收到视频未在线定义的错误 video.src = 视频; 并随后上线 document.getElementById("myvideo").src = vid;
在控制台中,视频已正确计入页面,上传时间在 1 到 3 秒之间。
【问题讨论】:
-
看看stackoverflow.com/questions/18251632/… ...应该可以解决您的问题
-
这段代码确实有效,所以谢谢,没有更多错误,不幸的是视频仍然不稳定,特别是在 Firefox Mac 中
-
你能分享一个示例视频的链接吗...可能是编码问题而不是加载问题
-
这是链接:ateliermanonpascual.com/collection-couture-with-video 它是用 H264 编码的
-
FWIW 无论你在做什么,现在在 macOS 上的 Firefox 中对我来说都不错。建议(如果您还没有这样做)将 MOOV 原子重新定位到文件的开头以帮助查找
标签: javascript html5-video loading smoothing