FrontEnd/HTML5 & CSS & JavaScript

[HTML5] Video 태그 기본 속성

푸고배 2020. 1. 30. 19:08


HTML5 이전에는 플러그인이 있는 브라우저에서만 비디오를 재생할 수 있었으나,

HTML5에서는 <video> 태그를 사용하여 웹페이지에 영상을 첨부할 수 있다.


Browser 지원 버전


브라우저 별 <video> 태그 지원 버전은 다음과 같다.


HTML5 Video Format








HTML5에서 지원하는 Video Format : MP4, WebM, Ogg

Video Format 역시 브라우저 별로 다르다.




HTML5 Video Attribute

  • autopaly : 자동 재생 (true, false)
  • - true : 데이터 로딩이 완료되지 않더라도 재생 가능한 시점에 자동으로 재생이 시작된다.

    - false : 사용자가 재생 버튼을 누를 때까지 재생하지 않는다. 

  • buffered : 버퍼링 범위 얻기
  • - 미디어의 어느 시간대가 버퍼에 들어 있는지 확인 할 수 있는 속성

    - return type :  TimeRanges

  • controls: 영상 제어 장치 on, off (true, false)
  • - true : 소리조절(volume), 동영상 탐색(seek), 일시 정지(pause)/재시작(resume) 할 수 있는 컨트롤러를 제공한다.
    - false : 컨드롤러를 숨긴다. 커스텀 컨트롤러를 사용할 때 필요하다.
  • crossorig : CORS 요청 구성
  • - CORS를 사용해서 관련 이미지를 패치해야하는 지를 결정한다.
    - anonymous
    - CORS 요청 수행(origin: HTTP 헤더 사용), 하지만 certificate가 전송되지 않는다.
    ex) cookie, X.509 certificate, HTTP 기본 인증이 전송되지 않는다.
    - 서버가 Access-Control-Origin: HTTP 헤더를 설정하지 않고 원본 사이트에 credentials을 제공하지 않으면 이미지가 오염되고 사용이 제한된다.
    - use-credentials :
    - cross-origin request 시 (ex. cookie, certificate, HTTP기본 인증이 수행되면) credentials이 전송된다.
    ex) cookie, certificate, HTTP 기본 인증이 수행된다.
    - 서버가 Access-Constrol=Allow-Credentials : HTTP header)를 통해 원본 사이트에 credentials을 제공하지     않으면 이미지가 오염되고 사용이 제한된다.
    - CORS 요청없이(즉, Origin: HTTP header를 보내지 않고) 리소스를 가져와서 <canvas>요소에 오염되는 것을 방지한다.
    - default 값은 anonymous로 추가 정보는 CORS 설정 속성을 참조
  • height : 비디오 높이
  • - 비디오의 출력 영역 높이이며, CSS 픽셀 단위이다.
  • loop : 반복 재생 (true, false)
  • - true : 영상 재생 종료 후 (동영상의 마지막에 도달하면) 자동으로 처음으로 돌아간다.
    - false : 반복 재생을 하지 않는다. 
  • muted : 음소거 (true, false)
  • - true : 오디오를 사용하지 않는다.
    - false : 비디오가 재생될 때 오디오도 같이 재생한다.(default 값) 
  • preload : 페이지 로드 시 비디오 파일 로드 여부 
  • - autoplay 속성이 preload 속성보다 우선순위가 높다. 즉 autoplay 속성이 정의되어 있으면 preload 속성은 무시된다.
    - default 값으로 metadata를 권장하지만 설정하지 않았다면 각 브라우저 별로 정의된 기본값을 다르게 된다.
    - none : 페이지가 로드될 때 비디오 파일 로드를 할 필요가 없다.(이 경우에는 영상의 썸네일이 뜨지 않는다.)
    - metadata : 페이지가 로드될 때 비디오 파일의 메타데이터 정도만 같이 로드시킨다.
    auto : 페이지가 로드될 때 전체 비디오 파일도 같이 로드시킨다.
  • poster : 썸네일 주소 설정
  • - 사용자가 재생버튼을 누르거나 탐색하기 전까지 비디오 대신 보여줄 이미지 주소를 설정한다.
    - 속성이 명시되지 않으면, 첫 번째 프레임이 로드되기 전까지는 아무것도 표시되지 않고, 사용 가능하게 되면 첫 번째 프레임을 포스터 프레임으로 출력한다. 
  • src : 영상 주소 설정
  • - embed할 동영상의 주소(url)을 설정한다.
    - 이 속성은 선택 사항으로, 비디오 블록 내의 <source> 태그를 사용하여 삽입할 동영상을 명시할 수도 있다. 

HTML5 Video Event

Video Event는 Media Event를 따른다.

Evnet의 종류가 너무 다양해서 필요한 이벤트 API를 검색해서 이용하는 것이 좋을 것 같다.

자주 쓰는 이벤트는 play, pause, timeupdate, progress 이 정도다. 


HTML5 Video Example



참고 사이트 : 

https://www.w3schools.com/html/html5_video.asp 

https://developer.mozilla.org/ko/docs/Web/HTML/Element/Video


반응형