LINUX.ORG.RU

История изменений

Исправление 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/> или не будет..