[javascript] Video.js를 사용하여 동영상 재생 중에 텍스트 마스킹 효과를 적용하는 방법은 무엇인가요?
  1. Video.js를 HTML 페이지에 포함시킵니다. 다음 코드를 <head> 태그 아래에 추가하세요.

    <link href="https://vjs.zencdn.net/7.14.3/video-js.css" rel="stylesheet" />
    <script src="https://vjs.zencdn.net/7.14.3/video.js"></script>
    
  2. <video> 태그에 ID를 추가하고, Video.js로 이를 초기화합니다. 다음 코드를 <body> 안에서 원하는 위치에 추가하세요.

    <video id="my-video" class="video-js vjs-big-play-centered" controls>
      <source src="path/to/video.mp4" type="video/mp4" />
    </video>
    
    <script>
      videojs("my-video", {}, function () {
        // 초기화 완료 시 실행되는 콜백 함수
        this.on("play", function () {
          // 재생 중에 실행되는 코드
          var textMask = document.createElement("div");
          textMask.id = "text-mask";
          document.getElementById("my-video").parentNode.appendChild(textMask);
        });
      });
    </script>
    

    이 코드는 동영상이 재생되기 시작할 때마다 텍스트 마스킹을 위한 <div> 요소를 동적으로 생성합니다.

  3. CSS를 사용하여 생성한 <div> 요소에 텍스트 마스킹 효과를 적용합니다. 다음 코드를 CSS 파일에 추가하거나 <style> 태그 안에 추가하세요.

    #text-mask {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(to bottom, transparent 0%, black 100%);
      pointer-events: none;
    }
    

    이 코드는 생성한 <div> 요소에 선형 그라데이션 배경을 적용하여 텍스트를 마스킹합니다. 배경은 상단에서 투명하게 시작하여 하단으로 내려갈수록 불투명해집니다.

위의 코드를 적용하면 동영상 재생 중에 텍스트 마스킹 효과가 적용됩니다. path/to/video.mp4 부분을 실제 동영상 파일의 경로로 변경해야 합니다.

참고자료: