[{"data":1,"prerenderedAt":902},["ShallowReactive",2],{"navigation_docs_en":3,"-en-how-tos-source-synchronized-encoding":408,"-en-how-tos-source-synchronized-encoding-surround":897},[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":269,"body":410,"description":890,"extension":891,"links":892,"meta":893,"navigation":894,"path":270,"seo":895,"stem":271,"__hash__":896},"docs_en\u002Fen\u002F6.how-tos\u002F11.source-synchronized-encoding.md",{"type":411,"value":412,"toc":872},"minimark",[413,421,428,433,440,444,447,450,499,503,553,557,579,583,629,633,636,744,747,750,754,794,798,820,824,843,847,852,856,864,868],[414,415,416,420],"p",{},[417,418,419],"strong",{},"Available in:"," UI · API",[414,422,423,424,427],{},"Use this how-to to set up a pair of encoders that produce ",[417,425,426],{},"bit-identical output"," from the same source. A downstream origin or CDN can then switch from one encoder's entrypoint to the other on a per-segment basis without inserting a discontinuity tag in the manifest, so viewers do not rebuffer when an encoder fails.",[429,430,432],"h2",{"id":431},"when-to-use-this","When to use this",[414,434,435,436,439],{},"Premium live where a single encoder failure must not produce a visible glitch on the viewer side — sports, news, premium VOD-window broadcasts, advertising-revenue-critical streams. For standard live with operator-driven failover, the runtime per-Destination toggle on ",[437,438,31],"a",{"href":32}," is usually enough.",[429,441,443],{"id":442},"how-it-works","How it works",[414,445,446],{},"Two encoders ingest the same source and produce the same packaged output, segment by segment. The packaging stack waits for the active transcoding output before starting (avoiding stale data), strips per-segment byte-range indexes that would otherwise differ between the two encoders, and aligns segment boundaries to the keyframe interval so the two segment sets are interchangeable. An origin that subscribes to both entrypoints can deliver either one to the player; if one drops, the next segment is served from the other and the player never sees a discontinuity.",[414,448,449],{},"SSE supports two input modes:",[451,452,453,469],"table",{},[454,455,456],"thead",{},[457,458,459,463,466],"tr",{},[460,461,462],"th",{},"Mode",[460,464,465],{},"Time source for synchronisation",[460,467,468],{},"Network requirement",[470,471,472,486],"tbody",{},[457,473,474,480,483],{},[475,476,477],"td",{},[417,478,479],{},"SDI",[475,481,482],{},"RP188 timecodes embedded in the SDI signal.",[475,484,485],{},"None beyond the SDI feed itself.",[457,487,488,493,496],{},[475,489,490],{},[417,491,492],{},"Stream",[475,494,495],{},"NTP-synchronised host clocks.",[475,497,498],{},"Both encoder hosts must be NTP-synchronised. Both must receive the same UDP \u002F multicast stream without packet re-stamping.",[429,500,502],{"id":501},"prerequisites","Prerequisites",[504,505,506,517,532,539,546],"ul",{},[507,508,509,512,513,516],"li",{},[417,510,511],{},"Two Devices"," of the same kind (both GPU-based, or both CPU-based) reachable from the ",[417,514,515],{},"C21 Live Control"," instance.",[507,518,519,520,523,524],{},"A ",[417,521,522],{},"shared source"," that both encoders can ingest:\n",[504,525,526,529],{},[507,527,528],{},"For SDI mode: both encoder hosts have access to the same SDI feed (either two parallel SDI runs from the same source, or an SDI distribution amplifier).",[507,530,531],{},"For Stream mode: both encoder hosts can pull the same UDP \u002F multicast stream, and the upstream sender does not re-stamp packets.",[507,533,534,535,538],{},"For Stream mode: ",[417,536,537],{},"NTP synchronisation"," on both encoder hosts. The recording offset alignment depends on it.",[507,540,541,542,545],{},"An ",[417,543,544],{},"Encoding"," with a stable keyframe interval. SSE drives segment boundaries from this value — changing it after deployment shifts the alignment.",[507,547,548,549,552],{},"An origin or CDN downstream that ",[417,550,551],{},"supports per-segment failover"," between two entrypoints (CMAF or DASH-IF compliant origins; consult your downstream documentation).",[429,554,556],{"id":555},"constraints","Constraints",[504,558,559,565,572],{},[507,560,561,564],{},[417,562,563],{},"SCTE markers and timecodes must propagate identically"," to both encoders. Any divergence in the cue points breaks segment alignment.",[507,566,567,568,571],{},"On Stream mode the upstream sender must ",[417,569,570],{},"not re-stamp packets",". A relay that rewrites timestamps defeats the redundancy.",[507,573,574,575,578],{},"Both encoders must run the ",[417,576,577],{},"same encoding profile"," — codec, bitrate, resolution, keyframe interval, HDR mode. The SSE pairing is per-encoding.",[429,580,582],{"id":581},"via-ui","Via UI",[584,585,586,591,597,601,604,608,615,619,622,626],"steps",{},[587,588,590],"h3",{"id":589},"configure-two-devices","Configure two Devices",[414,592,593,594,596],{},"Register both encoder Devices under ",[417,595,80],{},". Make sure they share the same type and hardware class.",[587,598,600],{"id":599},"create-the-shared-channel-and-encoding","Create the shared Channel and Encoding",[414,602,603],{},"Create a Channel of the matching input type (SDI for SDI mode, Stream for Stream mode) — both encoder hosts must be able to ingest it. Create an Encoding with the codec, bitrate, resolution and keyframe interval that the pair will produce.",[587,605,607],{"id":606},"enable-sse-on-the-channel","Enable SSE on the Channel",[414,609,610,611,614],{},"Open the Channel editor and toggle ",[417,612,613],{},"Sync Source Encoding"," on. This flag tells the encoder side that any broadcast on this Channel must run in SSE mode.",[587,616,618],{"id":617},"bind-the-live-stream-on-both-encoders","Bind the Live stream on both encoders",[414,620,621],{},"Create two Live streams, both pointing at the same Channel, same Encoding and same Destinations, each running on one of the two Devices.",[587,623,625],{"id":624},"start-both-live-streams","Start both Live streams",[414,627,628],{},"Start the two Live streams together. The two encoders begin producing the same packaged output; the downstream origin should report both entrypoints as healthy.",[429,630,632],{"id":631},"via-api","Via API",[414,634,635],{},"The SSE flag lives on the Channel:",[637,638,643],"pre",{"className":639,"code":640,"language":641,"meta":642,"style":642},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X PUT \"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Fchannels\u002F\u003CchannelId>\" \\\n  -H \"Authorization: Bearer \u003CYOUR_API_TOKEN>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"settings\": {\n      \"sync_source_encoding\": true\n    }\n  }'\n","bash","",[644,645,646,676,691,705,717,723,729,735],"code",{"__ignoreMap":642},[647,648,651,655,659,662,666,669,672],"span",{"class":649,"line":650},"line",1,[647,652,654],{"class":653},"sBMFI","curl",[647,656,658],{"class":657},"sfazB"," -X",[647,660,661],{"class":657}," PUT",[647,663,665],{"class":664},"sMK4o"," \"",[647,667,668],{"class":657},"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Fchannels\u002F\u003CchannelId>",[647,670,671],{"class":664},"\"",[647,673,675],{"class":674},"sTEyZ"," \\\n",[647,677,679,682,684,687,689],{"class":649,"line":678},2,[647,680,681],{"class":657},"  -H",[647,683,665],{"class":664},[647,685,686],{"class":657},"Authorization: Bearer \u003CYOUR_API_TOKEN>",[647,688,671],{"class":664},[647,690,675],{"class":674},[647,692,694,696,698,701,703],{"class":649,"line":693},3,[647,695,681],{"class":657},[647,697,665],{"class":664},[647,699,700],{"class":657},"Content-Type: application\u002Fjson",[647,702,671],{"class":664},[647,704,675],{"class":674},[647,706,708,711,714],{"class":649,"line":707},4,[647,709,710],{"class":657},"  -d",[647,712,713],{"class":664}," '",[647,715,716],{"class":657},"{\n",[647,718,720],{"class":649,"line":719},5,[647,721,722],{"class":657},"    \"settings\": {\n",[647,724,726],{"class":649,"line":725},6,[647,727,728],{"class":657},"      \"sync_source_encoding\": true\n",[647,730,732],{"class":649,"line":731},7,[647,733,734],{"class":657},"    }\n",[647,736,738,741],{"class":649,"line":737},8,[647,739,740],{"class":657},"  }",[647,742,743],{"class":664},"'\n",[414,745,746],{},"When the per-Channel value is not defined, a deployment-wide fallback constant can enable SSE globally (install-side detail — coordinate with your Cires21 representative).",[414,748,749],{},"Once the flag is on, the two Live streams that ingest this Channel through different encoder Devices run synchronously by default.",[429,751,753],{"id":752},"packaging-notes","Packaging notes",[504,755,756,763,770,781,784,791],{},[507,757,758,759,762],{},"Segment duration is driven by the Encoding's ",[417,760,761],{},"keyframe interval",". Where segment concatenation is configured, multiple keyframe-aligned segments are grouped into the final delivered segment.",[507,764,765,766,769],{},"HLS master playlists omit the ",[644,767,768],{},"EXT-X-START"," tag — required for FFmpeg-based player compatibility.",[507,771,772,773,776,777,780],{},"HLS playlists carry an ",[644,774,775],{},"EXT-X-PROGRAM-DATE-TIME"," tag on ",[417,778,779],{},"every segment",", anchored to wall-clock time and derived from the source's segmenter index.",[507,782,783],{},"Because that per-segment date-time is identical across every encoder ingesting the same Channel, a downstream origin (AWS MediaPackage v2, for example) anchors all renditions to the same instant.",[507,785,786,787,790],{},"DASH MPDs set ",[644,788,789],{},"suggestedPresentationDelay"," so the player stays a deterministic number of segments behind the live edge.",[507,792,793],{},"For CMAF \u002F fMP4 outputs, per-segment byte-range indexes are stripped so the two encoder streams remain byte-comparable.",[429,795,797],{"id":796},"verify","Verify",[504,799,800,807,810,817],{},[507,801,802,803,806],{},"Both encoders publish segments with ",[417,804,805],{},"matching timestamps"," at the same nominal time.",[507,808,809],{},"For CMAF \u002F fMP4 outputs, the segment bytes from one encoder match the segment bytes from the other (compare a sample manually if your origin doesn't expose this directly).",[507,811,812,813,816],{},"The origin's failover log records a per-segment swap on encoder failure with ",[417,814,815],{},"no manifest discontinuity"," seen by the player.",[507,818,819],{},"During a controlled stop of one encoder, the downstream player does not rebuffer.",[429,821,823],{"id":822},"cross-links","Cross-links",[504,825,826,833,838],{},[507,827,828,832],{},[437,829,831],{"href":830},"\u002Fen\u002Fconfiguration\u002Fencodings#color-hdr","Encodings → Color & HDR"," — the keyframe interval that drives segment boundaries lives on the Encoding profile.",[507,834,835,837],{},[437,836,80],{"href":81}," — register the two encoder Devices that will form the pair.",[507,839,840,842],{},[437,841,31],{"href":32}," — per-Destination runtime toggle for the simpler operator-driven failover case.",[429,844,846],{"id":845},"faq","FAQ",[848,849,851],"collapsible",{"name":850},"Do the two encoders have to be on the same model of hardware?","They have to run the same encoding pipeline (codec, bitrate, resolution, keyframe interval, HDR mode), but they do not strictly have to be on identical hardware models. In practice, deployments pair like with like (two NVENC, two NETINT, two CPU-only) because the per-encoder timing characteristics affect how often the byte-level alignment holds.",[848,853,855],{"name":854},"Does SSE work across data centres?","Yes for Stream mode, provided both encoder hosts can pull the same UDP \u002F multicast stream and both are NTP-synchronised. The two encoders do not need to live on the same LAN. SDI mode is by definition local because the SDI feed is local.",[848,857,859,860,863],{"name":858},"Does SSE replace the runtime per-Destination toggle?","No — they target different failure shapes. SSE protects against an encoder-side fault; the per-Destination runtime toggle (",[644,861,862],{},"runtimeTogglePublishings",") protects against a destination-side fault. Many deployments use both.",[848,865,867],{"name":866},"Can the two encoders run on different Encoding groups?","No. The encodings must be the same on both sides of the pair — the byte-level alignment depends on identical encoding parameters. Use a single Encoding (or Encoding group) and bind it to both Live streams.",[869,870,871],"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":642,"searchDepth":678,"depth":678,"links":873},[874,875,876,877,878,885,886,887,888,889],{"id":431,"depth":678,"text":432},{"id":442,"depth":678,"text":443},{"id":501,"depth":678,"text":502},{"id":555,"depth":678,"text":556},{"id":581,"depth":678,"text":582,"children":879},[880,881,882,883,884],{"id":589,"depth":693,"text":590},{"id":599,"depth":693,"text":600},{"id":606,"depth":693,"text":607},{"id":617,"depth":693,"text":618},{"id":624,"depth":693,"text":625},{"id":631,"depth":678,"text":632},{"id":752,"depth":678,"text":753},{"id":796,"depth":678,"text":797},{"id":822,"depth":678,"text":823},{"id":845,"depth":678,"text":846},"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.","md",null,{},{"icon":272},{"title":269,"description":890},"FpZBQh7ppJwXZ10Rc4vnItmPRdlq6E4ZK3fswTq2glw",[898,900],{"title":264,"path":265,"stem":266,"description":899,"icon":267,"children":-1},"Bring a public YouTube Live broadcast on air as the source of a Live stream.",{"title":274,"path":275,"stem":276,"description":901,"icon":34,"children":-1},"Run a radio Channel as a Live stream where the visual track is a programmable still or short clip, the audio is always the live feed, and the visual can be swapped without interrupting the audio.",1782916484673]