λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/HTML5 + CSS3

[HTML+CSS][HTML5와 λ©€ν‹°λ―Έλ””μ–΄] 02 - μ˜€λ””μ˜€ & λΉ„λ””μ˜€ μž¬μƒν•˜κΈ°

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2020. 7. 16.

 

 

[HTML+CSS][HTML5와 λ©€ν‹°λ―Έλ””μ–΄] 01 - μ›Ήκ³Ό λ©€ν‹°λ―Έλ””μ–΄

[HTML+CSS][HTML5와 μ‹œλ§¨ν‹±νƒœκ·Έ] 03 - IE8 μ΄ν•˜ λ²„μ „μ—μ„œ μ‹œλ§¨ν‹±νƒœκ·Έ μ‚¬μš©ν•˜κΈ° [HTML+CSS][HTML5와 μ‹œλ§¨ν‹±νƒœκ·Έ] 02 - μ‹œλ§¨ν‹± νƒœκ·Έμ˜ μ’…λ₯˜ [HTML+CSS][HTML5와 μ‹œλ§¨ν‹±νƒœκ·Έ] 01 - HTML5 λ¬Έμ„œ [HTML+CSS][CSS λ ˆμ΄μ•„..

onelight-stay.tistory.com

 

 

ν”ŒλŸ¬κ·ΈμΈμ—μ„œ λ”°λ‘œ μ„€μΉ˜ν•  ν•„μš” 없이

νƒœκ·Έλ‘œ ν•΄κ²°λ˜λŠ”

μ˜€λ””μ˜€μ™€ λΉ„λ””μ˜€λ₯Ό μž¬μƒν•˜λŠ” 방법에 λŒ€ν•΄μ„œ

μ•Œμ•„λ³΄λ„λ‘ ν•˜μž.

 

 


 

 

<audio> νƒœκ·Έ : μ˜€λ””μ˜€ 파일 μ‚½μž…ν•˜κΈ°

 

HTML5μ—μ„œ λ°°κ²½ μŒμ•…μ΄λ‚˜ νš¨κ³ΌμŒ λ“±μ„ μ‚½μž…ν•  λ•Œ μ‚¬μš©ν•˜λŠ” νƒœκ·Έλ‘œ
일반적으둜 λŒ€λΆ€λΆ„μ˜ λΈŒλΌμš°μ €μ—μ„œ κ°€λŠ₯ν•˜λ©΄ 

mp3 νŒŒμΌμ„ μ‚½μž…ν•˜λ©° ogg νŒŒμΌμ€ ν•¨κ»˜ μ§€μ •ν•˜μ§€ μ•Šμ€ κ²½μš°κ°€ λ§Žλ‹€.

 

 

 

 


 

 

<video> νƒœκ·Έ : λΉ„λ””μ˜€ 파일 μ‚½μž…ν•˜κΈ°

 

 

 

 


 

 

<source> νƒœκ·Έ : μ—¬λŸ¬ λ―Έλ””μ–΄ 파일 ν•œκΊΌλ²ˆμ— 지정

 

λΈŒλΌμš°μ €μ— λ”°λΌ μ§€μ›ν•˜λŠ” μ˜€λ””μ˜€ μ½”λ±μ΄λ‚˜ λΉ„λ””μ˜€ μ½”덱이 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ— 

ν•œ 가지 파일만 μ‚¬μš©ν–ˆμ„ 경우 일뢀 였래된 λΈŒλΌμš°μ €λŠ” μ§€μ›ν•˜μ§€ μ•Šμ„ μˆ˜ μžˆλ‹€.


λ”°λΌμ„œ μ‚¬μš©μžλ“€μ˜ λΈŒλΌμš°μ € ν™˜κ²½μ„ λͺ¨λ‘ κ³ λ €ν•΄ 

μ΅œμ‹  λΈŒλΌμš°μ €μ™€ μ΄μ „ λΈŒλΌμš°μ €μ—μ„œ λͺ¨λ‘ μž¬μƒν•  μˆ˜ μžˆλ„둝
ogv νŒŒμΌλ„ ν•¨κ»˜ μ§€μ •ν•΄ μ€€λ‹€. 

(μ΅œκ·Όμ—λŠ” webm νŒŒμΌλ„ ν•¨κ»˜ μ‚¬μš©ν•œλ‹€)


μ—¬λŸ¬ ν˜•μ‹μ˜ λΉ„λ””μ˜€ νŒŒμΌμ„ ν•¨κ»˜ μ‚¬μš©ν•˜λ €λ©΄ 

<video> νƒœκ·Έμ™€ <source> νƒœκ·Έλ₯Ό ν•¨κ»˜ μ‚¬μš©ν•΄ μ—¬λŸ¬ κ°œμ˜ νŒŒμΌμ„
지정해 μ€˜μ•Ό ν•œλ‹€. 

 

 

 

 


 

 

MIME (Multipurpose Internet Extensions)

 

video/ogg .ogv
video/mp4 .mp4
video/webm .webm

μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈ(λΈŒλΌμš°μ €) μͺ½μ— νŒŒμΌμ„ 보낼 λ•Œ

ν‘œμ‹œλ²•μ„ μ•Œλ €μ£ΌκΈ° μœ„ν•΄ ν•¨κ»˜ λ³΄λ‚΄λŠ” 파일 ν˜•μ‹ 정보이닀.

 

이전 λΈŒλΌμš°μ €λ₯Ό κ³ λ €ν•΄ μ—¬λŸ¬ ν˜•μ‹μ˜ νŒŒμΌμ„ μ˜¬λ ΈλŠ”데도 

μ‚¬μš©μžμ˜ 둜컬 μ»΄ν“¨ν„°μ—μ„œ λ¬Έμ œμ—†μ΄ μž¬μƒλ˜λ˜ 파일이
μ›Ή μ„œλ²„에 μ—…λ‘œλ“œν•œ ν›„ μž¬μƒλ˜μ§€ μ•ŠλŠ” κ²½μš°κ°€ μžˆλŠ”데 

μ΄λŠ” ogvνŒŒμΌμ΄λ‚˜ webm νŒŒμΌ λ“±μ€ μ΄μ „에 μ—†λ˜ 

λΉ„λ””μ˜€ 파일 ν˜•μ‹μ΄μ–΄μ„œ μ›Ή μ„œλ²„μ—μ„œ ν™•μž₯자λ₯Ό μΈμ‹ν•˜μ§€ λͺ»ν–ˆκΈ° λ•Œλ¬Έμ΄λ‹€.


이에 λŒ€ν•œ 해결방법은 νŒŒμΌμ„ 인식할 수 μžˆλ„λ‘

MIME μœ ν˜•μ„ μΆ”κ°€ν•΄ μ£ΌλŠ” 것이닀.


즉 λΉ„λ””μ˜€ νŒŒμΌμ„ μž¬μƒν•  μˆ˜ μžˆλ„둝 

μ›Ή μ‚¬μ΄νŠΈ νŒŒμΌμ΄ μ˜¬λΌκ°€ μžˆλŠ” μ›Ή μ„œλ²„ κ΄€λ¦¬μžμ—κ²Œ 

MIME μœ ν˜•μ„ μ„€μ •ν•΄ 달라고 μš”μ²­ν•˜λŠ” κ²ƒμ΄λ‹€.

 

 


 

 

이전 λΈŒλΌμš°μ €μ— <video> νƒœκ·Έ μ‚¬μš©ν•˜κΈ°

 

λŒ€μ²΄ ν…μŠ€νŠΈ

<video controls>
	<source src="media/Painting.mp4" type="vide/mp4">
    <source src="media/Painting.webm" type="vide/webm">
    <source src="media/Painting.ogv" type="vide/ogg">
    이 μ˜μƒμ„ 보기 μœ„ν•΄μ„œλŠ” HTML5λ₯Ό μ§€μ›ν•˜λŠ” λΈŒλΌμš°μ €κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
</video>

νƒœκ·Έλ₯Ό μ§€μ›ν•˜μ§€ μ•ŠλŠ” μ΄μ „ λΈŒλΌμš°μ €λ₯Ό κ³ λ €ν•΄ 

HTML5 μ§€μ› λΈŒλΌμš°μ €κ°€ ν•„μš”ν•˜λ‹€λŠ” 

λŒ€μ²΄ ν…μŠ€νŠΈλ₯Ό ν‘œμ‹œν•  수 μžˆλ‹€.

 

 

 

<embed>와 <object> μ‚¬μš©

<video controls>
	<source src="media/Painting.mp4" type="vide/mp4">
    <source src="media/Painting.webm" type="vide/webm">
    <source src="media/Painting.ogv" type="vide/ogg">
    <object data="media/Painting.swf" type="application/x-shockwave-flash"></object>
</video>

<video> νƒœκ·Έλ₯Ό μΈμ‹ν•˜μ§€ λͺ»ν•˜λŠ” λΈŒλΌμš°μ €μ—μ„œλ„ λΉ„λ””μ˜€λ₯Ό λ³΄μ—¬μ£Όμ–΄μ•Ό ν•œλ‹€λ©΄ 

ν”Œλž˜μ‹œ λ¬΄λΉ„λ‘œ λ³€ν™˜ν•œ ν›„
<embed> λ‚˜ <object>λ₯Ό μ‚¬μš©ν•΄ ν”ŒλŸ¬κ·ΈμΈμœΌλ‘œ μ‚½μž…ν•΄μ€€λ‹€.

 

 


 

 

 

<audio> νƒœκ·Έμ™€ <video> νƒœκ·Έ 속성

 

width, height 속성 : λΉ„λ””μ˜€ 크기 쑰절

화면에 ν‘œμ‹œλ˜λŠ” λΉ„λ””μ˜€μ˜ ν¬κΈ°λ₯Ό μ‘°μ ˆν•˜λŠ” κ²ƒμœΌλ‘œ 

widthλ‚˜ height 값을 ν•˜λ‚˜λ§Œ μ§€μ •ν•˜λ©΄

λ‚˜λ¨Έμ§€λŠ” μžλ™μœΌλ‘œ κ³„μ‚°ν•΄μ„œ ν‘œμ‹œλœλ‹€.

 

 

controls 속성 : 컨트둀 λ§‰λŒ€ ν‘œμ‹œ

λ―Έλ””μ–΄ νŒŒμΌμ— 컨트둀 λ§‰λŒ€λ₯Ό ν•¨κ»˜ ν‘œμ‹œν•œλ‹€.

 

 

preload 속성 : 파일 λ‹€μš΄λ‘œλ“œ μ—¬λΆ€

νŒŒμΌμ„ μž¬μƒν•˜κΈ° μ „에 λ―Έλ””μ–΄ νŒŒμΌμ„ λͺ¨λ‘ λ‹€μš΄λ‘œλ“œν•  κ²ƒμΈμ§€, 

일뢀 μ •λ³΄λ§Œ λ‹€μš΄λ‘œλ“œν•  것인지 μ—¬λΆ€λ₯Ό μ§€μ •ν•œλ‹€.

 

 

muted 속성 : μ†Œλ¦¬ 끄고 ν™”λ©΄λ§Œ μž¬μƒ

λΉ„λ””μ˜€λ₯Ό μž¬μƒν•  λ•Œ μ†Œλ¦¬λŠ” 끄고 ν™”λ©΄λ§Œ μž¬μƒν•œλ‹€.

 

 

autoplay 속성 : μžλ™ μž¬μƒ

λΉ„λ””μ˜€λ‚˜ μ˜€λ””μ˜€ νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜μžλ§ˆμž μž¬μƒλœλ‹€.


λͺ¨λ°”일 κΈ°κΈ°μ—μ„œλŠ” μžλ™ μž¬μƒμ΄ μ‹€ν–‰λ˜μ§€ μ•ŠμœΌλ©°, 

크둬 λΈŒλΌμš°μ € λ˜ν•œ λ¬΄λΆ„λ³„ν•œ κ΄‘κ³ λ₯Ό λ§‰κΈ° μœ„ν•΄ 

μžλ™ μž¬μƒμ΄ λ˜μ§€ μ•ŠλŠ”λ‹€.

 

 

loop 속성 : 반볡 μž¬μƒ

λ―Έλ””μ–΄ 파일 μž¬μƒμ΄ 끝났을 λ•Œ

파일 맨 μ•žμœΌλ‘œ λ˜λŒμ•„κ°€ 반볡 μž¬μƒμ„ μ§„ν–‰ν•œλ‹€.

 

 

poster 속성 : 문제 상황 ν‘œμ‹œ

λΈŒλΌμš°μ € λ¬Έμ œλ‚˜ μΈν„°λ„· μ—°κ²° λ¬Έμ œ λ“± λΉ„λ””μ˜€λ₯Ό μž¬μƒν•  μˆ˜ μ—†μ„ κ²½μš°, 

λΉ„λ””μ˜€ ν™”λ©΄ μžλ¦¬μ— λŒ€μ‹  ν‘œμ‹œν•˜λŠ” 이미지인 

ν¬μŠ€ν„° μ΄λ―Έμ§€λ₯Ό μ§€μ •ν•΄ μ£ΌλŠ” μ†μ„±μ΄λ‹€.

 

 


 

 

<track> νƒœκ·Έ : λΉ„λ””μ˜€ ν™”λ©΄μ—μ„œ μžλ§‰ μΆ”κ°€

 

λΉ„λ””μ˜€ ν™”λ©΄μ—μ„œ μžλ§‰μ„ μΆ”κ°€ν•˜λŠ” 것이닀.

 

 

kind 속성 : μžλ§‰ μ’…λ₯˜ 지정

 

 

src 속성 : μžλ§‰ ν…μŠ€νŠΈμ˜ 파일 경둜

 

srclang 속성 : μ‚¬μš©ν•œ μ–Έμ–΄ 지정

kind 속성 값이 subtitle라면 λ°˜λ“œμ‹œ 지정해야 ν•˜λ©°

enμ΄λ‚˜ ko처럼 μ–Έμ–΄λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ•½μžλ‘œ ν‘œκΈ°ν•΄μ•Ό ν•œλ‹€.

 

 

label 속성

μžλ§‰μ΄ μ—¬λŸ¬ 개일 경우,

μžλ§‰μ„ 식별할 수 μžˆλ„λ‘ 제λͺ©μ„ 달아쀀닀.

 

 

default

μžλ§‰ 파일이 μ—¬λŸ¬ 개일 경우,

기본으둜 μ‚¬μš©ν•  μžλ§‰μ„ 지정해 μ£ΌλŠ” 것이닀.

 

 

 

 


 

 

WebVTT μžλ§‰ 파일

 

보톡 μ»΄ν“¨ν„°μ—μ„œ μžμ£Ό μ‚¬μš©ν•˜λŠ” μžλ§‰ νŒŒμΌμ€ 

.smi 파일 (μžλ§‰ λ‚΄μš©λ§Œ 포함)κ³Ό

.srt 파일 (μžλ§‰μ˜ μ‹œμž‘ μ‹œκ°„κ³Ό μ’…λ£Œ μ‹œκ°„을 ν¬ν•¨ν•˜λŠ” μžλ§‰ νŒŒμΌ)μ΄μ§€λ§Œ 

λΈŒλΌμš°μ €μ—μ„œ κ³΅μ‹μ μœΌλ‘œ μ§€μ›ν•˜λŠ” μžλ§‰ 파일 ν˜•μ‹μ€ webVTT ν˜•μ‹μ΄λ‹€.

 

 

 

 

WEBVTT

00:00.000 --> 00:02.172
μ˜ˆμˆ μ΄λž€

00:02.172 --> 00:05.719
μžμ—°μ΄ 인간에 투영된 κ²ƒμž…λ‹ˆλ‹€

00:05.719 --> 00:07.716
μ€‘μš”ν•œ 것은

00:07.716 --> 00:11.061
κΉ¨λ—ν•˜κ²Œ 투영될 수 μžˆλ„λ‘

00:11.061 --> 00:20.879
늘 κΉ¨λ—ν•˜κ²Œ κ±°μšΈμ„ λ‹¦λŠ” μΌμž…λ‹ˆλ‹€

μžλ§‰μ˜ μ‹œκ°„ μ •λ³΄λŠ” "HH:MM:SS.ttt"둜 ν‘œμ‹œν•˜λ©°

HHλŠ” μ‹œ(hours), MM은 λΆ„(minutes), SSλŠ” 초(seconds),

ttλŠ” λ°€λ¦¬μ΄ˆ(milliseconds)λ₯Ό λ‚˜νƒ€λ‚΄λ©°,

μ‹œμž‘μ‹œκ°„κ³Ό μ’…λ£Œμ‹œκ°„ μ‚¬μ΄μ—λŠ” '-->'λ₯Ό μ‚¬μš©ν•œλ‹€.

 

 


 

 

μžλ§‰μ΄ μ²˜μŒμ—λŠ” μ˜μƒ μžμ²΄μ— μžˆλ‹€κ³  μƒκ°ν–ˆλŠ”λ°

μ €λ ‡κ²Œ νŒŒμΌμ— μž…λ ₯ν•˜κ³  μ—°κ²°ν•˜λŠ” 것 만으둜

멋진 μžλ§‰μ΄ λ‚˜μ˜¨ λ‹€λŠ” 것이 μ‹ κΈ°ν•œ 것 κ°™κ³ 

λ‚˜μ€‘μ— μ¨λ¨ΉλŠ”λ‹€λ©΄ μ „λ‹¬ν•˜κ³ μž ν•˜λŠ” 정보λ₯Ό

μ •ν™•ν•˜κ²Œ 전달할 수 μžˆμ„ 것 κ°™μœΌλ‹ˆ 잘 κΈ°μ–΅ν•΄μ•Όκ² λ‹€.

 

 


 

 

< μ°Έκ³  >

Do it! HTML5+CSS3 μ›Ή ν‘œμ€€μ˜ 정석

 

 

β€» ν•΄λ‹Ή 글은 μŠ΅λ“ λͺ©μ μœΌλ‘œ μž‘μ„±λœ κΈ€μž…λ‹ˆλ‹€ β€»

 

λ°˜μ‘ν˜•

λŒ“κΈ€