История изменений
Исправление user_id_68054, (текущая версия) :
судя из схем W3C-EME — там вроде как DRM занимается только рсшифровкой [ясное дело что ключи все временные, персональные]..
много я смотрел на эти схемы — но не факт что всё правильно понял (запутано оно слегка :))
надо ещё больше посмотреть, повнимательнее — какими конкретно HTML-тегами будет рисоваться видео.
будет ли там например задействован <canvas/> или не будет..
UPDATED:
а [вот] кстати пример:
<script>
function load() {
var video = document.getElementById("video");
if (!video.mediaKeys) {
var promise = MediaKeys.create("org.w3.clearkey");
promise.catch(
console.error.bind(console, "Unable to create MediaKeys")
);
promise.then(
function(createdMediaKeys) {
return video.setMediaKeys(createdMediaKeys);
}
).catch(
console.error.bind(console, "Unable to set MediaKeys")
);
promise.then(
function(createdMediaKeys) {
var initData = new Uint8Array([ ... ]);
return createdMediaKeys.createSession("webm", initData);
}
).then(
function(keySession) {
keySession.addEventListener("message", handleMessage, false);
}
).catch(
console.error.bind(console, "Unable to create key session")
);
}
}
function handleMessage(event) {
var keySession = event.target;
var license = new Uint8Array([ ... ]);
keySession.update(license).catch(
console.error.bind(console, "update() failed")
);
}
</script>
<body onload="load()">
<video src="foo.webm" autoplay id="video"></video>
</body>
не думаю что сильно сложно будет сделать модификацию Firefox, в которому будет кнопка «сохранить в расшифрованном виде — текущий проигрываемый файл»
Исправление user_id_68054, :
судя из схем W3C-EME — там вроде как DRM занимается только рсшифровкой [ясное дело что ключи все временные, персональные]..
много я смотрел на эти схемы — но не факт что всё правильно понял (запутано оно слегка :))
надо ещё больше посмотреть, повнимательнее — какими конкретно HTML-тегами будет рисоваться видео.
будет ли там например задействован <canvas/> или не будет..
UPDATED:
а [вот] кстати пример:
<script>
function load() {
var video = document.getElementById("video");
if (!video.mediaKeys) {
var promise = MediaKeys.create("org.w3.clearkey");
promise.catch(
console.error.bind(console, "Unable to create MediaKeys")
);
promise.then(
function(createdMediaKeys) {
return video.setMediaKeys(createdMediaKeys);
}
).catch(
console.error.bind(console, "Unable to set MediaKeys")
);
promise.then(
function(createdMediaKeys) {
var initData = new Uint8Array([ ... ]);
return createdMediaKeys.createSession("webm", initData);
}
).then(
function(keySession) {
keySession.addEventListener("message", handleMessage, false);
}
).catch(
console.error.bind(console, "Unable to create key session")
);
}
}
function handleMessage(event) {
var keySession = event.target;
var license = new Uint8Array([ ... ]);
keySession.update(license).catch(
console.error.bind(console, "update() failed")
);
}
</script>
<body onload="load()">
<video src="foo.webm" autoplay id="video"></video>
</body>
не думаю что сильно сложно будет модификацию Firefox, в которому будет кнопка «сохранить в расшифрованном виде — текущий проигрываемый файл»
Исправление user_id_68054, :
судя из схем W3C-EME — там вроде как DRM занимается только рсшифровкой [ясное дело что ключи все временные, персональные]..
много я смотрел на эти схемы — но не факт что всё правильно понял (запутано оно слегка :))
надо ещё больше посмотреть, повнимательнее — какими конкретно HTML-тегами будет рисоваться видео.
будет ли там например задействован <canvas/> или не будет..
UPDATED:
а [вот] кстати пример:
<script>
function load() {
var video = document.getElementById("video");
if (!video.mediaKeys) {
var promise = MediaKeys.create("org.w3.clearkey");
promise.catch(
console.error.bind(console, "Unable to create MediaKeys")
);
promise.then(
function(createdMediaKeys) {
return video.setMediaKeys(createdMediaKeys);
}
).catch(
console.error.bind(console, "Unable to set MediaKeys")
);
promise.then(
function(createdMediaKeys) {
var initData = new Uint8Array([ ... ]);
return createdMediaKeys.createSession("webm", initData);
}
).then(
function(keySession) {
keySession.addEventListener("message", handleMessage, false);
}
).catch(
console.error.bind(console, "Unable to create key session")
);
}
}
function handleMessage(event) {
var keySession = event.target;
var license = new Uint8Array([ ... ]);
keySession.update(license).catch(
console.error.bind(console, "update() failed")
);
}
</script>
<body onload="load()">
<video src="foo.webm" autoplay id="video"></video>
</body>
Исправление user_id_68054, :
судя из схем W3C-EME — там вроде как DRM занимается только рсшифровкой [ясное дело что ключи все временные, персональные]..
много я смотрел на эти схемы — но не факт что всё правильно понял (запутано оно слегка :))
надо ещё больше посмотреть, повнимательнее — какими конкретно HTML-тегами будет рисоваться видео.
будет ли там например задействован <canvas/> или не будет..
UPDATED:
а [вот кстати пример:
<script>
function load() {
var video = document.getElementById("video");
if (!video.mediaKeys) {
var promise = MediaKeys.create("org.w3.clearkey");
promise.catch(
console.error.bind(console, "Unable to create MediaKeys")
);
promise.then(
function(createdMediaKeys) {
return video.setMediaKeys(createdMediaKeys);
}
).catch(
console.error.bind(console, "Unable to set MediaKeys")
);
promise.then(
function(createdMediaKeys) {
var initData = new Uint8Array([ ... ]);
return createdMediaKeys.createSession("webm", initData);
}
).then(
function(keySession) {
keySession.addEventListener("message", handleMessage, false);
}
).catch(
console.error.bind(console, "Unable to create key session")
);
}
}
function handleMessage(event) {
var keySession = event.target;
var license = new Uint8Array([ ... ]);
keySession.update(license).catch(
console.error.bind(console, "update() failed")
);
}
</script>
<body onload="load()">
<video src="foo.webm" autoplay id="video"></video>
</body>
Исходная версия user_id_68054, :
судя из схем W3C-EME — там вроде как DRM занимается только рсшифровкой [ясное дело что ключи все временные, персональные]..
много я смотрел на эти схемы — но не факт что всё правильно понял (запутано оно слегка :))
надо ещё больше посмотреть, повнимательнее — какими конкретно HTML-тегами будет рисоваться видео.
будет ли там например задействован <canvas/> или не будет..