FairPlay
FairPlay en C21 Live Control
FairPlay es el DRM de Apple. Alcanza Safari, iOS, iPadOS, tvOS y macOS — el ecosistema de dispositivos Apple. En Live Control aparece como uno de los tres sistemas expuestos por DrmProvider.supported_systems y como uno de los valores que drm.systems[] puede llevar.
Esta página cubre lo que va en el registro del proveedor cuando el servicio multi-DRM upstream soporta FairPlay. Para el flujo de extremo a extremo, consulta DRM workflow. Para el catálogo de proveedores y el CRUD, consulta Providers.
De dónde viene la configuración
Las integraciones FairPlay las emite Apple a los content owners. El vendor multi-DRM upstream (por ejemplo AXINOM o EZDRM) gestiona el handshake FairPlay Streaming (FPS) en nombre del cliente: maneja el certificado FairPlay, deriva las content keys y sirve la respuesta Content Key Context (CKC) cuando un reproductor emite una Server Playback Context (SPC) request.
El vendor entrega el mismo endpoint SPEKE y las mismas credenciales usadas para Widevine y PlayReady — no hay un formulario FairPlay separado en Live Control. El supported_systems del registro de proveedor declara si el soporte FairPlay del vendor está habilitado para esta cuenta.
Requisito de empaquetado: CBCS
FairPlay solo consume contenido cifrado en modo cbcs (AES-CBC con cifrado por patrón basado en subsamples). Un Destination con systems = [FairPlay] requiere encryption_mode = cbcs. Para alcanzar clientes Widevine + PlayReady junto a FairPlay, registra un Destination separado con systems = [Widevine, PlayReady] apuntando al mismo empaquetado cbcs — la API rechaza combinar FairPlay con Widevine o PlayReady en un único Destination.
Asociar FairPlay a un Destination
El DRM se aplica a un Destination mediante su bloque drm (consulta Destinations):
active = true.provider_idapuntando al proveedor compatible con FairPlay.systems = ['FairPlay']. La combinación habitual es solo-Apple. Si el deploy necesita también Widevine + PlayReady, crea un Destination separado con esos dos systems — la API no admiteFairPlayjunto a otros en una sola fila.encryption_mode = cbcs(lo deriva el servidor cuandosystemsincluyeFairPlay).contentidcon el identificador de contenido que el vendor upstream espera.
FAQ
cenc / AES-CTR usado por los despliegues solo-DASH de Widevine y PlayReady.FairPlay combinado con Widevine o PlayReady en una sola fila. Sí en un único Destination group: crea dos Destinations (uno [Widevine, PlayReady] para DASH / CMAF, otro [FairPlay] para HLS / CMAF) y agrúpalos en un Destination group para enlazarlos a un Live stream con una sola referencia.