рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдкрд╣рд▓реЗ W3C рдХреА рдПрдХ рдирдИ рдкрд╣рд▓ рд╣рдм -
рдПрдирдХреНрд░рд┐рдкреНрдЯреЗрдб рдореАрдбрд┐рдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рдпрд╛ рд╕рд┐рд░реНрдл EME рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереАред рдЖрдЗрдП рд╣рдо рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдирдпрд╛ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред
рддреЛ, рдХрд╛рд░реНрдп: рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рджрд┐рд▓рдЪрд╕реНрдк рд╡реАрдбрд┐рдпреЛ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓
рдЕрдЪреНрдЫреЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП (рджреЛрд╕реНрддреЛрдВ, рдкрд░рд┐рдЪрд┐рддреЛрдВ рдХреЗ рд▓рд┐рдП ... рдпрд╛ рд╕рд┐рд░реНрдл рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП)ред рддреЛ, рдПрдирдХреНрд░рд┐рдкреНрдЯреЗрдб рдореАрдбрд┐рдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рдкрд╣рд▓ рдХреЗрд╡рд▓ HTML рдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдПрдкреАрдЖрдИ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбрдмреНрд▓реНрдпреВ 3 рд╕реА рдкреНрд░рд╕реНрддрд╛рд╡ рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреЛ рднреА рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдмреАрдорд╛рд░ рдбреАрдЖрд░рдПрдо, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рд╕реНрдердЧрд┐рдд рдХрд░ рджреЗрдВрдЧреЗ, рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╕реЗрд╡рд╛ рд╕рдВрдЧрдарди рдХреЗ рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реБрдПред рдПрдХ рд╢рд░реНрдд рдпрд╣ рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдИрдПрдордИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореВрд▓ рд╕реНрдкрд╖реНрдЯ рдХреБрдВрдЬреА
рдкреНрд░рдгрд╛рд▓реА рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИред
рддреЛ, рдПрдХ
video
рдЯреИрдЧ рдФрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓
foo.webm
, рдЬрд┐рд╕рдореЗрдВ рдПрдИрдПрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рдФрд░ рдСрдбрд┐рдпреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ (рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╡реЗрдмрдПрдо
рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рдИрдПрдордИ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдЗрд╕рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдпрд╛ рд╣реИ):
<video src="foo.webm" autoplay></video>
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, EME рдмреНрд░рд╛рдЙрдЬрд╝рд░, рдЬрдм
foo.webm
рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢
foo.webm
рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЧрдИ рд╣реИ, рд░реБрдХ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рджреА рдЬрд╛рддреА рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕реАрдзреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ; рд╣рдо рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ HTMLMediaElement рддрддреНрд╡ рдкрд░ рднреА
рдиреАрдбрд┐рдВрдХ рдИрд╡реЗрдВрдЯ рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдВрддрддрдГ, рдХреБрдВрдЬреА рдкреНрд░рджрд╛рди рдХрд░реЗрдВ:
<video src="foo.webm" autoplay onneedkey="handleKeyNeeded(event)"></video>
handleKeyNeeded()
рдлрд╝рдВрдХреНрд╢рди рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ - рдпрд╣
рдЙрд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг
рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдлрд┐рд░ рд╕рд░реНрд╡рд░ рдХреЛ XHR рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрддреНрддрд░ = рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдХреБрдВрдЬреА рд╡рд╛рдкрд╕ рджреЗрддрд╛ рд╣реИ (рдпрд╛ рдпрджрд┐ рд╕реНрдерд┐рддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рддреЛ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рджреЗрддрд╛ - рдпрд╣ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рд╣реИ)ред рд╣рдо рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд░реЗрдВрдЧреЗ - рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдВрдЬреА рд╣реИ; рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА
рдХреНрд▓рд┐рдпрд░ рдХреА + AES рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ 16-рдмрд╛рдЗрдЯ
Uint8Array
; рддрдм рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
function handleKeyNeeded(event) { var video = event.target; var initData = event.initData;
рдпрд╣рд╛рдБ рдореБрдЦреНрдп рдкрд╛рддреНрд░:
event.initData
: рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдВрдЬреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;key
: рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рд╕реНрд╡рдпрдВ;keySession.update(key)
: рдЗрд╕ рдХреЙрд▓ рдХреЗ рд╕рд╛рде, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рд╣реА рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ; рдкреГрд╖реНрда рд╕реЗ рдЕрдзрд┐рдХ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред
рдЬреЛ рд▓реЛрдЧ рд╣реИрдВрдбрд▓ рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ () рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб (MediaKeys, MediaKeySession рдХреНрд▓рд╛рд╕реЗрд╕, рдЖрджрд┐) рднрд╡рд┐рд╖реНрдп рдХреА рдИрдПрдордИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рддрд╛рдЬрд╛
рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ
рдХреИрдЯрдмреЛ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ EME рд╕рдорд░реНрдерди (рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг 2) рдХреЗ рд╕рд╛рде рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдерд╛, рддреЛ
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб_рдореАрдбрд┐рдпрд╛_рдкреНрд▓реЗрдпрд░_ bear-320x240-av-enc_av.webm
рдкреГрд╖реНрда рдкрд░, рд╣рдо рдПрдХ рдХрд╛рд▓реЗ рднрд╛рд▓реВ рдХреЛ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдкрд░ рдкрд┐рдВрдЬрд░реЗ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддреЗ рд╣реБрдП рдкрд╛рдПрдВрдЧреЗ (
bear-320x240-av-enc_av.webm
рдирдореВрдирд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╡реАрдбрд┐рдпреЛ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрд░реЛрдорд┐рдпрдо рдХреЛрдб)ред рдЗрд╕ рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдЙрдЪреНрдЪ рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд╛рд▓рд╛ рдРрд╕рд╛ рдХреЛрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдкреГрд╖реНрда рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрднреА рднреА Google рдХреНрд░реЛрдо рдпрд╛ рдХреНрд░реЛрдорд┐рдпрдо рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдВрд╕реНрдХрд░рдг 26 рдпрд╛ рдЙрдЪреНрдЪрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднрд╛рд▓реВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (рдЬрдмрдХрд┐ рд╕рдорд░реНрдерди рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ):
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛_media_player.html ред
рдЕрдЧрд▓рд╛, рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рдереЗред рдкрд╣рд▓реЗ, рдХреНрд░реЛрдо / рдХреНрд░реЛрдорд┐рдпрдо рдЕрдм рднрд╡рд┐рд╖реНрдп рдХреЗ рдИрдПрдордИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 1 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдИрдПрдордИ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рд╕рдВрд╕реНрдХрд░рдг 2 рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдмрд╛рдж рдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЙрдиреНрдореБрдЦ рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, Chrome / Chromium рдореЗрдВ, рдЕрднреА рддрдХ EME рдХрд╛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реА рд╢рд╛рдорд┐рд▓ рд╣реИ; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЖрдкрдХреЛ
webkit
рдХреЛ рдЙрдкрд╕рд░реНрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ,
handleKeyNeeded()
рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛:
function handleKeyNeeded(event) { ... var keySystem = "webkit-org.w3.clearkey"; video.webkitGenerateKeyRequest(keySystem, event.initData);
рджреВрд╕рд░реЗ, рдЕрдЧрд░ рдЕрдм рд╣рдо рд╕реАрдзреЗ
video
рдЯреИрдЧ рдХреЗ
src
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо
needkey
рдЗрд╡реЗрдВрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реАрдбрд┐рдпреЛ ffmpeg
рд╕реНрдЯреЙрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЭрдВрдбреЗ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рдХреНрд░реЛрдо (рдХреНрд░реЛрдорд┐рдпрдо рдореЗрдВ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреИрдХ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╡рд╣ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗрдЧрд╛ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ (
needkey
рдШрдЯрдирд╛ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реБрдП)ред рдЗрд╕ рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХреЛ
рдореАрдбрд┐рдпрд╛ рд╕реНрд░реЛрдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдмрд╛рдж рдХреЗ рдкреНрд▓реЗрдмреИрдХ рдХреЗ рд▓рд┐рдП рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдо рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐
рд╡реЗрдмрдо рдФрд░ mp4 рдЬреИрд╕реЗ
рдбреЗрдореЛрдХреНрд╕рд░реЛрдВ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, Google рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ; рдпрд╣ рд╡рд╣ рдерд╛ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЬрд░реВрд░рдд рдкрдбрд╝реА рдШрдЯрдирд╛ рдХреЛ рдЙрддреНрддреЗрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдорд╛рд░реЗ
video
рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рднрд╛рд▓реВ рд╡реАрдбрд┐рдпреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рдХреЛрдб рд╣реИ:
function load() { var video = document.getElementById("video"); var mediaFile = "bear-320x240-av-enc_av.webm";
рдмреЗрд╢рдХ, рдпрд╣ рдХреЛрдб рд╕рд░рд▓ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдмрд╣реБрдореБрдЦреА рд╣реИред
video.src = "bear-320x240-av-enc_av.webm";
; рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рднрд╡рд┐рд╖реНрдп рдХреЗ рдИрдПрдордИ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреНрд░рд┐рдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрдЪрд╛рд▓рди рдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ)ред рд╣рдо рдЖрдЧреЗ рдХреЗ рдШрдЯрдирд╛рдХреНрд░рдо рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВред
рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдмрд╛рд╣рд░, рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдХреИрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдХрд╛рд░реНрдп рдХрдВрдЯреЗрдирд░-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ; рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, WebM рдореЗрдВ рдпрд╣ рдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред
рдИрдПрдордИ рд╡рд┐рд╖рдп рдкрд░ рд▓рд┐рдВрдХ:
Google, Microsoft рдФрд░ Netflix DRM5 рдХреЛ HTML5 рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВрдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдореАрдбрд┐рдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдЕрдиреБрд╡рд╛рдж / HTML5 рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдореАрдбрд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА