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. La API rechaza siempre FairPlay con cenc. Como cbcs lleva también Widevine y PlayReady, un único Destination CMAF en cbcs puede servir los tres sistemas con un solo empaquetado.
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']para solo-Apple, o['Widevine', 'PlayReady', 'FairPlay']para servir a todos los ecosistemas desde un único Destination CMAF.encryption_mode = cbcs. El servidor lo deriva cuando solo hay FairPlay; envíalo explícitamente cuando FairPlay se combina con los otros sistemas.contentidcon el identificador de contenido que el vendor upstream espera.
FAQ
cenc / AES-CTR usado por los despliegues solo-DASH de Widevine y PlayReady.encryption_mode = cbcs: cada reproductor toma el sistema que admite de los mismos segmentos. Los dispositivos que solo admiten cenc necesitan un Destination cenc aparte para Widevine y PlayReady; agrupa ambos en un Destination group para enlazarlos a un Live stream con una sola referencia.