Skip to content Skip to sidebar Skip to footer

Html

I'm trying to set up a video as a background in a page. The thing is that i have a and triggers 1 download for the video, then when it finishes y start playing the video again, bu

Solution 1:

<styletype="text/css">body { background: url(demo.jpg) center; 
background-size: 300%;
width:100%;
height:150px;}
video { display: block; }
video#bgvid {
position: fixed;
top: 50%;
left: 50%;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
z-index: -100000;
-webkit-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);

}
@media screen and (max-device-width: 800px) {
body { background: url(demo.jpg) #000 no-repeat center center fixed; }
#bgvid { display: none; }
}
</style><scripttype="text/javascript">//if it is not already in local storageif (localStorage.getItem("demo") === null){
 //make request for filevar oReq = newXMLHttpRequest();
oReq.open("POST", "http://LINK_TO_demo.mp4", true);
 // arraybuffer needed for binary file 
oReq.responseType = "arraybuffer";
 // once loaded 
oReq.onload = function(oEvent) {
 // Convert to Blob Objectvar blob = newBlob([oReq.response], {type: "video/mp4"});
var reader = newFileReader();
reader.readAsDataURL(blob);
reader.onload = function(e) {
var dataURL = reader.result;
localStorage.setItem("demo", dataURL);
// reload or add document ready function.
location.reload();
}
oReq.send();}} 
var videlem = document.createElement("video");
videlem.autoplay = true;
videlem.loop = true;
videlem.poster = "demo.jpg";
videlem.id = "bgvid";
var sourceMP4 = document.createElement("source"); 
sourceMP4.type = "video/mp4";
sourceMP4.src = localStorage.getItem("demo");
sourceMP4.autoPlay = true;
videlem.appendChild(sourceMP4);
document.body.appendChild(videlem);    
</script>

This will make it play faster and stores the video in local Storage so there no more request made to the server.

Solution 2:

I've had the same problem and searched the internet for a solution. I know this is a 3 year old post, but it might help people who run into this issue. In my case we had a +- 24mb .mp4 file in loop, chrome redownloaded the video on every loop. I compressed the video a bit and converted the video to a .webm. The file size was reduced to 4.5mb and the problem disappeared.

Edit : It seems like it has something to do with the file size. The problem also does not occur with a 4.5mb .mp4.

Solution 3:

The only way to get around this issue is to load the file in local Storage or something. Example Above

Post a Comment for "Html