You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从PSSH构建适配mspr:pro标签的PlayReady Object

从PSSH提取PlayReady Object(PRO)的方法

你理解的没错,mspr:pro标签需要的PlayReady Object就是PSSH Box的payload部分,不需要额外生成,直接从你现有的PSSH里提取即可。

1. 先明确PSSH Box结构

标准CENC PSSH Box的固定头部长度为32字节,结构如下:

  • 0~3字节:Box总长度
  • 4~7字节:pssh标识(固定值0x70737368)
  • 8~11字节:版本和标志位
  • 12~27字节:PlayReady系统ID(固定值9a04f079-9840-4286-ab92-e65be0885f95)
  • 28~31字节:PRO payload的长度
    32字节之后的所有内容就是原生PlayReady Object。

2. 提取PRO的两种方式

方式一:从hex格式提取

把你给出的pssh-hex值去掉前64个字符(对应32字节的PSSH头部),剩下的字符串就是PRO的hex编码。

方式二:从base64格式提取(更常用)

把pssh-base64解码为二进制后,截取从第32字节开始的所有内容,再重新编码为base64,得到的结果就可以直接填入mspr:pro标签使用。

3. 代码示例(Python)

import base64
# 替换为你自己的PSSH base64值
input_pssh_b64 = "AAAD4nBzc2gAAAAAmgTweZhAQoarkuZb4IhflQAAA8LCAwAAAQABALgDPABXAFIATQBIAEUAQQBEAEUAUgAgAHgAbQBsAG4AcwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAEQAUgBNAC8AMgAwADAANwAvADAAMwAvAFAAbABhAHkAUgBlAGEAZAB5AEgAZQBhAGQAZQByACIAIAB2AGUAcgBzAGkAbwBuAD0AIgA0AC4AMAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgB2ADgAMgByAHMARwBsADUATgAwAE8AdQBLADgAcgBPAEgAQQBLAHgAcABRAD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AaAB0AHQAcAA6AC8ALwBwAHIALQBrAGUAeQBvAHMALgBsAGkAYwBlAG4AcwBlAGsAZQB5AHMAZQByAHYAZQByAC4AYwBvAG0ALwBjAG8AcgBlAC8AcgBpAGcAaAB0AHMAbQBhAG4AYQBnAGUAcgAuAGEAcwBtAHgAPAAvAEwAQQBfAFUAUgBMAD4APABEAFMAXwBJAEQAPgBWAGwAUgA3AEkAZABzAEkASgBFAHUAUgBkADAANgBMAGEAcQBzADIAagB3AD0APQA8AC8ARABTAF8ASQBEAD4APABDAFUAUwBUAE8ATQBBAFQAVABSAEkAQgBVAFQARQBTACAAeABtAGwAbgBzAD0AIgAiAD4APABDAEkARAA+AHYAOAAyAHIAcwBHAGwANQBOADAATwB1AEsAOAByAE8ASABBAEsAeABwAFEAPQA9ADwALwBDAEkARAA+ADwARABSAE0AVABZAFAARQA+AHMAbQBvAG8AdABoADwALwBEAFIATQBUAFkAUABFAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AEMASABFAEMASwBTAFUATQA+ADgARQBLAEQAcQBJAHgAUwAwAFEAWQA9ADwALwBDAEgARQBDAEsAUwBVAE0APgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA=="
pssh_bin = base64.b64decode(input_pssh_b64)
# 截取32字节之后的内容就是PRO
pro_bin = pssh_bin[32:]
# 输出mspr:pro需要的base64格式
print(base64.b64encode(pro_bin).decode())

注意事项

提取得到的PRO内部已经包含了完整的WRMHEADER结构,包括KID、license服务器地址、校验和等所有必填字段,不需要做任何修改即可直接使用。

内容的提问来源于stack exchange,提问作者SabuhiGurbani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:57:03