[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"navigation_docs_en":3,"-en-how-tos-runtime-source-switch":408,"-en-how-tos-runtime-source-switch-surround":949},[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":300,"body":410,"description":942,"extension":943,"links":944,"meta":945,"navigation":946,"path":301,"seo":947,"stem":302,"__hash__":948},"docs_en\u002Fen\u002F6.how-tos\u002F7.runtime-source-switch.md",{"type":411,"value":412,"toc":928},"minimark",[413,421,429,434,446,450,475,480,487,586,607,611,618,656,660,697,780,783,807,824,829,876,882,886,903,907,912,916,924],[414,415,416,420],"p",{},[417,418,419],"strong",{},"Available in:"," UI · API",[414,422,423,424,428],{},"Use this how-to when the Channel feeding a running Live stream must be swapped — for example to roll from a studio camera to a remote contribution, or to recover from a stuck input by pointing at a known-good fallback Channel. The runtime operation is ",[425,426,427],"code",{},"runtimeApplySourceSwitch","; it persists the new input and the encoder reconciles within a few seconds.",[430,431,433],"h2",{"id":432},"when-to-use-this","When to use this",[414,435,436,437,441,442,445],{},"When the input Channel must change while the broadcast remains on air, without interrupting the Destinations. Cross-type swaps (for example ",[438,439,440],"em",{},"SRT"," → ",[438,443,444],{},"Youtube Live",") are not supported online — for those, stop the Live stream, edit the bound Channel and start it again.",[430,447,449],{"id":448},"prerequisites","Prerequisites",[451,452,453,461,472],"ul",{},[454,455,456,457,460],"li",{},"A Live stream that is currently running (",[425,458,459],{},"LiveStream.status = 1",").",[454,462,463,464,467,468,471],{},"A user with the ",[417,465,466],{},"Operator"," or ",[417,469,470],{},"System Administrator"," role.",[454,473,474],{},"A destination Channel that satisfies the eligibility rules below.",[476,477,479],"h3",{"id":478},"eligibility-rules","Eligibility rules",[414,481,482,483,486],{},"The backend enforces every rule with ",[425,484,485],{},"HTTP 422",". The UI mirrors them so the tab is disabled when a switch is not possible.",[488,489,490,504,539,549],"ol",{},[454,491,492,495,496,499,500,503],{},[417,493,494],{},"The Live stream is running."," ",[425,497,498],{},"LiveStream.status"," must be ",[425,501,502],{},"1"," (Live).",[454,505,506,509,510,513,514,517,518,520,521,520,524,520,527,520,530,520,533,520,536,538],{},[417,507,508],{},"The destination Channel is reachable from the encoder."," A Channel pinned to a different encoder Device fails with ",[425,511,512],{},"APIf526",". Virtual ",[425,515,516],{},"Channel.type"," values — ",[425,519,440],{},", ",[425,522,523],{},"Stream",[425,525,526],{},"RTMP-Push",[425,528,529],{},"SRT Cloud",[425,531,532],{},"UDP-R Cloud",[425,534,535],{},"NDI",[425,537,444],{}," — have no encoder pin and are reachable from any encoder.",[454,540,541,544,545,548],{},[417,542,543],{},"The destination Channel has the same Channel type as the current source."," Cross-type swaps fail with ",[425,546,547],{},"APIf527",".",[454,550,551,554,555,557,558,520,560,520,562,520,564,520,566,520,568,520,570,572,573,520,576,520,579,582,583,548],{},[417,552,553],{},"The current source type is one of the online-switch-supported types."," Supported ",[425,556,516],{}," values as the current source: ",[425,559,440],{},[425,561,523],{},[425,563,526],{},[425,565,529],{},[425,567,532],{},[425,569,535],{},[425,571,444],{},". Unsupported: ",[425,574,575],{},"SDI",[425,577,578],{},"AES\u002FEBU",[425,580,581],{},"File"," — a switch attempt while one of these is the live source fails with ",[425,584,585],{},"APIf528",[414,587,588,589,520,591,520,593,595,596,599,600,603,604,606],{},"The UI groups the three cloud-push variants (",[425,590,526],{},[425,592,529],{},[425,594,532],{},") under the umbrella label ",[417,597,598],{},"Stream – C21 Live Cloud"," in the Channel type picker; the eligibility checks above resolve against the underlying enum values. See ",[601,602,94],"a",{"href":95}," for the full ",[425,605,516],{}," enum.",[430,608,610],{"id":609},"via-ui","Via UI",[414,612,613,614,617],{},"Navigation: ",[417,615,616],{},"On air → \u003Crow> → Source switch tab"," in the runtime panel.",[619,620,621,625,631,635,646,649,653],"steps",{},[476,622,624],{"id":623},"open-the-runtime-panel","Open the runtime panel",[414,626,627,628,630],{},"Click the row of the running Live stream on ",[601,629,31],{"href":32}," to expand its runtime panel.",[476,632,634],{"id":633},"switch-to-the-source-switch-tab","Switch to the Source switch tab",[414,636,637,638,641,642,645],{},"Click the ",[438,639,640],{},"Source switch"," icon (",[425,643,644],{},"export.svg",") in the runtime cluster. The panel filters the list of alternatives to Channels that are eligible per the rules above: same encoder, same Channel type, enabled, not the current Channel.",[414,647,648],{},"If no alternatives are eligible, the panel renders an explanation message instead of the picker.",[476,650,652],{"id":651},"pick-the-new-channel-and-submit","Pick the new Channel and submit",[414,654,655],{},"Pick the target Channel from the list and submit. The new input lands on the output within a few seconds.",[430,657,659],{"id":658},"via-api","Via API",[661,662,663,679],"table",{},[664,665,666],"thead",{},[667,668,669,673,676],"tr",{},[670,671,672],"th",{},"Action",[670,674,675],{},"Method + path",[670,677,678],{},"operationId",[680,681,682],"tbody",{},[667,683,684,688,693],{},[685,686,687],"td",{},"Switch the source",[685,689,690],{},[425,691,692],{},"POST \u002Fc21apiv2\u002Flivestreams\u002F{id}\u002FruntimeOptions\u002FsourceSwitch",[685,694,695],{},[425,696,427],{},[698,699,704],"pre",{"className":700,"code":701,"language":702,"meta":703,"style":703},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Flivestreams\u002F\u003ClivestreamId>\u002FruntimeOptions\u002FsourceSwitch\" \\\n  -H \"Authorization: Bearer \u003CYOUR_API_TOKEN>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{ \"channelId\": \u003Ctarget Channel id> }'\n","bash","",[425,705,706,736,751,765],{"__ignoreMap":703},[707,708,711,715,719,722,726,729,732],"span",{"class":709,"line":710},"line",1,[707,712,714],{"class":713},"sBMFI","curl",[707,716,718],{"class":717},"sfazB"," -X",[707,720,721],{"class":717}," POST",[707,723,725],{"class":724},"sMK4o"," \"",[707,727,728],{"class":717},"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Flivestreams\u002F\u003ClivestreamId>\u002FruntimeOptions\u002FsourceSwitch",[707,730,731],{"class":724},"\"",[707,733,735],{"class":734},"sTEyZ"," \\\n",[707,737,739,742,744,747,749],{"class":709,"line":738},2,[707,740,741],{"class":717},"  -H",[707,743,725],{"class":724},[707,745,746],{"class":717},"Authorization: Bearer \u003CYOUR_API_TOKEN>",[707,748,731],{"class":724},[707,750,735],{"class":734},[707,752,754,756,758,761,763],{"class":709,"line":753},3,[707,755,741],{"class":717},[707,757,725],{"class":724},[707,759,760],{"class":717},"Content-Type: application\u002Fjson",[707,762,731],{"class":724},[707,764,735],{"class":734},[707,766,768,771,774,777],{"class":709,"line":767},4,[707,769,770],{"class":717},"  -d",[707,772,773],{"class":724}," '",[707,775,776],{"class":717},"{ \"channelId\": \u003Ctarget Channel id> }",[707,778,779],{"class":724},"'\n",[414,781,782],{},"Body:",[661,784,785,795],{},[664,786,787],{},[667,788,789,792],{},[670,790,791],{},"Field",[670,793,794],{},"Notes",[680,796,797],{},[667,798,799,804],{},[685,800,801],{},[425,802,803],{},"channelId",[685,805,806],{},"Integer id of the destination Channel. Must reference an existing Channel that satisfies the eligibility rules above.",[414,808,809,495,812,815,816,819,820,823],{},[417,810,811],{},"Response data.",[425,813,814],{},"{ channelId, applied_at, changed, warning? }",". ",[425,817,818],{},"changed: false"," means the broadcast was already pointing at this Channel (idempotent skip). ",[425,821,822],{},"warning"," is present only when the encoder did not acknowledge in time; the state is persisted and the encoder reconciles on its own.",[414,825,826],{},[417,827,828],{},"Error codes (HTTP 422):",[661,830,831,841],{},[664,832,833],{},[667,834,835,838],{},[670,836,837],{},"Code",[670,839,840],{},"Cause",[680,842,843,852,861],{},[667,844,845,849],{},[685,846,847],{},[425,848,512],{},[685,850,851],{},"Destination Channel is on a different encoder Device.",[667,853,854,858],{},[685,855,856],{},[425,857,547],{},[685,859,860],{},"Destination Channel has a different Channel type than the current source.",[667,862,863,867],{},[685,864,865],{},[425,866,585],{},[685,868,869,870,520,872,467,874,460],{},"Current source type is not supported for online source switching (",[425,871,575],{},[425,873,578],{},[425,875,581],{},[414,877,878,881],{},[417,879,880],{},"No effect on the configured source."," The switch only writes the runtime mirror of the source. A subsequent stop and start reverts to the source configured on the Live stream — to keep the new Channel after a restart, edit the Live stream's bound Channel as well.",[430,883,885],{"id":884},"verify","Verify",[451,887,888,894,900],{},[454,889,890,893],{},[425,891,892],{},"GET \u002Fc21apiv2\u002Flivestreams\u002F{livestreamId}"," returns the updated Source (Channel) on the Live stream's options panel.",[454,895,896,897,899],{},"The Channel entrypoint on the row in ",[601,898,31],{"href":32}," reflects the new bound Channel.",[454,901,902],{},"The output stream switches over within a few seconds.",[430,904,906],{"id":905},"faq","FAQ",[908,909,911],"collapsible",{"name":910},"Can I switch to a Channel hosted by a different Device?","No. The target Channel must live on the same encoder Device as the running broadcast (virtual Channels are reachable from any Device). Switching across Devices requires the Live stream to be stopped, re-bound and restarted.",[908,913,915],{"name":914},"What happens to the bound Encoding and Destinations?","They stay attached. Only the input Channel changes; the broadcast continues producing the same outputs to the same destinations.",[908,917,919,920,923],{"name":918},"What if the target Channel is not eligible?","The API returns ",[425,921,922],{},"422"," with the specific error code, and the broadcast keeps its current source. Stop the Live stream, re-bind it to the new Channel and start it again.",[925,926,927],"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":703,"searchDepth":738,"depth":738,"links":929},[930,931,934,939,940,941],{"id":432,"depth":738,"text":433},{"id":448,"depth":738,"text":449,"children":932},[933],{"id":478,"depth":753,"text":479},{"id":609,"depth":738,"text":610,"children":935},[936,937,938],{"id":623,"depth":753,"text":624},{"id":633,"depth":753,"text":634},{"id":651,"depth":753,"text":652},{"id":658,"depth":738,"text":659},{"id":884,"depth":738,"text":885},{"id":905,"depth":738,"text":906},"Point a running Live stream at a different Channel without stopping the broadcast.","md",null,{},{"icon":303},{"title":300,"description":942},"TZuorEmU4V3LuBtIA0Gic9-loaZvU22vDrkE8Drbwe8",[950,952],{"title":295,"path":296,"stem":297,"description":951,"icon":298,"children":-1},"Cut to a black frame, replace the output with a media file, or return to the live input — without stopping the broadcast.",{"title":305,"path":306,"stem":307,"description":953,"icon":308,"children":-1},"Enable or disable a Publishing on a running Live stream without restarting the broadcast.",1782916485892]