包含 html5 个视频的缓慢页面

Slow page with html5 videos

每张幻灯片都有一个背景视频。 问题是该页面不能很好地工作,它在旧电脑和 mac 上有点慢,我想优化它

我不是说当你加载页面时*而是页面本身的操作,当你滚动时似乎所有的视频都被激活,这导致页面在旧电脑和 mac.

上变得 很慢

我正在使用 video.js 作为背景视频。

知道如何优化它吗?

这是一个页面示例:http://z-testing.000webhostapp.com/_video/

html:

<div class="swiper-container swiper-container-home">
  <div class="swiper-wrapper">
    <article class="swiper-slide">
      <div class="swiper-slide-content swiper-slide-content-intro">
        <h2>And you can clean around the wound <br>
        If you want to, It just takes time</h2>
      </div>
      <div class="fullscreen-video">
        <a href="javascript:void(0)" class="icon-close icon-close-video"></a>
      </div>
      <!-- the autoplay is only for the first video -->
      <video id="my-player" class="video-js vjs-default-skin" autoplay loop muted playsinline> 
        <source type="video/mp4" src="https://player.vimeo.com/external/422535408.hd.mp4?s=15cc550deb01f3addbfd31fbfd0a63ee665800d8&profile_id=174">
      </video>
      <div class="scrolldown fakt-light text small"></div>
    </article>
  </div>
</div>

js:

/* home page */
$(window).load(function() {

  var swiper = new Swiper('.swiper-container', {
    direction: 'vertical',
    slidesPerView: 1,
    spaceBetween: -1,
    mousewheel: true,
    preventClicks: true,
    allowTouchMove: true,
    preventClicksPropagation: true
  });

  swiper.on('slideChange', function() {
    var realIndex = swiper.realIndex;
    if (realIndex == 0) {
      $("#header").removeClass("active");
    } else {
      $("#header").addClass("active");
    }
  });

  // next slide
  $(".scrolldown").on("click", function (e) {
      e.preventDefault();
      swiper.slideNext();
      return !1;
  });

  $(".swiper-slide, .swiper-container").height($(window).height());
  $(window).resize(function () {
      $(".swiper-slide, .swiper-container").height($(window).height());
  });

  function toggleMute() {
      $(".swiper-slide-active .play_video").on("click", function (e) {
          var video = $(".swiper-slide-active video").attr("id");
          var play = videojs(video);
          console.log(video);
          e.preventDefault();
          $(".content").removeClass("delay");
          $("body").addClass("music_on");
          play.currentTime(0);
          play.play();
          play.muted(!1);
          play.on("ended", function () {
              $("body").removeClass("music_on");
              play.muted(!0);
              setTimeout(function () {
                  $(".content").addClass("delay");
              }, 1000);
          });
          return !1;
      });
      $(".swiper-slide-active .cross_video").on("click", function (e) {
          var video = $(".swiper-slide-active video").attr("id");
          var player = videojs(video);
          player.muted(!0);
          $("body").removeClass("music_on");
          setTimeout(function () {
              $(".content").addClass("delay");
          }, 1000);
      });
      $(".swiper-slide-active")
          .not(".play_video")
          .on("click", function () {
              var video = $(".swiper-slide-active video").attr("id");
              var player = videojs(video);
              player.muted(!0);
              $("body").removeClass("music_on");
              setTimeout(function () {
                  $(".content").addClass("delay");
              }, 1000);
          });
      $(document).keyup(function (e) {
          if (e.keyCode == 27) {
              var video = $(".swiper-slide-active video").attr("id");
              var player = videojs(video);
              player.muted(!0);
              $("body").removeClass("music_on");
              setTimeout(function () {
                  $(".content").addClass("delay");
              }, 1000);
          }
      });
  }
  if ($(".swiper-slide-active video").length) {
      var video = $(".swiper-slide-active video").attr("id");
      var player = videojs(video);
      player.play();
      player.muted(!0);
      toggleMute();
  }
  swiper.on("slideChangeTransitionStart", function () {
      $("body").removeClass("music_on");
      if ($(".swiper-slide-active video").length) {
          var video = $(".swiper-slide-active video").attr("id");
          var player = videojs(video);
          player.play();
          player.muted(!0);
          toggleMute();
      }
  });
  swiper.on("slideChangeTransitionEnd", function () {
      if ($(".swiper-slide-prev video").length) {
          var video = $(".swiper-slide-prev video").attr("id");
          var player = videojs(video);
          player.play();
          player.muted(!0);
      }
      if ($(".swiper-slide-next video").length) {
          var video = $(".swiper-slide-next video").attr("id");
          var player = videojs(video);
          player.play();
          player.muted(!0);
      }
  });

});

Amm 我不认为它适用于 js 我不知道你的网速 但我想这是你的视频问题 您的视频正在重定向,因此您感觉网站运行缓慢。 观看这个 ScreenShot

我想只需下载视频,然后使用任何在线或离线工具对其进行压缩即可。 将它从 10mb 变为 1-2mb

也为您的服务器使用 Cache-Control Headers

Watch this 怎么办。 我想你会解决的。 谢谢

[更新] 您还可以 link 托管在 google 服务器中的那些 js 文件。

实际上,您只需要不这样做即可。

找到一种更好的方式来呈现您想要的内容,而无需在后台播放大量高清视频。无论如何,对于那些不打算播放您的视频的人(可能在带宽受限的网络上),您将需要后备内容。

有些设备一次甚至不能解码一个以上的视频,更不用说同时解码、缩放、播放、合成和处理一些 JavaScript-based 平滑滚动了。即使在我结实的笔记本电脑上,您的网站一次也只能为我播放一个视频。

至少,您需要暂停所有当前 on-screen 以外的视频。尝试一次只玩一件事。