https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.PlaybackConfig#manifestHandler manifestHandler read pssh box take convert to hex and take 16 bytes 32 chars after 1210, that's your kid function base64ToHex(str) { const raw = atob(str); let result = ''; for (let i = 0; i < raw.length; i++) { const hex = raw.charCodeAt(i).toString(16); result += (hex.length === 2 ? hex : '0' + hex); } return result.toUpperCase(); } 000000327073736800000000EDEF8BA979D64ACEA3C827DCD51D21ED000000121210 DB3505A999CE4078BEC73DA121BDC28F https://stackoverflow.com/questions/54514961/how-to-renew-expired-drm-license-in-cast-receiver-player/55401570#55401570 can we get the new token before playback starts and after? manifest? https://github.com/radiantmediaplayer/rmp-cast-receiver/blob/master/js/dev/player.js https://github.com/googlecast/CastReceiver https://github.com/NicePeopleAtWork/NicePlayers/blob/master/javascript/Chromecast/example/README.md