I have used GSAP scrolltrigger to only play videos when they are in view which keeps them from loading when they are not. This works well if you have multiple videos on the same page. You could also take a queue from Vimeo and YouTube and handle video launching via a lightbox. Keeps the page nice and lean and lets the user open a video to view using a trigger.
The video is in the initial viewport so i really think our main recommendation would be actually moving it from above the fold, a scroll trigger could then work well in that instance.
I do like the idea of the lightbox too just in terms of the user experience, particularly on mobile.
Or you can look at the videos on my site which I’m intending to adjust to follow this methodology in the next couple of days:
There’s one issue I’ve found with the implementation. The width of the video is capped to 720 px. That’s discussed here:
I’ve solved for this by downloading the repository and hosting it locally and then adjusting the max pixel width to 800 px on my version. (That’s why the URLs in my pictures are different from the code inserts).