정의
<video>
는 비디오나 영화를 재생시킨다.
속성
- src: 재생할 비디오의 주소를 지정한다.
- width: 요소의 너비를 지정한다. (value: pixels)
- height: 요소의 높이를 지정한다. (value: pixels)
- loop: 반복 재생을 지정한다. (value: loop)
- poster: 사용자 에이전트가 비디오 데이터를 사용할 수 없는 경우 이미지 파일의 주소를 권장한다. (value: URL)
- preload: 음악을 재생하기 전에 모두 불러올지 지정한다. (value: auto, metadata, none)
none : 사용자가 비디오를 필요로하지 않을 것이라고 명시, 미리 다운로드 하지 않음
metadata : 사용자가 비디오를 필요로 하지 않을 것이지만, 기본정보(크기,첫프레임,오디오길이 등)는 가져온다.
auto : 사용자가 비디오를 필요로 하고 미리 다운로드를 한다 (기본값) - autoplay: 자동 재생을 지정한다. (value: autoplay)
- muted: 비디오의 오디오 출력을 음소거로 지정한다. (value: muted)
- controls: 사용자 에이전트트의 기본 컨트롤러를 사용하도록 지정한다.
예제
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
당신의 브라우저는 video태그를 지원하지 않습니다.
</video>
브라우저 지원
Browser | MP4 | WebM | Ogg |
---|---|---|---|
Internet Explorer (9 ~) | Yes | No | No |
Chrome (4.0~) | Yes | Yes | Yes |
Firefox(3.5 ~) | Yes | Yes | Yes |
Safari (4.0 ~ ) | Yes | No | No |
Opera (10.5 ~) | Yes | Yes | Yes |
비디오 확장자 설명
종류 | 확장자 | 설명 |
---|---|---|
비디오 | mp4 | 고화질 영상을 지원해 많은 사이트에서 사용되고 있다. 라이센스가 있으므로 웹 용을 제외하면 유로로 사용해야 한다. |
webm | 화잘이 우수하고 무료로 제공되어 최근 많이 사용되고 있다. | |
ogg | 화질은 다른 비디오 유형보다 떨어지지만 무료라는 장점 때문에 WebM 형식이 등장하기 전에 많이 사용되었다. |
비디오 포멧 MIME Types
Format | MIME-type |
---|---|
MP4 | video/mp4 |
WebM | video/webm |
Ogg | video/ogg |
지원되는 브라우저마다 파일이 다른데 Youtube HTML5페이지에서는 HTML5 동영상 플레이어 파일이 지원되는 것을 보여준다.
아래 이미지는 크롬 브라우저로 접속한 화면이다.
아래 이미지는 인터넷 익스플로러11 버전으로 접속한 화면이다.
video.js 플러그인 이용하기
웹 브라우저마다 표시되는 <video>
태그의 형태가 일관되지 않으므로 웹페이지를 디자인할 때 문제가 된다.
IE8
이하에서는 video 태그가 동작하지 않기 때문에 이러한 문제를 쉽게 해결 할 수 있는 간단한 플러그인이 video.js
플러그인이다.
<head>
<link href="http://vjs.zencdn.net/5.19.2/video-js.css" rel="stylesheet">
<!-- If you'd like to support IE8 -->
<script src="http://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
</head>
<body>
<video id="my-video" class="video-js" controls preload="auto" width="640" height="264"
poster="MY_VIDEO_POSTER.jpg" data-setup="{}">
<source src="MY_VIDEO.mp4" type="video/mp4">
<source src="MY_VIDEO.webm" type="video/webm">
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that
<a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video>
<script src="http://vjs.zencdn.net/5.19.2/video.js"></script>
</body>
플러그인을 사용하면 간단히 IE8에서도 작동이 되지민 플러그인을 많이 쓰는 것을 추천하지 않는다.
플러그인 쓰지 않고 간단히 할 수 있는 방법은 다음과 같다.
IE 조건부 주석 사용하기
<div class="video-wrap-ie8">
<!--[if lte ie 8]>
<iframe style="width: 1920px; height: 960px;" src="vimeo나 유투브 경로를 넣는다." frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
<![endif]-->
</div>
<div class="video-wrap">
<!--[if gt ie 8]><!-->
<video class="view player" autoplay="" loop="" muted="false">
<source src="videofile.mp4" type="video/mp4">
<source src="videofile.mp4" type="video/ogg">
</video>
<!--<![endif]-->
</div>
위의 코드처럼 하게 되면 ie8은 8포함 이하 버전에서는 iframe으로 나오고 익스9이상에서는 <video>
가 나오게 된다.
단점은 iframe으로 할때 유투브나, 비메오, (본인서버)에 올려줘야 하는 단점이 있다.
IF 조건문
if조건문 사용에 모를 수 있는 분을 위해서 짧게 설명하겠다.
<!--[if lte IE 9]>
<link rel="stylesheet" type="text/css" href="CSS 파일 위치">
<![endif]-->
<!--[if lte IE 9]>
<style>CSS 내용</style>
<![endif]-->
- gte : IE9 버전 이상
- gt : IE9 버전 초과
- lte : IE9 버전 이하
- lt : IE9 버전 미만
- IE8 버전만 적용
동영상 파일 변환
동영상 파일 변화는 웹 사이트 검색하면 나오는 곳도 있지만 프로그램 중에는 카카오인코더가 있다.
마치며
단순히 비디오 태그만 사용한다면 if조건문을 사용하며 iframe과 video를 태그를 쓰는 것이 낫다고 보지만 비디오 태그를 디자인하여 customize를 해야한다면 video.js
를 사용해도 괜찮을 듯 싶다.
video.js
를 사용할 때는 ie8이하에서만 호출하면 해결될 듯 하다.
답글 남기기