[{"data":1,"prerenderedAt":996},["ShallowReactive",2],{"navigation_docs_en":3,"-en-how-tos-ingest-youtube-live":408,"-en-how-tos-ingest-youtube-live-surround":991},[4,25,74,124,238,253,313,342,388],{"title":5,"path":6,"stem":7,"children":8,"page":24},"Getting Started","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[9,14,19],{"title":10,"path":11,"stem":12,"icon":13},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Quickstart","\u002Fen\u002Fgetting-started\u002Fquickstart","en\u002F1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"Concepts","\u002Fen\u002Fgetting-started\u002Fconcepts","en\u002F1.getting-started\u002F3.concepts","i-lucide-book-open",false,{"title":26,"path":27,"stem":28,"children":29,"page":24},"Live Production","\u002Fen\u002Flive-production","en\u002F2.live-production",[30,35,55,60],{"title":31,"path":32,"stem":33,"icon":34},"On air","\u002Fen\u002Flive-production\u002Fon-air","en\u002F2.live-production\u002F1.on-air","i-lucide-radio",{"title":36,"path":37,"stem":38,"children":39,"page":24},"Live Streams","\u002Fen\u002Flive-production\u002Flive-streams","en\u002F2.live-production\u002F2.live-streams",[40,45,50],{"title":41,"path":42,"stem":43,"icon":44},"Overview","\u002Fen\u002Flive-production\u002Flive-streams\u002Foverview","en\u002F2.live-production\u002F2.live-streams\u002F1.overview","i-lucide-list",{"title":46,"path":47,"stem":48,"icon":49},"Options","\u002Fen\u002Flive-production\u002Flive-streams\u002Flive-stream-options","en\u002F2.live-production\u002F2.live-streams\u002F2.live-stream-options","i-lucide-file-text",{"title":51,"path":52,"stem":53,"icon":54},"Start and stop","\u002Fen\u002Flive-production\u002Flive-streams\u002Fstart-stop","en\u002F2.live-production\u002F2.live-streams\u002F3.start-stop","i-lucide-play-circle",{"title":56,"path":57,"stem":58,"icon":59},"Scheduler","\u002Fen\u002Flive-production\u002Fscheduler","en\u002F2.live-production\u002F3.scheduler","i-lucide-calendar-clock",{"title":61,"path":62,"stem":63,"children":64,"page":24},"Recordings","\u002Fen\u002Flive-production\u002Frecordings","en\u002F2.live-production\u002F4.recordings",[65,69],{"title":41,"path":66,"stem":67,"icon":68},"\u002Fen\u002Flive-production\u002Frecordings\u002Foverview","en\u002F2.live-production\u002F4.recordings\u002F1.overview","i-lucide-circle-dot",{"title":70,"path":71,"stem":72,"icon":73},"Editor","\u002Fen\u002Flive-production\u002Frecordings\u002Feditor","en\u002F2.live-production\u002F4.recordings\u002F2.editor","i-lucide-scissors",{"title":75,"path":76,"stem":77,"children":78,"page":24},"Configuration","\u002Fen\u002Fconfiguration","en\u002F3.configuration",[79,93,98,111],{"title":80,"path":81,"stem":82,"children":83,"page":24},"Devices","\u002Fen\u002Fconfiguration\u002Fdevices","en\u002F3.configuration\u002F1.devices",[84,88],{"title":80,"path":85,"stem":86,"icon":87},"\u002Fen\u002Fconfiguration\u002Fdevices\u002Fdevices","en\u002F3.configuration\u002F1.devices\u002F1.devices","i-lucide-server",{"title":89,"path":90,"stem":91,"icon":92},"Groups","\u002Fen\u002Fconfiguration\u002Fdevices\u002Fgroups","en\u002F3.configuration\u002F1.devices\u002F2.groups","i-lucide-network",{"title":94,"path":95,"stem":96,"icon":97},"Sources","\u002Fen\u002Fconfiguration\u002Fsources","en\u002F3.configuration\u002F2.sources","i-lucide-cable",{"title":99,"path":100,"stem":101,"children":102,"page":24},"Encodings","\u002Fen\u002Fconfiguration\u002Fencodings","en\u002F3.configuration\u002F3.encodings",[103,107],{"title":99,"path":104,"stem":105,"icon":106},"\u002Fen\u002Fconfiguration\u002Fencodings\u002Fprofiles","en\u002F3.configuration\u002F3.encodings\u002F1.profiles","i-lucide-sliders-horizontal",{"title":89,"path":108,"stem":109,"icon":110},"\u002Fen\u002Fconfiguration\u002Fencodings\u002Fgroups","en\u002F3.configuration\u002F3.encodings\u002F2.groups","i-lucide-layers",{"title":112,"path":113,"stem":114,"children":115,"page":24},"Destinations","\u002Fen\u002Fconfiguration\u002Fdestinations","en\u002F3.configuration\u002F4.destinations",[116,120],{"title":112,"path":117,"stem":118,"icon":119},"\u002Fen\u002Fconfiguration\u002Fdestinations\u002Fdestinations","en\u002F3.configuration\u002F4.destinations\u002F1.destinations","i-lucide-send",{"title":89,"path":121,"stem":122,"icon":123},"\u002Fen\u002Fconfiguration\u002Fdestinations\u002Fpublishing-groups","en\u002F3.configuration\u002F4.destinations\u002F2.publishing-groups","i-lucide-share-2",{"title":125,"path":126,"stem":127,"children":128,"page":24},"Settings","\u002Fen\u002Fsettings","en\u002F4.settings",[129,142,147,163,179],{"title":130,"path":131,"stem":132,"children":133,"page":24},"Users","\u002Fen\u002Fsettings\u002Fusers","en\u002F4.settings\u002F1.users",[134,138],{"title":130,"path":135,"stem":136,"icon":137},"\u002Fen\u002Fsettings\u002Fusers\u002Fusers","en\u002F4.settings\u002F1.users\u002F1.users","i-lucide-user",{"title":89,"path":139,"stem":140,"icon":141},"\u002Fen\u002Fsettings\u002Fusers\u002Fuser-groups","en\u002F4.settings\u002F1.users\u002F2.user-groups","i-lucide-users",{"title":143,"path":144,"stem":145,"icon":146},"Security","\u002Fen\u002Fsettings\u002Fsecurity","en\u002F4.settings\u002F2.security","i-lucide-shield",{"title":148,"icon":149,"path":150,"stem":151,"children":152,"page":24},"Assets","i-lucide-image","\u002Fen\u002Fsettings\u002Fassets","en\u002F4.settings\u002F3.assets",[153,158],{"title":154,"path":155,"stem":156,"icon":157},"Logos","\u002Fen\u002Fsettings\u002Fassets\u002Flogos","en\u002F4.settings\u002F3.assets\u002F1.logos","i-lucide-images",{"title":159,"path":160,"stem":161,"icon":162},"Files","\u002Fen\u002Fsettings\u002Fassets\u002Ffiles","en\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","\u002Fen\u002Fsettings\u002Fexternal-storage","en\u002F4.settings\u002F4.external-storage",[169,174],{"title":170,"path":171,"stem":172,"icon":173},"Remote Folders","\u002Fen\u002Fsettings\u002Fexternal-storage\u002Fremote-folders","en\u002F4.settings\u002F4.external-storage\u002F1.remote-folders","i-lucide-folder-archive",{"title":175,"path":176,"stem":177,"icon":178},"Target Folders","\u002Fen\u002Fsettings\u002Fexternal-storage\u002Ftarget-folders","en\u002F4.settings\u002F4.external-storage\u002F2.target-folders","i-lucide-folder-up",{"title":180,"path":181,"stem":182,"children":183,"page":24},"Integrations","\u002Fen\u002Fsettings\u002Fintegrations","en\u002F4.settings\u002F5.integrations",[184,188,193,207],{"title":41,"path":185,"stem":186,"icon":187},"\u002Fen\u002Fsettings\u002Fintegrations\u002Foverview","en\u002F4.settings\u002F5.integrations\u002F1.overview","i-lucide-plug",{"title":189,"path":190,"stem":191,"icon":192},"MediaCopilot","\u002Fen\u002Fsettings\u002Fintegrations\u002Fmediacopilot","en\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","\u002Fen\u002Fsettings\u002Fintegrations\u002Fc21livecloud","en\u002F4.settings\u002F5.integrations\u002F3.c21livecloud",[199,202],{"title":41,"path":200,"stem":201,"icon":195},"\u002Fen\u002Fsettings\u002Fintegrations\u002Fc21livecloud\u002Foverview","en\u002F4.settings\u002F5.integrations\u002F3.c21livecloud\u002F1.overview",{"title":203,"path":204,"stem":205,"icon":206},"Accounts","\u002Fen\u002Fsettings\u002Fintegrations\u002Fc21livecloud\u002Faccounts","en\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","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm","en\u002F4.settings\u002F5.integrations\u002F4.drm",[212,216,220,224,228,233],{"title":41,"path":213,"stem":214,"icon":215},"\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Foverview","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F1.overview","i-lucide-shield-check",{"title":217,"path":218,"stem":219,"icon":146},"Widevine","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fwidevine","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F2.widevine",{"title":221,"path":222,"stem":223,"icon":146},"PlayReady","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fplayready","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F3.playready",{"title":225,"path":226,"stem":227,"icon":146},"FairPlay","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Ffairplay","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F4.fairplay",{"title":229,"path":230,"stem":231,"icon":232},"Providers","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fproviders","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F5.providers","i-lucide-shield-half",{"title":234,"path":235,"stem":236,"icon":237},"Workflow","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fworkflow","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F6.workflow","i-lucide-workflow",{"title":239,"path":240,"stem":241,"children":242,"page":24},"System Status","\u002Fen\u002Fsystem-status","en\u002F5.system-status",[243,248],{"title":244,"path":245,"stem":246,"icon":247},"Commands","\u002Fen\u002Fsystem-status\u002Fcommands","en\u002F5.system-status\u002F1.commands","i-lucide-square-terminal",{"title":249,"path":250,"stem":251,"icon":252},"Logs","\u002Fen\u002Fsystem-status\u002Flogs","en\u002F5.system-status\u002F2.logs","i-lucide-scroll-text",{"title":254,"path":255,"stem":256,"children":257,"page":24},"How Tos","\u002Fen\u002Fhow-tos","en\u002F6.how-tos",[258,263,268,273,277,281,285,290,294,299,304,309],{"title":259,"path":260,"stem":261,"icon":262},"Start and stop a Live stream","\u002Fen\u002Fhow-tos\u002Fstart-stream-via-api","en\u002F6.how-tos\u002F1.start-stream-via-api","i-lucide-terminal",{"title":264,"path":265,"stem":266,"icon":267},"Ingest a YouTube Live broadcast","\u002Fen\u002Fhow-tos\u002Fingest-youtube-live","en\u002F6.how-tos\u002F10.ingest-youtube-live","i-lucide-youtube",{"title":269,"path":270,"stem":271,"icon":272},"Source Synchronized Encoding (SSE) — bit-identical redundancy","\u002Fen\u002Fhow-tos\u002Fsource-synchronized-encoding","en\u002F6.how-tos\u002F11.source-synchronized-encoding","i-lucide-copy-check",{"title":274,"path":275,"stem":276,"icon":34},"Broadcast radio as video","\u002Fen\u002Fhow-tos\u002Fbroadcast-radio-as-video","en\u002F6.how-tos\u002F12.broadcast-radio-as-video",{"title":278,"path":279,"stem":280,"icon":215},"Protect a Live stream with multi-DRM","\u002Fen\u002Fhow-tos\u002Fmulti-drm-destination","en\u002F6.how-tos\u002F2.multi-drm-destination",{"title":282,"path":283,"stem":284,"icon":59},"Schedule a weekly recurring broadcast","\u002Fen\u002Fhow-tos\u002Fweekly-recurring-broadcast","en\u002F6.how-tos\u002F3.weekly-recurring-broadcast",{"title":286,"path":287,"stem":288,"icon":289},"Cut a clip in the Editor and send it to MediaCopilot","\u002Fen\u002Fhow-tos\u002Fexport-recording-to-mediacopilot","en\u002F6.how-tos\u002F4.export-recording-to-mediacopilot","i-lucide-upload-cloud",{"title":291,"path":292,"stem":293,"icon":149},"Apply a logo overlay to a running Live stream","\u002Fen\u002Fhow-tos\u002Fapply-logo-overlay","en\u002F6.how-tos\u002F5.apply-logo-overlay",{"title":295,"path":296,"stem":297,"icon":298},"Black out or replace the program on a running Live stream","\u002Fen\u002Fhow-tos\u002Fbroadcast-blackout","en\u002F6.how-tos\u002F6.broadcast-blackout","i-lucide-square",{"title":300,"path":301,"stem":302,"icon":303},"Switch the source of a running Live stream","\u002Fen\u002Fhow-tos\u002Fruntime-source-switch","en\u002F6.how-tos\u002F7.runtime-source-switch","i-lucide-repeat-2",{"title":305,"path":306,"stem":307,"icon":308},"Toggle a Publishing mid-broadcast","\u002Fen\u002Fhow-tos\u002Ftoggle-publishing-mid-broadcast","en\u002F6.how-tos\u002F8.toggle-publishing-mid-broadcast","i-lucide-toggle-right",{"title":310,"path":311,"stem":312,"icon":34},"Contribute a live signal to MediaCopilot Live","\u002Fen\u002Fhow-tos\u002Fcontribute-to-mediacopilot-live","en\u002F6.how-tos\u002F9.contribute-to-mediacopilot-live",{"title":314,"path":315,"stem":316,"children":317,"page":24},"Installation","\u002Fen\u002Finstallation","en\u002F7.installation",[318,323,328,333,338],{"title":319,"path":320,"stem":321,"icon":322},"Prepare the host","\u002Fen\u002Finstallation\u002Fprepare-host","en\u002F7.installation\u002F1.prepare-host","i-lucide-server-cog",{"title":324,"path":325,"stem":326,"icon":327},"Install C21 Live Control","\u002Fen\u002Finstallation\u002Fcontrol","en\u002F7.installation\u002F2.control","i-lucide-cloud-download",{"title":329,"path":330,"stem":331,"icon":332},"Install C21 Live Encoder","\u002Fen\u002Finstallation\u002Fencoder","en\u002F7.installation\u002F3.encoder","i-lucide-cpu",{"title":334,"path":335,"stem":336,"icon":337},"Updates","\u002Fen\u002Finstallation\u002Fupdates","en\u002F7.installation\u002F4.updates","i-lucide-refresh-cw",{"title":339,"path":340,"stem":341,"icon":206},"Licenses","\u002Fen\u002Finstallation\u002Flicenses","en\u002F7.installation\u002F5.licenses",{"title":343,"path":344,"stem":345,"children":346,"page":24},"Developers","\u002Fen\u002Fdevelopers","en\u002F8.developers",[347,351,369],{"title":41,"path":348,"stem":349,"icon":350},"\u002Fen\u002Fdevelopers\u002Foverview","en\u002F8.developers\u002F1.overview","i-lucide-code",{"title":352,"icon":350,"path":353,"stem":354,"children":355,"page":24},"API","\u002Fen\u002Fdevelopers\u002Fapi","en\u002F8.developers\u002F2.api",[356,359,364],{"title":41,"path":357,"stem":358,"icon":350},"\u002Fen\u002Fdevelopers\u002Fapi\u002Foverview","en\u002F8.developers\u002F2.api\u002F1.overview",{"title":360,"path":361,"stem":362,"icon":363},"Authentication","\u002Fen\u002Fdevelopers\u002Fapi\u002Fauthentication","en\u002F8.developers\u002F2.api\u002F2.authentication","i-lucide-key",{"title":365,"path":366,"stem":367,"icon":368},"Pagination and Errors","\u002Fen\u002Fdevelopers\u002Fapi\u002Fpagination-errors","en\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","\u002Fen\u002Fdevelopers\u002Fmcp-server","en\u002F8.developers\u002F3.mcp-server",[375,378,383],{"title":41,"path":376,"stem":377,"icon":371},"\u002Fen\u002Fdevelopers\u002Fmcp-server\u002Foverview","en\u002F8.developers\u002F3.mcp-server\u002F1.overview",{"title":379,"path":380,"stem":381,"icon":382},"Tools","\u002Fen\u002Fdevelopers\u002Fmcp-server\u002Ftools","en\u002F8.developers\u002F3.mcp-server\u002F2.tools","i-lucide-wrench",{"title":384,"path":385,"stem":386,"icon":387},"Examples","\u002Fen\u002Fdevelopers\u002Fmcp-server\u002Fexamples","en\u002F8.developers\u002F3.mcp-server\u002F3.examples","i-lucide-play",{"title":389,"path":390,"stem":391,"children":392,"page":24},"Resources","\u002Fen\u002Fresources","en\u002F9.resources",[393,398,403],{"title":394,"path":395,"stem":396,"icon":397},"Links","\u002Fen\u002Fresources\u002Flinks","en\u002F9.resources\u002F1.links","i-lucide-link",{"title":399,"path":400,"stem":401,"icon":402},"Release Notes","\u002Fen\u002Fresources\u002Frelease-notes","en\u002F9.resources\u002F2.release-notes","i-lucide-clipboard-list",{"title":404,"path":405,"stem":406,"icon":407},"Glossary","\u002Fen\u002Fresources\u002Fglossary","en\u002F9.resources\u002F3.glossary","i-lucide-book-a",{"id":409,"title":264,"body":410,"description":984,"extension":985,"links":986,"meta":987,"navigation":988,"path":265,"seo":989,"stem":266,"__hash__":990},"docs_en\u002Fen\u002F6.how-tos\u002F10.ingest-youtube-live.md",{"type":411,"value":412,"toc":968},"minimark",[413,421,424,429,437,441,501,505,541,545,551,669,673,705,836,857,861,886,890,924,928,947,951,956,960,964],[414,415,416,420],"p",{},[417,418,419],"strong",{},"Available in:"," UI · API",[414,422,423],{},"Use this how-to to ingest a publicly-available YouTube Live broadcast as the source of a Live stream. The encoder runs a dedicated auxiliary ingest that pulls the broadcast and republishes it onto the encoder's internal bus; from there the transcoding and publishing chain treats it like any other input.",[425,426,428],"h2",{"id":427},"when-to-use-this","When to use this",[414,430,431,432,436],{},"When the source of the Live stream is a public YouTube Live broadcast (a re-distribution scenario, a remote contribution that is being mirrored to YouTube first, a 24\u002F7 reference channel, etc.). For ",[433,434,435],"em",{},"originating"," a broadcast on YouTube from your own encoder, this is not the right flow — use a standard Channel (SDI, SRT, Stream) plus an RTMP Destination pointing at YouTube ingest instead.",[425,438,440],{"id":439},"prerequisites","Prerequisites",[442,443,444,465,487,490],"ul",{},[445,446,447,448,455,456,459,460,464],"li",{},"The ",[449,450,451,454],"a",{"href":340},[417,452,453],{},"C21LiveYouTube"," license"," on the ",[417,457,458],{},"C21 Live Control"," instance. Without it the API rejects the create with ",[461,462,463],"code",{},"APIf807"," and the UI hides the type from the picker.",[445,466,467,468,471,472,475,476,479,480,475,483,486],{},"The target broadcast is ",[417,469,470],{},"currently live and public"," — not unlisted, not private, not member-only. The 11-character Video ID is the value after ",[461,473,474],{},"?v="," in ",[461,477,478],{},"youtube.com\u002Fwatch?v=\u003Cid>"," or after ",[461,481,482],{},"\u002F",[461,484,485],{},"youtu.be\u002F\u003Cid>",".",[445,488,489],{},"The deployment can reach YouTube from its outbound IP. If the deployment lives on a datacenter \u002F cloud \u002F VPS network and the broadcast fails the anti-bot challenge, a cookies file exported from a logged-in YouTube account must be in place on the encoder host (deployment-side detail — see the encoder operator runbook with your Cires21 representative).",[445,491,492,493,496,497,500],{},"A user with ",[417,494,495],{},"Operator"," or ",[417,498,499],{},"System Administrator"," role.",[425,502,504],{"id":503},"constraints","Constraints",[442,506,507,513,531],{},[445,508,447,509,512],{},[417,510,511],{},"Video ID"," is the public consumer-side identifier — not a YouTube Studio RTMP stream key. The two values are unrelated.",[445,514,515,516,519,520,519,523,526,527,530],{},"Only ",[461,517,518],{},"name",", ",[461,521,522],{},"description",[461,524,525],{},"alias"," and ",[461,528,529],{},"settings.youtube_video_id"," are accepted on this Channel type. Multi-audio, subtitles and audio-track configuration are not configurable — they are dropped by the API on save.",[445,532,533,534,537,538,486],{},"The Video ID regex is ",[461,535,536],{},"^[A-Za-z0-9_-]{11}$",". Format violations are rejected with ",[461,539,540],{},"APIf001",[425,542,544],{"id":543},"via-ui","Via UI",[414,546,547,548,486],{},"Navigation: ",[417,549,550],{},"Sources → Add source",[552,553,554,559,574,578,641,644,648,659,663],"steps",{},[555,556,558],"h3",{"id":557},"pick-the-type","Pick the type",[414,560,561,562,565,566,569,570,573],{},"Open ",[433,563,564],{},"Add source"," and set ",[417,567,568],{},"Type"," to ",[433,571,572],{},"Youtube Live",". (The option is visible only if the C21LiveYouTube license is present.)",[555,575,577],{"id":576},"fill-the-editor","Fill the editor",[579,580,581,594],"table",{},[582,583,584],"thead",{},[585,586,587,591],"tr",{},[588,589,590],"th",{},"UI label",[588,592,593],{},"Value",[595,596,597,608,618,628],"tbody",{},[585,598,599,605],{},[600,601,602],"td",{},[417,603,604],{},"Name",[600,606,607],{},"A stable identifier reused across the UI, API and logs.",[585,609,610,615],{},[600,611,612],{},[417,613,614],{},"Description",[600,616,617],{},"Optional free-text description.",[585,619,620,625],{},[600,621,622],{},[417,623,624],{},"Alias",[600,626,627],{},"Optional alias.",[585,629,630,635],{},[600,631,632],{},[417,633,634],{},"YouTube Video ID",[600,636,637,638],{},"The 11-character Video ID. The inline hint reads ",[433,639,640],{},"\"This is the public Video ID of a YouTube Live broadcast — not a stream key from YouTube Studio.\"",[414,642,643],{},"The multi-audio, subtitle and audio-track sections are hidden for this Channel type. Save.",[555,645,647],{"id":646},"bind-to-a-live-stream","Bind to a Live stream",[414,649,650,651,654,655,658],{},"Open the target Live stream in the ",[449,652,653],{"href":37},"Live streams editor"," and pick this Channel as the ",[417,656,657],{},"Source",". Save.",[555,660,662],{"id":661},"start","Start",[414,664,665,666,668],{},"Start the Live stream from ",[449,667,31],{"href":32}," or the Live stream detail. The auxiliary ingest container comes up, pulls the broadcast and republishes it onto the internal bus; the broadcast's Channel entrypoint turns green on the on-air row when frames start flowing.",[425,670,672],{"id":671},"via-api","Via API",[579,674,675,688],{},[582,676,677],{},[585,678,679,682,685],{},[588,680,681],{},"Action",[588,683,684],{},"Method + path",[588,686,687],{},"operationId",[595,689,690],{},[585,691,692,695,700],{},[600,693,694],{},"Create the Channel",[600,696,697],{},[461,698,699],{},"POST \u002Fc21apiv2\u002Fchannels",[600,701,702],{},[461,703,704],{},"addChannel",[706,707,712],"pre",{"className":708,"code":709,"language":710,"meta":711,"style":711},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Fchannels\" \\\n  -H \"Authorization: Bearer \u003CYOUR_API_TOKEN>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"YT Lofi 24\u002F7\",\n    \"alias\": \"yt-lofi\",\n    \"description\": \"Reference music feed\",\n    \"type\": \"Youtube Live\",\n    \"settings\": {\n      \"youtube_video_id\": \"jfKfPfyJRdk\"\n    }\n  }'\n","bash","",[461,713,714,744,759,773,785,791,797,803,809,815,821,827],{"__ignoreMap":711},[715,716,719,723,727,730,734,737,740],"span",{"class":717,"line":718},"line",1,[715,720,722],{"class":721},"sBMFI","curl",[715,724,726],{"class":725},"sfazB"," -X",[715,728,729],{"class":725}," POST",[715,731,733],{"class":732},"sMK4o"," \"",[715,735,736],{"class":725},"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Fchannels",[715,738,739],{"class":732},"\"",[715,741,743],{"class":742},"sTEyZ"," \\\n",[715,745,747,750,752,755,757],{"class":717,"line":746},2,[715,748,749],{"class":725},"  -H",[715,751,733],{"class":732},[715,753,754],{"class":725},"Authorization: Bearer \u003CYOUR_API_TOKEN>",[715,756,739],{"class":732},[715,758,743],{"class":742},[715,760,762,764,766,769,771],{"class":717,"line":761},3,[715,763,749],{"class":725},[715,765,733],{"class":732},[715,767,768],{"class":725},"Content-Type: application\u002Fjson",[715,770,739],{"class":732},[715,772,743],{"class":742},[715,774,776,779,782],{"class":717,"line":775},4,[715,777,778],{"class":725},"  -d",[715,780,781],{"class":732}," '",[715,783,784],{"class":725},"{\n",[715,786,788],{"class":717,"line":787},5,[715,789,790],{"class":725},"    \"name\": \"YT Lofi 24\u002F7\",\n",[715,792,794],{"class":717,"line":793},6,[715,795,796],{"class":725},"    \"alias\": \"yt-lofi\",\n",[715,798,800],{"class":717,"line":799},7,[715,801,802],{"class":725},"    \"description\": \"Reference music feed\",\n",[715,804,806],{"class":717,"line":805},8,[715,807,808],{"class":725},"    \"type\": \"Youtube Live\",\n",[715,810,812],{"class":717,"line":811},9,[715,813,814],{"class":725},"    \"settings\": {\n",[715,816,818],{"class":717,"line":817},10,[715,819,820],{"class":725},"      \"youtube_video_id\": \"jfKfPfyJRdk\"\n",[715,822,824],{"class":717,"line":823},11,[715,825,826],{"class":725},"    }\n",[715,828,830,833],{"class":717,"line":829},12,[715,831,832],{"class":725},"  }",[715,834,835],{"class":732},"'\n",[414,837,838,839,842,843,846,847,850,851,854,855,486],{},"The server discards every other settings key. The persisted blob is exactly ",[461,840,841],{},"{youtube_video_id: \u003Cid>}",". Once saved, bind the Channel to a Live stream via ",[461,844,845],{},"PUT \u002Fc21apiv2\u002Flivestreams\u002F{id}"," and start it with ",[461,848,849],{},"POST \u002Fc21apiv2\u002Flivestreams\u002F{id}\u002Fstart"," (operationId ",[461,852,853],{},"startLivestream","). See ",[449,856,259],{"href":260},[425,858,860],{"id":859},"verify","Verify",[442,862,863,873,879],{},[445,864,865,866,868,869,872],{},"The Channel appears in ",[417,867,94],{}," with its Video ID and the derived Watch URL (",[461,870,871],{},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=\u003Cid>",") on the detail panel.",[445,874,875,876,878],{},"After binding to a Live stream and starting, the Live stream's row on ",[449,877,31],{"href":32}," reports a healthy Channel entrypoint and starts producing output to the bound Destinations.",[445,880,881,882,885],{},"The broadcast's events log shows a line confirming the YouTube Live input was added (the encoder logs ",[461,883,884],{},"Adding Youtube Live input with Video ID '\u003Cid>'"," on the input bring-up).",[425,887,889],{"id":888},"troubleshooting","Troubleshooting",[442,891,892,902,912,918],{},[445,893,894,899,900,486],{},[417,895,896,898],{},[461,897,463],{}," on save"," — the C21LiveYouTube license is missing or expired. The Channel type is still in the API contract but mutations are rejected. Verify the license under ",[449,901,339],{"href":340},[445,903,904,908,909,911],{},[417,905,906,898],{},[461,907,540],{}," — the Video ID does not match ",[461,910,536],{},". Check the length and the charset; trim leading or trailing whitespace.",[445,913,914,917],{},[417,915,916],{},"Channel comes up but the broadcast never produces frames"," — the broadcast is no longer live, was switched to unlisted or private, or YouTube returned the anti-bot challenge on the deployment's IP. If the broadcast is confirmed live and reachable from a regular browser, the ingest is most likely blocked at the network layer — coordinate with your Cires21 representative to deploy a cookies file on the encoder.",[445,919,920,923],{},[417,921,922],{},"Live stream restarts after ~30 s of running without producing output"," — the encoder version pre-dates the watchdog fix for the YouTube Live container. Upgrade the encoder to the current release.",[425,925,927],{"id":926},"cross-links","Cross-links",[442,929,930,937,942],{},[445,931,932,936],{},[449,933,935],{"href":934},"\u002Fen\u002Fconfiguration\u002Fsources#youtube-live","Sources → Youtube Live"," — channel-type reference.",[445,938,939,941],{},[449,940,339],{"href":340}," — the C21LiveYouTube license model.",[445,943,944,946],{},[449,945,259],{"href":260}," — the start \u002F stop lifecycle once the Channel is bound.",[425,948,950],{"id":949},"faq","FAQ",[952,953,955],"collapsible",{"name":954},"Can I use a private or unlisted broadcast as the source?","No. The ingest reads the broadcast through its public consumer URL — it must be public (and live) at the time the Live stream runs. Unlisted broadcasts, private broadcasts and member-only broadcasts are not accessible to the ingest.",[952,957,959],{"name":958},"Does the Video ID rotate when the broadcaster restarts the stream?","The Video ID is tied to a YouTube broadcast object, not to a session. Different broadcaster setups behave differently — some keep the same Video ID across restarts of the same broadcast, others spin up a new one each session. When the Video ID changes, edit the Channel on the Live Control side to point at the new id and restart the Live stream.",[952,961,963],{"name":962},"Why does my deployment fail the YouTube anti-bot challenge?","The challenge is primarily triggered by IP reputation. Datacenter \u002F cloud \u002F VPS IPs are routinely challenged; commercial ISP \u002F residential IPs typically pass. When the deployment IP is flagged, a cookies file exported from a logged-in YouTube account can be deployed on the encoder host as a workaround. Coordinate the rollout and the file rotation cadence with your Cires21 representative.",[965,966,967],"style",{},"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":711,"searchDepth":746,"depth":746,"links":969},[970,971,972,973,979,980,981,982,983],{"id":427,"depth":746,"text":428},{"id":439,"depth":746,"text":440},{"id":503,"depth":746,"text":504},{"id":543,"depth":746,"text":544,"children":974},[975,976,977,978],{"id":557,"depth":761,"text":558},{"id":576,"depth":761,"text":577},{"id":646,"depth":761,"text":647},{"id":661,"depth":761,"text":662},{"id":671,"depth":746,"text":672},{"id":859,"depth":746,"text":860},{"id":888,"depth":746,"text":889},{"id":926,"depth":746,"text":927},{"id":949,"depth":746,"text":950},"Bring a public YouTube Live broadcast on air as the source of a Live stream.","md",null,{},{"icon":267},{"title":264,"description":984},"KJ0U0xYgNlOtEt0tu0YG7pagvONDAdh5DGKzxWjDhMc",[992,994],{"title":259,"path":260,"stem":261,"description":993,"icon":262,"children":-1},"Bring a configured Live stream on air and stop it again — from the UI, from the API, or both.",{"title":269,"path":270,"stem":271,"description":995,"icon":272,"children":-1},"Run two encoders against the same source so a packager or CDN can fail one entrypoint over to the other on a per-segment basis without manifest discontinuity.",1782916484635]