Y el segundo método, createSession, es bastante autoexplicativo. Entonces, este método creará una sesión dentro de la cual obtendremos las claves para desencriptar el contenido. Pero antes de llamar a cualquiera de estos métodos, primero tenemos que tomar el objeto de claves de medios que acabamos de obtener, y tenemos que asignarlo al elemento de medios HTML de video o audio. Pero en nuestro caso, estamos trabajando con video hoy. Así que, una vez que hemos hecho eso, entonces podemos realmente llamar al método createSession y acepta solo un parámetro, que es el tipo de la sesión. Por defecto, siempre crea una temporal, pero también puedes crear una persistente, pero requiere un nivel más alto de seguridad. Así que, por defecto, podemos simplemente ir con el tipo temporal, que es lo que hacemos. Y luego, como resultado, deberíamos obtener el objeto de sesión de claves de medios de vuelta. Y aquí, enumeré tres de los métodos más importantes aquí.
Y como siguiente paso, obtendremos el método generateRequest con dos parámetros, anyDataType y anyData. Y ahora, estos dos provienen, solos, del evento encriptado que fue emitido al principio por el navegador. Así que, lo que hacemos aquí, obtenemos lo que sea que fue llamado al principio, lo que sea que fue incluido en el evento encriptado al principio, y simplemente lo pasamos al método generateRequest. Y lo que sucede después es que esta solicitud se reenvía al módulo CDM. Y el módulo CDM, en este punto, se da cuenta, está bien, entonces este es un contenido encriptado, y para desencriptarlo, necesito una clave. Así que, emitiré un evento de mensaje, que básicamente significa que necesito una clave. Así que, lo que hacemos en el lado del reproductor, escuchamos tales mensajes a través del controlador de eventos onMessage. Así que, una vez que recibimos tal mensaje, entonces hacemos una solicitud POST al servidor de licencias para obtener la licencia. Si todo va bien, obtenemos la licencia de vuelta. Y como mencioné, esta también está, por supuesto, encriptada, pero la licencia en sí que contiene las claves también está ofuscada. Así que, si ves el evento dentro por alguna razón cómo se ve, esta información solo es comprensible por el módulo de desencriptación de contenido. Así que, volviendo al proceso, una vez que obtenemos la licencia de vuelta, la enviamos al módulo de desencriptación de contenido a través del método update. Así que, una vez que el módulo de desencriptación de contenido la obtiene, entonces puede tomarla, desempaquetarla, tomar la clave, y luego desencriptar el marco y proporcionar el marco desencriptado de vuelta al usuario. Así que, ahora básicamente pueden disfrutar viendo un video o escuchar una canción.
Así que, sí, sé que fue un proceso bastante complejo, pero ¡hey, lo hicimos! Así que, pasamos por todas las partes, lo cual es genial. Y ahora, con eso dicho, podemos decir con seguridad que apoyamos ambos criterios que especificamos al principio. Así que, ahora podemos, tenemos control sobre la reproducción de una fracción de los datos, pero también podemos reproducir contenido no encriptado, lo cual es genial. Y dicho esto, ahora creo que es hora de una demostración. Así que, echemos un vistazo rápido a cómo funciona todo en acción. Así que, aquí preparé para ti una aplicación web en el lado izquierdo que puedes notar. Y también puedes ver que estoy recibiendo muchos errores.
Comments