구글 AMP – Video

6 min read

amp의 Amp-video는 직접 동영상 삽입을 재생하는데 사용되는 표준 html5 동영상입니다. 이 글에서는 amp-video로 작업하고 사용하는 방법을 이해하겠습니다.

amp-video로 작업하려면 다음 스크립트를 추가해야 합니다.

<script async custom-element="amp-video" 
src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script>

Amp-video에는 로드할 비디오 리소스가 있는 src 속성이 있으며 런타임시 amp에 의해 느리게 로드됩니다. 게다가 모든 기능은 html5 비디오 태그와 거의 동일합니다.

다음은 amp video에 추가 할 노드입니다.

  • Source - 이 태그를 사용하여 재생할 다른 미디어 파일을 추가할 수 있습니다.
  • Track - 이 태그를 사용하면 비디오의 자막을 활성화할 수 있습니다.
  • Placeholder - 이 자리표시자 태그는 동영상이 시작되기 전에 콘텐츠를 표시합니다.
  • Fallback - 이 태그는 브라우저가 HTML5 비디오를 지원하지 않을 때 호출됩니다.

amp-video 태그 형식

amp-video 태그의 형식은 다음과 같습니다.

<amp-video controls width="640" height="360" 
           layout="responsive" 
           poster="images/videoposter.png">
  <source src="video/bunny.webm"
          type="video/webm" />
  <source src="video/samplevideo.mp4"
          type="video/mp4" />
  <div fallback>
    <p>This browser does not support the video element.</p>
  </div>
</amp-video>

아래와 같이 실제 예제를 사용하여 amp-video를 이해하겠습니다.

예제

<!doctype html>
<html ⚡ lang="ko">
<head>
  <meta charset="utf-8">
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  <title>Google AMP - Amp Video</title>
  <link rel="canonical" href="https://googleblogamp.blogspot.com/2021/01/google-amp-video.html">
  <meta name="viewport" content="width=device-width,minimum-scale=1">
  <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
  <script async custom-element="amp-video" 
src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script>
</head>
<body>
<h3>Google AMP - Amp Video</h3>
<amp-video controls
           width="640"
           height="360"
           layout="responsive"
           poster="images/videoposter.png">
  <source src="video/bunny.webm"
          type="video/webm" />
  <source src="video/samplevideo.mp4"
          type="video/mp4" />
  <div fallback>
    <p>This browser does not support the video element.</p>
  </div>
</amp-video>
</body>
</html>

결과

위에 주어진 코드의 출력은 다음과 같습니다.

amp-video에 사용 가능한 속성

amp-video에 사용할 수 있는 속성은 다음 표에 나열되어 있습니다.

속성 설명
src 노드가 없으면 src를 지정해야 하며 https://url입니다.
poster 포스터는 동영상이 시작되기 전에 표시되는 img url을 사용합니다.
autoplay amp-video에 이 속성이 있으면 브라우저가 지원하는 경우 동영상이 자동 재생됩니다. 동영상은 음소거 모드로 재생되며 사용자는 동영상을 탭하여 음소거를 해제해야 합니다.
controls amp-video에 이 속성이 있으면 html5 video과 유사한 컨트롤 바가 동영상에 표시됩니다.
loop 이 속성이 amp-video에 있는 경우 완료되면 동영상이 다시 재생됩니다.
crossorigin 비디오를 재생할 리소스가 다른 출처에 있는 경우이 속성이 나타납니다.
rotate-to-fullscreen 동영상이 표시되는 경우 사용자가 기기를 가로 모드로 회전하면 동영상이 전체 화면으로 표시됩니다.

Amp-video 자동 재생

동영상을 자동 재생해야하는 경우 autoplay 속성을 사용할 수 있습니다. 이 기능은 브라우저 지원에 따라 작동합니다. 자동 재생시 동영상은 음소거 상태가됩니다. 사용자가 비디오를 탭하면 음소거가 해제됩니다.

아래 주어진 작업 예제의 도움으로 자동 재생 기능을 살펴 보겠습니다.

예제

<!doctype html>
<html ⚡ lang="ko">
<head>
  <meta charset="utf-8">
  <script async src="https://cdn.ampproject.org/v0.js"></script>
  <title>Google AMP - Amp Video</title>
  <link rel="canonical" href="https://googleblogamp.blogspot.com/2021/01/google-amp-video.html">
  <meta name="viewport" content="width=device-width,minimum-scale=1">
  <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
  <script async custom-element="amp-video" 
src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script>
</head>
<body>
<h3>>Google AMP - Amp Video Autoplay</h3>
<amp-video controls
           width="640"
           height="360"
           layout="responsive"
           poster="images/videoposter.png"
           autoplay>
  <source src="video/bunny.webm"
          type="video/webm" />
  <source src="video/samplevideo.mp4"
          type="video/mp4" />
  <div fallback>
    <p>This browser does not support the video element.</p>
  </div>
</amp-video>
</body>
</html>

다음 코드와 같이 controls 속성을 추가하여 동영상에 컨트롤을 활성화 할 수 있습니다.

<amp-video controls
           width="640"
           height="360"
           layout="responsive"
           poster="images/videoposter.png"
           autoplay>
  <source src="video/bunny.webm"
          type="video/webm" />
  <source src="video/samplevideo.mp4"
          type="video/mp4" />
  <div fallback>
    <p>This browser does not support the video element.</p>
  </div>
</amp-video>
방문해주셔서 감사합니다. 즐거운 하루 되세요!

관심 있을 만한 글

  • Amp 태그 amp-fit-text는 디스플레이를 렌더링하기에 공간이 충분하지 않은 경우 글꼴 크기를 줄입니다. 이 글에서는 이 태그에 대해 자세히 설명합니다. amp-fit-text가 작동하도록 하려면 다음 스크립트를 추가해야 합니다. <script async custom-element="am…
  • AMP Datepicker는 사용자가 날짜를 선택할 수 있는 페이지에 달력을 표시하는 amp 구성 요소입니다. AMP datepicker는 정적 달력처럼 표시되거나 입력 선택에 따라 버튼 클릭으로 표시될 수 있습니다. amp-date-picker를 작동시키려면 페이지에 다음 스크립트를 추가해야 합니다.…
  • 버튼은 AMP의 또 다른 기능입니다. AMP의 버튼에는 변경 사항이 없으며 표준 HTML 버튼 태그처럼 사용됩니다. AMP 페이지의 버튼과 유일한 차이점은 이벤트가 작동한다는 것입니다. 이 글에서는 버튼의 작동과 AMP 구성 요소와 함께 사용하는 방법을 보여주는 몇 가지 예를 살펴 보겠습니다. …
  • Timeago는 'x'시간 전과 같이 과거와 비교하여 타임 스탬프 세부 정보를 제공합니다. 이 글에서는 이 기능에 대해 자세히 설명하겠습니다. 이 기능을 작업에 삽입하려면 아래의 스크립트를 .html 페이지에 추가해야 합니다. <script async custom-element="amp-…
  • Amp Date countdown이라는 또 다른 amp 구성 요소는 주어진 날짜까지의 일, 시간, 분, 초를 표시하는 데 사용됩니다. 날짜 표시는 선택한 로케일에 따라 수행될 수 있습니다. 기본값은 en (영어)입니다. Amp-date-countdown은 데이터 렌더링에 amp-mustache 템플릿을 사…
  • MathML을 사용하여 수학 공식을 표시할 수 있습니다. 이 글에서는 MathML을 사용하는 방법과 몇 가지 수학 공식을 사용하여 동일한 결과를 표시하는 방법에 대한 실제 예제를 살펴보겠습니다. MathML을 사용하려면 다음 자바스크립트 파일을 포함해야 합니다. <script async cu…

댓글 쓰기