[{"data":1,"prerenderedAt":1460},["ShallowReactive",2],{"navigation_docs_es":3,"-es-how-tos-multi-drm-destination":408,"-es-how-tos-multi-drm-destination-surround":1455},[4,25,74,124,238,253,313,342,388],{"title":5,"path":6,"stem":7,"children":8,"page":24},"Getting Started","\u002Fes\u002Fgetting-started","es\u002F1.getting-started",[9,14,19],{"title":10,"path":11,"stem":12,"icon":13},"Introducción","\u002Fes\u002Fgetting-started\u002Fintroduction","es\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Quickstart","\u002Fes\u002Fgetting-started\u002Fquickstart","es\u002F1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Conceptos","\u002Fes\u002Fgetting-started\u002Fconcepts","es\u002F1.getting-started\u002F3.concepts","i-lucide-book-open",false,{"title":26,"path":27,"stem":28,"children":29,"page":24},"Live Production","\u002Fes\u002Flive-production","es\u002F2.live-production",[30,35,55,60],{"title":31,"path":32,"stem":33,"icon":34},"On air","\u002Fes\u002Flive-production\u002Fon-air","es\u002F2.live-production\u002F1.on-air","i-lucide-radio",{"title":36,"path":37,"stem":38,"children":39,"page":24},"Live Streams","\u002Fes\u002Flive-production\u002Flive-streams","es\u002F2.live-production\u002F2.live-streams",[40,45,50],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Fes\u002Flive-production\u002Flive-streams\u002Foverview","es\u002F2.live-production\u002F2.live-streams\u002F1.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Options","\u002Fes\u002Flive-production\u002Flive-streams\u002Flive-stream-options","es\u002F2.live-production\u002F2.live-streams\u002F2.live-stream-options","i-lucide-file-text",{"title":51,"path":52,"stem":53,"icon":54},"Inicio y parada","\u002Fes\u002Flive-production\u002Flive-streams\u002Fstart-stop","es\u002F2.live-production\u002F2.live-streams\u002F3.start-stop","i-lucide-play-circle",{"title":56,"path":57,"stem":58,"icon":59},"Scheduler","\u002Fes\u002Flive-production\u002Fscheduler","es\u002F2.live-production\u002F3.scheduler","i-lucide-calendar-clock",{"title":61,"path":62,"stem":63,"children":64,"page":24},"Recordings","\u002Fes\u002Flive-production\u002Frecordings","es\u002F2.live-production\u002F4.recordings",[65,69],{"title":41,"path":66,"stem":67,"icon":68},"\u002Fes\u002Flive-production\u002Frecordings\u002Foverview","es\u002F2.live-production\u002F4.recordings\u002F1.overview","i-lucide-circle-dot",{"title":70,"path":71,"stem":72,"icon":73},"Editor","\u002Fes\u002Flive-production\u002Frecordings\u002Feditor","es\u002F2.live-production\u002F4.recordings\u002F2.editor","i-lucide-scissors",{"title":75,"path":76,"stem":77,"children":78,"page":24},"Configuration","\u002Fes\u002Fconfiguration","es\u002F3.configuration",[79,93,98,111],{"title":80,"path":81,"stem":82,"children":83,"page":24},"Devices","\u002Fes\u002Fconfiguration\u002Fdevices","es\u002F3.configuration\u002F1.devices",[84,88],{"title":80,"path":85,"stem":86,"icon":87},"\u002Fes\u002Fconfiguration\u002Fdevices\u002Fdevices","es\u002F3.configuration\u002F1.devices\u002F1.devices","i-lucide-server",{"title":89,"path":90,"stem":91,"icon":92},"Groups","\u002Fes\u002Fconfiguration\u002Fdevices\u002Fgroups","es\u002F3.configuration\u002F1.devices\u002F2.groups","i-lucide-network",{"title":94,"path":95,"stem":96,"icon":97},"Sources","\u002Fes\u002Fconfiguration\u002Fsources","es\u002F3.configuration\u002F2.sources","i-lucide-cable",{"title":99,"path":100,"stem":101,"children":102,"page":24},"Encodings","\u002Fes\u002Fconfiguration\u002Fencodings","es\u002F3.configuration\u002F3.encodings",[103,107],{"title":99,"path":104,"stem":105,"icon":106},"\u002Fes\u002Fconfiguration\u002Fencodings\u002Fprofiles","es\u002F3.configuration\u002F3.encodings\u002F1.profiles","i-lucide-sliders-horizontal",{"title":89,"path":108,"stem":109,"icon":110},"\u002Fes\u002Fconfiguration\u002Fencodings\u002Fgroups","es\u002F3.configuration\u002F3.encodings\u002F2.groups","i-lucide-layers",{"title":112,"path":113,"stem":114,"children":115,"page":24},"Destinations","\u002Fes\u002Fconfiguration\u002Fdestinations","es\u002F3.configuration\u002F4.destinations",[116,120],{"title":112,"path":117,"stem":118,"icon":119},"\u002Fes\u002Fconfiguration\u002Fdestinations\u002Fdestinations","es\u002F3.configuration\u002F4.destinations\u002F1.destinations","i-lucide-send",{"title":89,"path":121,"stem":122,"icon":123},"\u002Fes\u002Fconfiguration\u002Fdestinations\u002Fpublishing-groups","es\u002F3.configuration\u002F4.destinations\u002F2.publishing-groups","i-lucide-share-2",{"title":125,"path":126,"stem":127,"children":128,"page":24},"Settings","\u002Fes\u002Fsettings","es\u002F4.settings",[129,142,147,163,179],{"title":130,"path":131,"stem":132,"children":133,"page":24},"Users","\u002Fes\u002Fsettings\u002Fusers","es\u002F4.settings\u002F1.users",[134,138],{"title":130,"path":135,"stem":136,"icon":137},"\u002Fes\u002Fsettings\u002Fusers\u002Fusers","es\u002F4.settings\u002F1.users\u002F1.users","i-lucide-user",{"title":89,"path":139,"stem":140,"icon":141},"\u002Fes\u002Fsettings\u002Fusers\u002Fuser-groups","es\u002F4.settings\u002F1.users\u002F2.user-groups","i-lucide-users",{"title":143,"path":144,"stem":145,"icon":146},"Security","\u002Fes\u002Fsettings\u002Fsecurity","es\u002F4.settings\u002F2.security","i-lucide-shield",{"title":148,"icon":149,"path":150,"stem":151,"children":152,"page":24},"Assets","i-lucide-image","\u002Fes\u002Fsettings\u002Fassets","es\u002F4.settings\u002F3.assets",[153,158],{"title":154,"path":155,"stem":156,"icon":157},"Logos","\u002Fes\u002Fsettings\u002Fassets\u002Flogos","es\u002F4.settings\u002F3.assets\u002F1.logos","i-lucide-images",{"title":159,"path":160,"stem":161,"icon":162},"Files","\u002Fes\u002Fsettings\u002Fassets\u002Ffiles","es\u002F4.settings\u002F3.assets\u002F2.files","i-lucide-clapperboard",{"title":164,"icon":165,"path":166,"stem":167,"children":168,"page":24},"External Storage","i-lucide-folder-cog","\u002Fes\u002Fsettings\u002Fexternal-storage","es\u002F4.settings\u002F4.external-storage",[169,174],{"title":170,"path":171,"stem":172,"icon":173},"Remote Folders","\u002Fes\u002Fsettings\u002Fexternal-storage\u002Fremote-folders","es\u002F4.settings\u002F4.external-storage\u002F1.remote-folders","i-lucide-folder-archive",{"title":175,"path":176,"stem":177,"icon":178},"Target Folders","\u002Fes\u002Fsettings\u002Fexternal-storage\u002Ftarget-folders","es\u002F4.settings\u002F4.external-storage\u002F2.target-folders","i-lucide-folder-up",{"title":180,"path":181,"stem":182,"children":183,"page":24},"Integrations","\u002Fes\u002Fsettings\u002Fintegrations","es\u002F4.settings\u002F5.integrations",[184,188,193,207],{"title":41,"path":185,"stem":186,"icon":187},"\u002Fes\u002Fsettings\u002Fintegrations\u002Foverview","es\u002F4.settings\u002F5.integrations\u002F1.overview","i-lucide-plug",{"title":189,"path":190,"stem":191,"icon":192},"MediaCopilot","\u002Fes\u002Fsettings\u002Fintegrations\u002Fmediacopilot","es\u002F4.settings\u002F5.integrations\u002F2.mediacopilot","i-lucide-sparkles",{"title":194,"icon":195,"path":196,"stem":197,"children":198,"page":24},"C21 Live Cloud","i-lucide-cloud","\u002Fes\u002Fsettings\u002Fintegrations\u002Fc21livecloud","es\u002F4.settings\u002F5.integrations\u002F3.c21livecloud",[199,202],{"title":41,"path":200,"stem":201,"icon":195},"\u002Fes\u002Fsettings\u002Fintegrations\u002Fc21livecloud\u002Foverview","es\u002F4.settings\u002F5.integrations\u002F3.c21livecloud\u002F1.overview",{"title":203,"path":204,"stem":205,"icon":206},"Accounts","\u002Fes\u002Fsettings\u002Fintegrations\u002Fc21livecloud\u002Faccounts","es\u002F4.settings\u002F5.integrations\u002F3.c21livecloud\u002F2.accounts","i-lucide-key-round",{"title":208,"icon":146,"path":209,"stem":210,"children":211,"page":24},"DRM Providers","\u002Fes\u002Fsettings\u002Fintegrations\u002Fdrm","es\u002F4.settings\u002F5.integrations\u002F4.drm",[212,216,220,224,228,233],{"title":41,"path":213,"stem":214,"icon":215},"\u002Fes\u002Fsettings\u002Fintegrations\u002Fdrm\u002Foverview","es\u002F4.settings\u002F5.integrations\u002F4.drm\u002F1.overview","i-lucide-shield-check",{"title":217,"path":218,"stem":219,"icon":146},"Widevine","\u002Fes\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fwidevine","es\u002F4.settings\u002F5.integrations\u002F4.drm\u002F2.widevine",{"title":221,"path":222,"stem":223,"icon":146},"PlayReady","\u002Fes\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fplayready","es\u002F4.settings\u002F5.integrations\u002F4.drm\u002F3.playready",{"title":225,"path":226,"stem":227,"icon":146},"FairPlay","\u002Fes\u002Fsettings\u002Fintegrations\u002Fdrm\u002Ffairplay","es\u002F4.settings\u002F5.integrations\u002F4.drm\u002F4.fairplay",{"title":229,"path":230,"stem":231,"icon":232},"Providers","\u002Fes\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fproviders","es\u002F4.settings\u002F5.integrations\u002F4.drm\u002F5.providers","i-lucide-shield-half",{"title":234,"path":235,"stem":236,"icon":237},"Workflow","\u002Fes\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fworkflow","es\u002F4.settings\u002F5.integrations\u002F4.drm\u002F6.workflow","i-lucide-workflow",{"title":239,"path":240,"stem":241,"children":242,"page":24},"System Status","\u002Fes\u002Fsystem-status","es\u002F5.system-status",[243,248],{"title":244,"path":245,"stem":246,"icon":247},"Commands","\u002Fes\u002Fsystem-status\u002Fcommands","es\u002F5.system-status\u002F1.commands","i-lucide-square-terminal",{"title":249,"path":250,"stem":251,"icon":252},"Logs","\u002Fes\u002Fsystem-status\u002Flogs","es\u002F5.system-status\u002F2.logs","i-lucide-scroll-text",{"title":254,"path":255,"stem":256,"children":257,"page":24},"How Tos","\u002Fes\u002Fhow-tos","es\u002F6.how-tos",[258,263,268,273,277,281,285,290,294,299,304,309],{"title":259,"path":260,"stem":261,"icon":262},"Arrancar y detener un Live stream","\u002Fes\u002Fhow-tos\u002Fstart-stream-via-api","es\u002F6.how-tos\u002F1.start-stream-via-api","i-lucide-terminal",{"title":264,"path":265,"stem":266,"icon":267},"Ingestar una emisión de YouTube Live","\u002Fes\u002Fhow-tos\u002Fingest-youtube-live","es\u002F6.how-tos\u002F10.ingest-youtube-live","i-lucide-youtube",{"title":269,"path":270,"stem":271,"icon":272},"Source Synchronized Encoding (SSE) — redundancia bit-idéntica","\u002Fes\u002Fhow-tos\u002Fsource-synchronized-encoding","es\u002F6.how-tos\u002F11.source-synchronized-encoding","i-lucide-copy-check",{"title":274,"path":275,"stem":276,"icon":34},"Emitir radio como vídeo","\u002Fes\u002Fhow-tos\u002Fbroadcast-radio-as-video","es\u002F6.how-tos\u002F12.broadcast-radio-as-video",{"title":278,"path":279,"stem":280,"icon":215},"Proteger un Live stream con multi-DRM","\u002Fes\u002Fhow-tos\u002Fmulti-drm-destination","es\u002F6.how-tos\u002F2.multi-drm-destination",{"title":282,"path":283,"stem":284,"icon":59},"Programar una emisión semanal recurrente","\u002Fes\u002Fhow-tos\u002Fweekly-recurring-broadcast","es\u002F6.how-tos\u002F3.weekly-recurring-broadcast",{"title":286,"path":287,"stem":288,"icon":289},"Cortar un clip en el Editor y enviarlo a MediaCopilot","\u002Fes\u002Fhow-tos\u002Fexport-recording-to-mediacopilot","es\u002F6.how-tos\u002F4.export-recording-to-mediacopilot","i-lucide-upload-cloud",{"title":291,"path":292,"stem":293,"icon":149},"Aplicar un logo a un Live stream en emisión","\u002Fes\u002Fhow-tos\u002Fapply-logo-overlay","es\u002F6.how-tos\u002F5.apply-logo-overlay",{"title":295,"path":296,"stem":297,"icon":298},"Hacer blackout o sustituir el programa de un Live stream","\u002Fes\u002Fhow-tos\u002Fbroadcast-blackout","es\u002F6.how-tos\u002F6.broadcast-blackout","i-lucide-square",{"title":300,"path":301,"stem":302,"icon":303},"Cambiar la fuente de un Live stream en emisión","\u002Fes\u002Fhow-tos\u002Fruntime-source-switch","es\u002F6.how-tos\u002F7.runtime-source-switch","i-lucide-repeat-2",{"title":305,"path":306,"stem":307,"icon":308},"Activar \u002F desactivar un Publishing en mitad de la emisión","\u002Fes\u002Fhow-tos\u002Ftoggle-publishing-mid-broadcast","es\u002F6.how-tos\u002F8.toggle-publishing-mid-broadcast","i-lucide-toggle-right",{"title":310,"path":311,"stem":312,"icon":34},"Contribuir una señal en directo a MediaCopilot Live","\u002Fes\u002Fhow-tos\u002Fcontribute-to-mediacopilot-live","es\u002F6.how-tos\u002F9.contribute-to-mediacopilot-live",{"title":314,"path":315,"stem":316,"children":317,"page":24},"Installation","\u002Fes\u002Finstallation","es\u002F7.installation",[318,323,328,333,338],{"title":319,"path":320,"stem":321,"icon":322},"Preparar el host","\u002Fes\u002Finstallation\u002Fprepare-host","es\u002F7.installation\u002F1.prepare-host","i-lucide-server-cog",{"title":324,"path":325,"stem":326,"icon":327},"Instalar C21 Live Control","\u002Fes\u002Finstallation\u002Fcontrol","es\u002F7.installation\u002F2.control","i-lucide-cloud-download",{"title":329,"path":330,"stem":331,"icon":332},"Instalar C21 Live Encoder","\u002Fes\u002Finstallation\u002Fencoder","es\u002F7.installation\u002F3.encoder","i-lucide-cpu",{"title":334,"path":335,"stem":336,"icon":337},"Actualizaciones","\u002Fes\u002Finstallation\u002Fupdates","es\u002F7.installation\u002F4.updates","i-lucide-refresh-cw",{"title":339,"path":340,"stem":341,"icon":206},"Licencias","\u002Fes\u002Finstallation\u002Flicenses","es\u002F7.installation\u002F5.licenses",{"title":343,"path":344,"stem":345,"children":346,"page":24},"Developers","\u002Fes\u002Fdevelopers","es\u002F8.developers",[347,351,369],{"title":41,"path":348,"stem":349,"icon":350},"\u002Fes\u002Fdevelopers\u002Foverview","es\u002F8.developers\u002F1.overview","i-lucide-code",{"title":352,"icon":350,"path":353,"stem":354,"children":355,"page":24},"API","\u002Fes\u002Fdevelopers\u002Fapi","es\u002F8.developers\u002F2.api",[356,359,364],{"title":41,"path":357,"stem":358,"icon":350},"\u002Fes\u002Fdevelopers\u002Fapi\u002Foverview","es\u002F8.developers\u002F2.api\u002F1.overview",{"title":360,"path":361,"stem":362,"icon":363},"Autenticación","\u002Fes\u002Fdevelopers\u002Fapi\u002Fauthentication","es\u002F8.developers\u002F2.api\u002F2.authentication","i-lucide-key",{"title":365,"path":366,"stem":367,"icon":368},"Paginación y errores","\u002Fes\u002Fdevelopers\u002Fapi\u002Fpagination-errors","es\u002F8.developers\u002F2.api\u002F3.pagination-errors","i-lucide-list-ordered",{"title":370,"icon":371,"path":372,"stem":373,"children":374,"page":24},"MCP Server","i-lucide-bot","\u002Fes\u002Fdevelopers\u002Fmcp-server","es\u002F8.developers\u002F3.mcp-server",[375,378,383],{"title":41,"path":376,"stem":377,"icon":371},"\u002Fes\u002Fdevelopers\u002Fmcp-server\u002Foverview","es\u002F8.developers\u002F3.mcp-server\u002F1.overview",{"title":379,"path":380,"stem":381,"icon":382},"Tools","\u002Fes\u002Fdevelopers\u002Fmcp-server\u002Ftools","es\u002F8.developers\u002F3.mcp-server\u002F2.tools","i-lucide-wrench",{"title":384,"path":385,"stem":386,"icon":387},"Examples","\u002Fes\u002Fdevelopers\u002Fmcp-server\u002Fexamples","es\u002F8.developers\u002F3.mcp-server\u002F3.examples","i-lucide-play",{"title":389,"path":390,"stem":391,"children":392,"page":24},"Resources","\u002Fes\u002Fresources","es\u002F9.resources",[393,398,403],{"title":394,"path":395,"stem":396,"icon":397},"Enlaces","\u002Fes\u002Fresources\u002Flinks","es\u002F9.resources\u002F1.links","i-lucide-link",{"title":399,"path":400,"stem":401,"icon":402},"Release Notes","\u002Fes\u002Fresources\u002Frelease-notes","es\u002F9.resources\u002F2.release-notes","i-lucide-clipboard-list",{"title":404,"path":405,"stem":406,"icon":407},"Glosario","\u002Fes\u002Fresources\u002Fglossary","es\u002F9.resources\u002F3.glossary","i-lucide-book-a",{"id":409,"title":278,"body":410,"description":1448,"extension":1449,"links":1450,"meta":1451,"navigation":1452,"path":279,"seo":1453,"stem":280,"__hash__":1454},"docs_es\u002Fes\u002F6.how-tos\u002F2.multi-drm-destination.md",{"type":411,"value":412,"toc":1435},"minimark",[413,421,424,429,450,454,486,490,496,825,829,832,924,934,1223,1239,1304,1308,1340,1392,1395,1399,1404,1424,1431],[414,415,416,420],"p",{},[417,418,419],"strong",{},"Available in:"," UI · API",[414,422,423],{},"Usa este how-to cuando un Live stream deba llegar a clientes web, Windows y Apple con DRM aplicado en todas las plataformas. El modelo de integración es el mismo en cualquier superficie: registra un DRM provider una vez y asócialo a cada Destination protegido.",[425,426,428],"h2",{"id":427},"cuándo-usar-esto","Cuándo usar esto",[414,430,431,432,436,437,440,441,444,445,449],{},"Cuando un Destination ",[433,434,435],"code",{},"DASH",", ",[433,438,439],{},"CMAF"," o ",[433,442,443],{},"HLS \u002F TS"," sobre un Live stream deba cifrar segmentos y llevar las URLs de licencia en el manifest. Para la referencia conceptual consulta ",[446,447,448],"a",{"href":213},"DRM",".",[425,451,453],{"id":452},"prerrequisitos","Prerrequisitos",[455,456,457,465,476],"ul",{},[458,459,460,461,464],"li",{},"El rol ",[417,462,463],{},"System Administrator",". El CRUD de DRM providers está reservado a ese rol; los Operators no pueden registrar, validar, editar ni borrar proveedores.",[458,466,467,468,471,472,475],{},"Una cuenta con un proveedor multi-DRM. El catálogo publica hoy ",[433,469,470],{},"AXINOM"," y ",[433,473,474],{},"EZDRM",". El proveedor te facilita un endpoint SPEKE, las credenciales que espera la marca y — para las marcas que lo requieran — un tenant id.",[458,477,478,479,436,481,440,483,485],{},"Un Destination ",[433,480,435],{},[433,482,439],{},[433,484,443],{}," en el Live stream que llevará la salida protegida.",[425,487,489],{"id":488},"via-ui","Via UI",[414,491,492,493,449],{},"Navegación: ",[417,494,495],{},"Integrations → DRM → Providers",[497,498,499,504,519,662,668,672,699,703,711,812,815,819],"steps",{},[500,501,503],"h3",{"id":502},"registra-el-drm-provider","Registra el DRM provider",[414,505,506,507,509,510,514,515,518],{},"Abre ",[417,508,495],{}," y pulsa ",[511,512,513],"em",{},"Add provider",". El formulario mapea al esquema ",[433,516,517],{},"DrmProviderCreateRequest",":",[520,521,522,538],"table",{},[523,524,525],"thead",{},[526,527,528,532,535],"tr",{},[529,530,531],"th",{},"Etiqueta UI",[529,533,534],{},"Campo API",[529,536,537],{},"Notas",[539,540,541,557,577,592,607,628,647],"tbody",{},[526,542,543,549,554],{},[544,545,546],"td",{},[417,547,548],{},"Name",[544,550,551],{},[433,552,553],{},"name",[544,555,556],{},"Nombre visible (≤ 100 caracteres).",[526,558,559,564,569],{},[544,560,561],{},[417,562,563],{},"Provider type",[544,565,566],{},[433,567,568],{},"provider_type",[544,570,571,572,436,574,576],{},"Uno de los valores del catálogo servidor (hoy ",[433,573,470],{},[433,575,474],{},").",[526,578,579,584,589],{},[544,580,581],{},[417,582,583],{},"SPEKE URL",[544,585,586],{},[433,587,588],{},"speke_url",[544,590,591],{},"Endpoint SPEKE principal.",[526,593,594,599,604],{},[544,595,596],{},[417,597,598],{},"SPEKE backup URL",[544,600,601],{},[433,602,603],{},"speke_url_backup",[544,605,606],{},"Respaldo opcional.",[526,608,609,614,619],{},[544,610,611],{},[417,612,613],{},"Tenant id",[544,615,616],{},[433,617,618],{},"tenant_id",[544,620,621,622,624,625,449],{},"Obligatorio cuando el ",[511,623,563],{}," elegido declara ",[433,626,627],{},"requires_tenant_id = true",[526,629,630,635,640],{},[544,631,632],{},[417,633,634],{},"Credentials",[544,636,637],{},[433,638,639],{},"credentials",[544,641,642,643,646],{},"Sobre específico del proveedor. Solo escritura — ",[433,644,645],{},"GET"," devuelve el centinela redactado.",[526,648,649,654,659],{},[544,650,651],{},[417,652,653],{},"Enabled",[544,655,656],{},[433,657,658],{},"enabled",[544,660,661],{},"Si el proveedor es seleccionable por los Destinations.",[414,663,664,665,449],{},"Envía. La nueva fila aparece en la lista de proveedores con ",[511,666,667],{},"Validation status: UNKNOWN",[500,669,671],{"id":670},"valida","Valida",[414,673,674,675,678,679,682,683,686,687,690,691,694,695,698],{},"Ejecuta la acción ",[511,676,677],{},"Validate"," sobre la fila del proveedor. El handler hace ida y vuelta contra el servicio SPEKE upstream. La columna ",[511,680,681],{},"Validation status"," pasa a ",[511,684,685],{},"VALID"," (éxito) o ",[511,688,689],{},"INVALID"," (fallo). Un fallo expone un error saneado en ",[511,692,693],{},"Validation error","; corrige las credenciales con ",[511,696,697],{},"Edit"," y vuelve a validar.",[500,700,702],{"id":701},"asocia-el-proveedor-a-un-destination","Asocia el proveedor a un Destination",[414,704,705,706,708,709,518],{},"Abre el Destination en ",[417,707,112],{}," y rellena el bloque ",[511,710,448],{},[520,712,713,723],{},[523,714,715],{},[526,716,717,719,721],{},[529,718,531],{},[529,720,534],{},[529,722,537],{},[539,724,725,740,755,770,791],{},[526,726,727,732,737],{},[544,728,729],{},[417,730,731],{},"Active",[544,733,734],{},[433,735,736],{},"drm.active",[544,738,739],{},"Toggle que activa el DRM en este Destination.",[526,741,742,747,752],{},[544,743,744],{},[417,745,746],{},"Provider",[544,748,749],{},[433,750,751],{},"drm.provider_id",[544,753,754],{},"Selector sobre los proveedores registrados (solo aparecen los habilitados).",[526,756,757,762,767],{},[544,758,759],{},[417,760,761],{},"Content id",[544,763,764],{},[433,765,766],{},"drm.contentid",[544,768,769],{},"Identificador de contenido esperado por el proveedor.",[526,771,772,777,782],{},[544,773,774],{},[417,775,776],{},"Systems",[544,778,779],{},[433,780,781],{},"drm.systems[]",[544,783,784,785,436,787,436,789,449],{},"Cualquier combinación de ",[511,786,217],{},[511,788,221],{},[511,790,225],{},[526,792,793,798,803],{},[544,794,795],{},[417,796,797],{},"Encryption mode",[544,799,800],{},[433,801,802],{},"drm.encryption_mode",[544,804,805,806,440,809,449],{},"Uno de ",[433,807,808],{},"cenc",[433,810,811],{},"cbcs",[414,813,814],{},"Guarda. La fila del Destination muestra un escudo cuando DRM está activo.",[500,816,818],{"id":817},"arranca-el-live-stream","Arranca el Live stream",[414,820,821,822,824],{},"Arranca el Live stream desde ",[446,823,31],{"href":32}," o desde la página de detalle. El encoder solicita las claves al endpoint SPEKE configurado, cifra los segmentos y escribe las URLs de licencia en el manifest.",[425,826,828],{"id":827},"via-api","Via API",[414,830,831],{},"CRUD del DRM provider:",[520,833,834,847],{},[523,835,836],{},[526,837,838,841,844],{},[529,839,840],{},"Acción",[529,842,843],{},"Método + ruta",[529,845,846],{},"operationId",[539,848,849,864,879,894,909],{},[526,850,851,854,859],{},[544,852,853],{},"Listar proveedores",[544,855,856],{},[433,857,858],{},"GET \u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders",[544,860,861],{},[433,862,863],{},"getAllDrmProviders",[526,865,866,869,874],{},[544,867,868],{},"Crear un proveedor",[544,870,871],{},[433,872,873],{},"POST \u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders",[544,875,876],{},[433,877,878],{},"addDrmProvider",[526,880,881,884,889],{},[544,882,883],{},"Validar un proveedor",[544,885,886],{},[433,887,888],{},"POST \u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders\u002F{providerId}\u002Fvalidate",[544,890,891],{},[433,892,893],{},"validateDrmProvider",[526,895,896,899,904],{},[544,897,898],{},"Actualizar un proveedor",[544,900,901],{},[433,902,903],{},"PUT \u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders\u002F{providerId}",[544,905,906],{},[433,907,908],{},"updateDrmProvider",[526,910,911,914,919],{},[544,912,913],{},"Borrar un proveedor",[544,915,916],{},[433,917,918],{},"DELETE \u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders\u002F{providerId}",[544,920,921],{},[433,922,923],{},"deleteDrmProvider",[414,925,926,927,930,931,518],{},"El bloque DRM de un Destination se asigna mediante ",[433,928,929],{},"addPublishing"," \u002F ",[433,932,933],{},"updatePublishing",[935,936,941],"pre",{"className":937,"code":938,"language":939,"meta":940,"style":940},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# 1. Registra el proveedor\ncurl -X POST \"https:\u002F\u002F\u003Ctu-host>\u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders\" \\\n  -H \"Authorization: Bearer \u003CYOUR_API_TOKEN>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"MyDRMProvider\",\n    \"provider_type\": \"AXINOM\",\n    \"speke_url\": \"https:\u002F\u002Fdrm-axinom.example\u002Fspeke\u002Fv2\",\n    \"tenant_id\": \"\u003Ctenant>\",\n    \"credentials\": { \"...\": \"...\" },\n    \"enabled\": true\n  }'\n\n# 2. Valida\ncurl -X POST \"https:\u002F\u002F\u003Ctu-host>\u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders\u002F\u003CproviderId>\u002Fvalidate\" \\\n  -H \"Authorization: Bearer \u003CYOUR_API_TOKEN>\"\n\n# 3. Asocia a un Publishing DASH\u002FCMAF\u002FHLS existente\ncurl -X PUT \"https:\u002F\u002F\u003Ctu-host>\u002Fc21apiv2\u002Fpublishings\u002F\u003CpublishingId>\" \\\n  -H \"Authorization: Bearer \u003CYOUR_API_TOKEN>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"drm\": {\n      \"active\": true,\n      \"provider_id\": \u003CproviderId>,\n      \"contentid\": \"\u003Ccontent id del proveedor>\",\n      \"systems\": [\"Widevine\", \"PlayReady\"],\n      \"encryption_mode\": \"cenc\"\n    }\n  }'\n","bash","",[433,942,943,952,980,995,1009,1021,1027,1033,1039,1045,1051,1057,1066,1073,1079,1097,1109,1114,1120,1139,1152,1165,1174,1180,1186,1192,1198,1204,1210,1216],{"__ignoreMap":940},[944,945,948],"span",{"class":946,"line":947},"line",1,[944,949,951],{"class":950},"sHwdD","# 1. Registra el proveedor\n",[944,953,955,959,963,966,970,973,976],{"class":946,"line":954},2,[944,956,958],{"class":957},"sBMFI","curl",[944,960,962],{"class":961},"sfazB"," -X",[944,964,965],{"class":961}," POST",[944,967,969],{"class":968},"sMK4o"," \"",[944,971,972],{"class":961},"https:\u002F\u002F\u003Ctu-host>\u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders",[944,974,975],{"class":968},"\"",[944,977,979],{"class":978},"sTEyZ"," \\\n",[944,981,983,986,988,991,993],{"class":946,"line":982},3,[944,984,985],{"class":961},"  -H",[944,987,969],{"class":968},[944,989,990],{"class":961},"Authorization: Bearer \u003CYOUR_API_TOKEN>",[944,992,975],{"class":968},[944,994,979],{"class":978},[944,996,998,1000,1002,1005,1007],{"class":946,"line":997},4,[944,999,985],{"class":961},[944,1001,969],{"class":968},[944,1003,1004],{"class":961},"Content-Type: application\u002Fjson",[944,1006,975],{"class":968},[944,1008,979],{"class":978},[944,1010,1012,1015,1018],{"class":946,"line":1011},5,[944,1013,1014],{"class":961},"  -d",[944,1016,1017],{"class":968}," '",[944,1019,1020],{"class":961},"{\n",[944,1022,1024],{"class":946,"line":1023},6,[944,1025,1026],{"class":961},"    \"name\": \"MyDRMProvider\",\n",[944,1028,1030],{"class":946,"line":1029},7,[944,1031,1032],{"class":961},"    \"provider_type\": \"AXINOM\",\n",[944,1034,1036],{"class":946,"line":1035},8,[944,1037,1038],{"class":961},"    \"speke_url\": \"https:\u002F\u002Fdrm-axinom.example\u002Fspeke\u002Fv2\",\n",[944,1040,1042],{"class":946,"line":1041},9,[944,1043,1044],{"class":961},"    \"tenant_id\": \"\u003Ctenant>\",\n",[944,1046,1048],{"class":946,"line":1047},10,[944,1049,1050],{"class":961},"    \"credentials\": { \"...\": \"...\" },\n",[944,1052,1054],{"class":946,"line":1053},11,[944,1055,1056],{"class":961},"    \"enabled\": true\n",[944,1058,1060,1063],{"class":946,"line":1059},12,[944,1061,1062],{"class":961},"  }",[944,1064,1065],{"class":968},"'\n",[944,1067,1069],{"class":946,"line":1068},13,[944,1070,1072],{"emptyLinePlaceholder":1071},true,"\n",[944,1074,1076],{"class":946,"line":1075},14,[944,1077,1078],{"class":950},"# 2. Valida\n",[944,1080,1082,1084,1086,1088,1090,1093,1095],{"class":946,"line":1081},15,[944,1083,958],{"class":957},[944,1085,962],{"class":961},[944,1087,965],{"class":961},[944,1089,969],{"class":968},[944,1091,1092],{"class":961},"https:\u002F\u002F\u003Ctu-host>\u002Fc21apiv2\u002Fsettings\u002Fintegrations\u002Fdrmproviders\u002F\u003CproviderId>\u002Fvalidate",[944,1094,975],{"class":968},[944,1096,979],{"class":978},[944,1098,1100,1102,1104,1106],{"class":946,"line":1099},16,[944,1101,985],{"class":961},[944,1103,969],{"class":968},[944,1105,990],{"class":961},[944,1107,1108],{"class":968},"\"\n",[944,1110,1112],{"class":946,"line":1111},17,[944,1113,1072],{"emptyLinePlaceholder":1071},[944,1115,1117],{"class":946,"line":1116},18,[944,1118,1119],{"class":950},"# 3. Asocia a un Publishing DASH\u002FCMAF\u002FHLS existente\n",[944,1121,1123,1125,1127,1130,1132,1135,1137],{"class":946,"line":1122},19,[944,1124,958],{"class":957},[944,1126,962],{"class":961},[944,1128,1129],{"class":961}," PUT",[944,1131,969],{"class":968},[944,1133,1134],{"class":961},"https:\u002F\u002F\u003Ctu-host>\u002Fc21apiv2\u002Fpublishings\u002F\u003CpublishingId>",[944,1136,975],{"class":968},[944,1138,979],{"class":978},[944,1140,1142,1144,1146,1148,1150],{"class":946,"line":1141},20,[944,1143,985],{"class":961},[944,1145,969],{"class":968},[944,1147,990],{"class":961},[944,1149,975],{"class":968},[944,1151,979],{"class":978},[944,1153,1155,1157,1159,1161,1163],{"class":946,"line":1154},21,[944,1156,985],{"class":961},[944,1158,969],{"class":968},[944,1160,1004],{"class":961},[944,1162,975],{"class":968},[944,1164,979],{"class":978},[944,1166,1168,1170,1172],{"class":946,"line":1167},22,[944,1169,1014],{"class":961},[944,1171,1017],{"class":968},[944,1173,1020],{"class":961},[944,1175,1177],{"class":946,"line":1176},23,[944,1178,1179],{"class":961},"    \"drm\": {\n",[944,1181,1183],{"class":946,"line":1182},24,[944,1184,1185],{"class":961},"      \"active\": true,\n",[944,1187,1189],{"class":946,"line":1188},25,[944,1190,1191],{"class":961},"      \"provider_id\": \u003CproviderId>,\n",[944,1193,1195],{"class":946,"line":1194},26,[944,1196,1197],{"class":961},"      \"contentid\": \"\u003Ccontent id del proveedor>\",\n",[944,1199,1201],{"class":946,"line":1200},27,[944,1202,1203],{"class":961},"      \"systems\": [\"Widevine\", \"PlayReady\"],\n",[944,1205,1207],{"class":946,"line":1206},28,[944,1208,1209],{"class":961},"      \"encryption_mode\": \"cenc\"\n",[944,1211,1213],{"class":946,"line":1212},29,[944,1214,1215],{"class":961},"    }\n",[944,1217,1219,1221],{"class":946,"line":1218},30,[944,1220,1062],{"class":961},[944,1222,1065],{"class":968},[414,1224,1225,1228,1229,1232,1233,1235,1236,1238],{},[433,1226,1227],{},"validation_status"," lleva ",[433,1230,1231],{},"UNKNOWN"," (recién registrado), ",[433,1234,685],{}," (validación correcta) o ",[433,1237,689],{}," (validación fallida). Patrones habituales:",[520,1240,1241,1257],{},[523,1242,1243],{},[526,1244,1245,1248,1253],{},[529,1246,1247],{},"Patrón",[529,1249,1250],{},[433,1251,1252],{},"drm.systems",[529,1254,1255],{},[433,1256,802],{},[539,1258,1259,1273,1288],{},[526,1260,1261,1264,1269],{},[544,1262,1263],{},"DASH + CMAF, web + Microsoft",[544,1265,1266],{},[433,1267,1268],{},"[\"Widevine\", \"PlayReady\"]",[544,1270,1271],{},[433,1272,808],{},[526,1274,1275,1278,1284],{},[544,1276,1277],{},"CMAF \u002F HLS, cobertura Apple",[544,1279,1280,1283],{},[433,1281,1282],{},"[\"FairPlay\"]"," (o los tres)",[544,1285,1286],{},[433,1287,811],{},[526,1289,1290,1295,1300],{},[544,1291,1292,1293],{},"Entrega universal ",[433,1294,811],{},[544,1296,1297],{},[433,1298,1299],{},"[\"Widevine\", \"PlayReady\", \"FairPlay\"]",[544,1301,1302],{},[433,1303,811],{},[425,1305,1307],{"id":1306},"verificar","Verificar",[455,1309,1310,1316,1337],{},[458,1311,1312,1313,449],{},"La fila del proveedor muestra ",[511,1314,1315],{},"Validation status: VALID",[458,1317,1318,1321,1322,1325,1326,1329,1330,930,1333,1336],{},[433,1319,1320],{},"GET \u002Fc21apiv2\u002Fpublishings\u002F{publishingId}"," devuelve el bloque ",[433,1323,1324],{},"drm"," con ",[433,1327,1328],{},"active: true"," y los ",[433,1331,1332],{},"systems",[433,1334,1335],{},"encryption_mode"," esperados.",[458,1338,1339],{},"Reproductores de cada ecosistema descifran y reproducen correctamente la salida protegida:",[520,1341,1342,1355],{},[523,1343,1344],{},[526,1345,1346,1349,1352],{},[529,1347,1348],{},"Ecosistema",[529,1350,1351],{},"Navegador \u002F dispositivo",[529,1353,1354],{},"Manifest",[539,1356,1357,1369,1380],{},[526,1358,1359,1363,1366],{},[544,1360,1361],{},[417,1362,217],{},[544,1364,1365],{},"Chrome o Edge en escritorio",[544,1367,1368],{},"DASH o CMAF",[526,1370,1371,1375,1378],{},[544,1372,1373],{},[417,1374,221],{},[544,1376,1377],{},"Edge en Windows",[544,1379,1368],{},[526,1381,1382,1386,1389],{},[544,1383,1384],{},[417,1385,225],{},[544,1387,1388],{},"Safari en iOS o macOS",[544,1390,1391],{},"HLS \u002F CMAF",[414,1393,1394],{},"El dashboard del proveedor upstream registra una emisión de licencia por sesión y ecosistema.",[425,1396,1398],{"id":1397},"faq","FAQ",[1400,1401,1403],"collapsible",{"name":1402},"¿Puedo mezclar Destinations en claro y protegidos en el mismo Live stream?","Sí. El bloque DRM es por Destination. Un Destination group que combine un DASH protegido con un HLS en claro es técnicamente válido, pero la mayoría de licencias premium prohíben distribuir el mismo contenido en claro — confirma los derechos antes.",[1400,1405,1407,1408,1411,1412,1415,1416,1418,1419,1421,1422,449],{"name":1406},"¿Y si validateDrmProvider devuelve INVALID?","El validador expone el error upstream en ",[433,1409,1410],{},"validation_error",". Causas habituales: tenant id incorrecto, credenciales mal escritas o endpoint SPEKE no accesible desde esta instancia de ",[417,1413,1414],{},"C21 Live Control",". Corrige el campo con ",[433,1417,908],{}," (o ",[511,1420,697],{}," en la UI) y vuelve a ejecutar ",[511,1423,677],{},[1400,1425,1427,1428,1430],{"name":1426},"¿Cómo roto credenciales del proveedor sin downtime?","El sobre de credenciales es solo escritura. Envía el nuevo valor con ",[433,1429,908],{},"; el cambio aplica a las siguientes adquisiciones de clave. Los Live streams en emisión siguen funcionando con las claves que ya tienen hasta la próxima rotación.",[1432,1433,1434],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":940,"searchDepth":954,"depth":954,"links":1436},[1437,1438,1439,1445,1446,1447],{"id":427,"depth":954,"text":428},{"id":452,"depth":954,"text":453},{"id":488,"depth":954,"text":489,"children":1440},[1441,1442,1443,1444],{"id":502,"depth":982,"text":503},{"id":670,"depth":982,"text":671},{"id":701,"depth":982,"text":702},{"id":817,"depth":982,"text":818},{"id":827,"depth":954,"text":828},{"id":1306,"depth":954,"text":1307},{"id":1397,"depth":954,"text":1398},"Registra un DRM provider y asócialo a un Publishing — desde la UI, desde la API o ambas.","md",null,{},{"icon":215},{"title":278,"description":1448},"h4fM_HykemrYzJCHEQrKDpJlCYrKi2JAPP5mvcOU_Sw",[1456,1458],{"title":274,"path":275,"stem":276,"description":1457,"icon":34,"children":-1},"Emite un Channel de radio como un Live stream donde la pista visual es una imagen o clip corto programable, el audio es siempre el directo, y la imagen se puede sustituir sin interrumpir el audio.",{"title":282,"path":283,"stem":284,"description":1459,"icon":59,"children":-1},"Dispara un Live stream con una cadencia fija — desde el Scheduler, desde la API o ambas.",1782916471131]