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

求助:如何创建HEVC Fairplay流?已试Shaka Packager等工具未成功

成功创建HEVC Fairplay流的实现方法

我之前成功搭建过HEVC Fairplay流,踩过不少坑,给你分享下具体的步骤和关键注意事项,应该能帮你解决问题。

前提准备

在开始之前,你需要确保有这些核心物料:

  • 符合要求的HEVC(H.265)编码视频源(建议用Main或Main10 profile,level适配目标播放设备),搭配AAC音频流
  • 有效的Fairplay DRM物料:Fairplay证书(.cer)、AES-128密钥、密钥ID、初始化向量(IV),以及可正常响应的Fairplay密钥服务器(SKD)

方法一:使用Shaka Packager

Shaka Packager对HEVC和Fairplay的支持比较成熟,建议使用v2.6及以上版本:

  1. 准备密钥信息文件
    创建一个keyinfo.txt,内容格式如下:
https://your-fps-skd-url.com
你的密钥ID(十六进制格式)
你的AES密钥(十六进制格式)
  1. 执行打包加密命令
    运行以下命令生成加密的HLS流:
packager \
  input=input_hevc.mp4,stream=video,output=video_encrypted.mp4 \
  input=input_aac.mp4,stream=audio,output=audio_encrypted.mp4 \
  --hls_master_playlist_output=master.m3u8 \
  --hls_segment_duration=10 \
  --hls_fairplay=true \
  --fairplay_cert_path=./fairplay.cer \
  --key_info_path=./keyinfo.txt \
  --hls_key_format="com.apple.streamingkeydelivery" \
  --hls_key_format_versions="1"

关键参数说明

  • --hls_fairplay=true:开启Fairplay专属加密模式
  • --fairplay_cert_path:指定你的Fairplay证书本地路径
  • --key_info_path:指向包含密钥、密钥ID和SKD地址的配置文件
  • --hls_key_format和--hls_key_format_versions:必须设置为Apple要求的固定值,否则播放器无法识别加密流

方法二:使用Bento4工具链

Bento4是一套轻量的MP4处理工具链,也能实现HEVC+Fairplay的打包流程:

  1. 加密HEVC视频文件
    先使用mp4encrypt对原始HEVC MP4加密,需要先生成Fairplay专属的PSSH盒:
# 生成Fairplay PSSH(固定系统ID:94CE86FB-07FF-4F3E-8721-4FF98779018A)
mp4pssh --system-id 94CE86FB-07FF-4F3E-8721-4FF98779018A --key-id 你的密钥ID(十六进制) --output pssh.bin

# 执行视频加密
mp4encrypt \
  --method MPEG-CENC \
  --key 1:你的AES密钥(十六进制) \
  --iv 1:你的初始化向量(十六进制) \
  --property 1:pssh:$(cat pssh.bin | xxd -p | tr -d '\n') \
  input_hevc.mp4 \
  encrypted_video.mp4
  1. 生成HLS播放列表
    用mp4hls生成带Fairplay加密的HLS流:
mp4hls \
  --encryption-key=你的密钥ID(十六进制):你的AES密钥(十六进制) \
  --encryption-iv=你的初始化向量(十六进制) \
  --fairplay-cert=./fairplay.cer \
  --fairplay-key-server-url="https://your-fps-skd-url.com" \
  --segment-duration=10 \
  encrypted_video.mp4 \
  encrypted_audio.mp4

关于Zencoder的说明

Zencoder作为云转码服务,支持HEVC+Fairplay组合,但需要在转码配置中明确声明:

  • 视频编码指定为h265
  • DRM模块开启Fairplay,传入证书、密钥、密钥ID等完整参数
    如果之前尝试失败,建议检查是否在配置中遗漏了Fairplay的必填物料,或者联系Zencoder支持确认你的账户是否开启了HEVC+Fairplay的服务权限

关键注意事项

  • 播放器兼容性:只有Safari 11+、iOS 11+、tvOS 11+以上的设备支持HEVC Fairplay流,测试时务必使用符合版本要求的设备
  • 证书有效性:Fairplay证书必须是苹果官方颁发的,且密钥服务器(SKD)能正确响应播放器的密钥请求
  • 工具版本:务必使用最新版的Shaka Packager或Bento4,旧版本可能对HEVC的加密支持存在缺陷
  • 流格式检查:可以用mediainfo查看加密后的MP4文件,确认CENC加密信息和Fairplay PSSH盒是否正确生成

内容的提问来源于stack exchange,提问作者sayoni dutta roy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 06:32:02