[{"data":1,"prerenderedAt":1025},["ShallowReactive",2],{"navigation_docs_en":3,"-en-how-tos-real-time-streaming":422,"-en-how-tos-real-time-streaming-surround":1020},[4,25,83,133,247,262,327,356,402],{"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,69],{"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,"children":59,"page":24},"Scheduler","\u002Fen\u002Flive-production\u002Fscheduler","en\u002F2.live-production\u002F3.scheduler",[60,64],{"title":41,"path":61,"stem":62,"icon":63},"\u002Fen\u002Flive-production\u002Fscheduler\u002Foverview","en\u002F2.live-production\u002F3.scheduler\u002F1.overview","i-lucide-calendar-clock",{"title":65,"path":66,"stem":67,"icon":68},"Planned actions","\u002Fen\u002Flive-production\u002Fscheduler\u002Fplanned-actions","en\u002F2.live-production\u002F3.scheduler\u002F2.planned-actions","i-lucide-alarm-clock",{"title":70,"path":71,"stem":72,"children":73,"page":24},"Recordings","\u002Fen\u002Flive-production\u002Frecordings","en\u002F2.live-production\u002F4.recordings",[74,78],{"title":41,"path":75,"stem":76,"icon":77},"\u002Fen\u002Flive-production\u002Frecordings\u002Foverview","en\u002F2.live-production\u002F4.recordings\u002F1.overview","i-lucide-circle-dot",{"title":79,"path":80,"stem":81,"icon":82},"Editor","\u002Fen\u002Flive-production\u002Frecordings\u002Feditor","en\u002F2.live-production\u002F4.recordings\u002F2.editor","i-lucide-scissors",{"title":84,"path":85,"stem":86,"children":87,"page":24},"Configuration","\u002Fen\u002Fconfiguration","en\u002F3.configuration",[88,102,107,120],{"title":89,"path":90,"stem":91,"children":92,"page":24},"Devices","\u002Fen\u002Fconfiguration\u002Fdevices","en\u002F3.configuration\u002F1.devices",[93,97],{"title":89,"path":94,"stem":95,"icon":96},"\u002Fen\u002Fconfiguration\u002Fdevices\u002Fdevices","en\u002F3.configuration\u002F1.devices\u002F1.devices","i-lucide-server",{"title":98,"path":99,"stem":100,"icon":101},"Groups","\u002Fen\u002Fconfiguration\u002Fdevices\u002Fgroups","en\u002F3.configuration\u002F1.devices\u002F2.groups","i-lucide-network",{"title":103,"path":104,"stem":105,"icon":106},"Sources","\u002Fen\u002Fconfiguration\u002Fsources","en\u002F3.configuration\u002F2.sources","i-lucide-cable",{"title":108,"path":109,"stem":110,"children":111,"page":24},"Encodings","\u002Fen\u002Fconfiguration\u002Fencodings","en\u002F3.configuration\u002F3.encodings",[112,116],{"title":108,"path":113,"stem":114,"icon":115},"\u002Fen\u002Fconfiguration\u002Fencodings\u002Fprofiles","en\u002F3.configuration\u002F3.encodings\u002F1.profiles","i-lucide-sliders-horizontal",{"title":98,"path":117,"stem":118,"icon":119},"\u002Fen\u002Fconfiguration\u002Fencodings\u002Fgroups","en\u002F3.configuration\u002F3.encodings\u002F2.groups","i-lucide-layers",{"title":121,"path":122,"stem":123,"children":124,"page":24},"Destinations","\u002Fen\u002Fconfiguration\u002Fdestinations","en\u002F3.configuration\u002F4.destinations",[125,129],{"title":121,"path":126,"stem":127,"icon":128},"\u002Fen\u002Fconfiguration\u002Fdestinations\u002Fdestinations","en\u002F3.configuration\u002F4.destinations\u002F1.destinations","i-lucide-send",{"title":98,"path":130,"stem":131,"icon":132},"\u002Fen\u002Fconfiguration\u002Fdestinations\u002Fpublishing-groups","en\u002F3.configuration\u002F4.destinations\u002F2.publishing-groups","i-lucide-share-2",{"title":134,"path":135,"stem":136,"children":137,"page":24},"Settings","\u002Fen\u002Fsettings","en\u002F4.settings",[138,151,156,172,188],{"title":139,"path":140,"stem":141,"children":142,"page":24},"Users","\u002Fen\u002Fsettings\u002Fusers","en\u002F4.settings\u002F1.users",[143,147],{"title":139,"path":144,"stem":145,"icon":146},"\u002Fen\u002Fsettings\u002Fusers\u002Fusers","en\u002F4.settings\u002F1.users\u002F1.users","i-lucide-user",{"title":98,"path":148,"stem":149,"icon":150},"\u002Fen\u002Fsettings\u002Fusers\u002Fuser-groups","en\u002F4.settings\u002F1.users\u002F2.user-groups","i-lucide-users",{"title":152,"path":153,"stem":154,"icon":155},"Security","\u002Fen\u002Fsettings\u002Fsecurity","en\u002F4.settings\u002F2.security","i-lucide-shield",{"title":157,"icon":158,"path":159,"stem":160,"children":161,"page":24},"Assets","i-lucide-image","\u002Fen\u002Fsettings\u002Fassets","en\u002F4.settings\u002F3.assets",[162,167],{"title":163,"path":164,"stem":165,"icon":166},"Logos","\u002Fen\u002Fsettings\u002Fassets\u002Flogos","en\u002F4.settings\u002F3.assets\u002F1.logos","i-lucide-images",{"title":168,"path":169,"stem":170,"icon":171},"Files","\u002Fen\u002Fsettings\u002Fassets\u002Ffiles","en\u002F4.settings\u002F3.assets\u002F2.files","i-lucide-clapperboard",{"title":173,"icon":174,"path":175,"stem":176,"children":177,"page":24},"External Storage","i-lucide-folder-cog","\u002Fen\u002Fsettings\u002Fexternal-storage","en\u002F4.settings\u002F4.external-storage",[178,183],{"title":179,"path":180,"stem":181,"icon":182},"Remote Folders","\u002Fen\u002Fsettings\u002Fexternal-storage\u002Fremote-folders","en\u002F4.settings\u002F4.external-storage\u002F1.remote-folders","i-lucide-folder-archive",{"title":184,"path":185,"stem":186,"icon":187},"Target Folders","\u002Fen\u002Fsettings\u002Fexternal-storage\u002Ftarget-folders","en\u002F4.settings\u002F4.external-storage\u002F2.target-folders","i-lucide-folder-up",{"title":189,"path":190,"stem":191,"children":192,"page":24},"Integrations","\u002Fen\u002Fsettings\u002Fintegrations","en\u002F4.settings\u002F5.integrations",[193,197,202,216],{"title":41,"path":194,"stem":195,"icon":196},"\u002Fen\u002Fsettings\u002Fintegrations\u002Foverview","en\u002F4.settings\u002F5.integrations\u002F1.overview","i-lucide-plug",{"title":198,"path":199,"stem":200,"icon":201},"MediaCopilot","\u002Fen\u002Fsettings\u002Fintegrations\u002Fmediacopilot","en\u002F4.settings\u002F5.integrations\u002F2.mediacopilot","i-lucide-sparkles",{"title":203,"icon":204,"path":205,"stem":206,"children":207,"page":24},"C21 Live Cloud","i-lucide-cloud","\u002Fen\u002Fsettings\u002Fintegrations\u002Fc21livecloud","en\u002F4.settings\u002F5.integrations\u002F3.c21livecloud",[208,211],{"title":41,"path":209,"stem":210,"icon":204},"\u002Fen\u002Fsettings\u002Fintegrations\u002Fc21livecloud\u002Foverview","en\u002F4.settings\u002F5.integrations\u002F3.c21livecloud\u002F1.overview",{"title":212,"path":213,"stem":214,"icon":215},"Accounts","\u002Fen\u002Fsettings\u002Fintegrations\u002Fc21livecloud\u002Faccounts","en\u002F4.settings\u002F5.integrations\u002F3.c21livecloud\u002F2.accounts","i-lucide-key-round",{"title":217,"icon":155,"path":218,"stem":219,"children":220,"page":24},"DRM Providers","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm","en\u002F4.settings\u002F5.integrations\u002F4.drm",[221,225,229,233,237,242],{"title":41,"path":222,"stem":223,"icon":224},"\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Foverview","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F1.overview","i-lucide-shield-check",{"title":226,"path":227,"stem":228,"icon":155},"Widevine","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fwidevine","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F2.widevine",{"title":230,"path":231,"stem":232,"icon":155},"PlayReady","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fplayready","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F3.playready",{"title":234,"path":235,"stem":236,"icon":155},"FairPlay","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Ffairplay","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F4.fairplay",{"title":238,"path":239,"stem":240,"icon":241},"Providers","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fproviders","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F5.providers","i-lucide-shield-half",{"title":243,"path":244,"stem":245,"icon":246},"Workflow","\u002Fen\u002Fsettings\u002Fintegrations\u002Fdrm\u002Fworkflow","en\u002F4.settings\u002F5.integrations\u002F4.drm\u002F6.workflow","i-lucide-workflow",{"title":248,"path":249,"stem":250,"children":251,"page":24},"System Status","\u002Fen\u002Fsystem-status","en\u002F5.system-status",[252,257],{"title":253,"path":254,"stem":255,"icon":256},"Commands","\u002Fen\u002Fsystem-status\u002Fcommands","en\u002F5.system-status\u002F1.commands","i-lucide-square-terminal",{"title":258,"path":259,"stem":260,"icon":261},"Logs","\u002Fen\u002Fsystem-status\u002Flogs","en\u002F5.system-status\u002F2.logs","i-lucide-scroll-text",{"title":263,"path":264,"stem":265,"children":266,"page":24},"How Tos","\u002Fen\u002Fhow-tos","en\u002F6.how-tos",[267,272,277,282,286,291,295,299,304,308,313,318,323],{"title":268,"path":269,"stem":270,"icon":271},"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":273,"path":274,"stem":275,"icon":276},"Ingest a YouTube Live broadcast","\u002Fen\u002Fhow-tos\u002Fingest-youtube-live","en\u002F6.how-tos\u002F10.ingest-youtube-live","i-lucide-youtube",{"title":278,"path":279,"stem":280,"icon":281},"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":283,"path":284,"stem":285,"icon":34},"Broadcast radio as video","\u002Fen\u002Fhow-tos\u002Fbroadcast-radio-as-video","en\u002F6.how-tos\u002F12.broadcast-radio-as-video",{"title":287,"path":288,"stem":289,"icon":290},"Real Time streaming to Dolby Millicast","\u002Fen\u002Fhow-tos\u002Freal-time-streaming","en\u002F6.how-tos\u002F13.real-time-streaming","i-lucide-zap",{"title":292,"path":293,"stem":294,"icon":224},"Protect a Live stream with multi-DRM","\u002Fen\u002Fhow-tos\u002Fmulti-drm-destination","en\u002F6.how-tos\u002F2.multi-drm-destination",{"title":296,"path":297,"stem":298,"icon":63},"Schedule a weekly recurring broadcast","\u002Fen\u002Fhow-tos\u002Fweekly-recurring-broadcast","en\u002F6.how-tos\u002F3.weekly-recurring-broadcast",{"title":300,"path":301,"stem":302,"icon":303},"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":305,"path":306,"stem":307,"icon":158},"Apply a logo overlay to a running Live stream","\u002Fen\u002Fhow-tos\u002Fapply-logo-overlay","en\u002F6.how-tos\u002F5.apply-logo-overlay",{"title":309,"path":310,"stem":311,"icon":312},"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":314,"path":315,"stem":316,"icon":317},"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":319,"path":320,"stem":321,"icon":322},"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":324,"path":325,"stem":326,"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":328,"path":329,"stem":330,"children":331,"page":24},"Installation","\u002Fen\u002Finstallation","en\u002F7.installation",[332,337,342,347,352],{"title":333,"path":334,"stem":335,"icon":336},"Prepare the host","\u002Fen\u002Finstallation\u002Fprepare-host","en\u002F7.installation\u002F1.prepare-host","i-lucide-server-cog",{"title":338,"path":339,"stem":340,"icon":341},"Install C21 Live Control","\u002Fen\u002Finstallation\u002Fcontrol","en\u002F7.installation\u002F2.control","i-lucide-cloud-download",{"title":343,"path":344,"stem":345,"icon":346},"Install C21 Live Encoder","\u002Fen\u002Finstallation\u002Fencoder","en\u002F7.installation\u002F3.encoder","i-lucide-cpu",{"title":348,"path":349,"stem":350,"icon":351},"Updates","\u002Fen\u002Finstallation\u002Fupdates","en\u002F7.installation\u002F4.updates","i-lucide-refresh-cw",{"title":353,"path":354,"stem":355,"icon":215},"Licenses","\u002Fen\u002Finstallation\u002Flicenses","en\u002F7.installation\u002F5.licenses",{"title":357,"path":358,"stem":359,"children":360,"page":24},"Developers","\u002Fen\u002Fdevelopers","en\u002F8.developers",[361,365,383],{"title":41,"path":362,"stem":363,"icon":364},"\u002Fen\u002Fdevelopers\u002Foverview","en\u002F8.developers\u002F1.overview","i-lucide-code",{"title":366,"icon":364,"path":367,"stem":368,"children":369,"page":24},"API","\u002Fen\u002Fdevelopers\u002Fapi","en\u002F8.developers\u002F2.api",[370,373,378],{"title":41,"path":371,"stem":372,"icon":364},"\u002Fen\u002Fdevelopers\u002Fapi\u002Foverview","en\u002F8.developers\u002F2.api\u002F1.overview",{"title":374,"path":375,"stem":376,"icon":377},"Authentication","\u002Fen\u002Fdevelopers\u002Fapi\u002Fauthentication","en\u002F8.developers\u002F2.api\u002F2.authentication","i-lucide-key",{"title":379,"path":380,"stem":381,"icon":382},"Pagination and Errors","\u002Fen\u002Fdevelopers\u002Fapi\u002Fpagination-errors","en\u002F8.developers\u002F2.api\u002F3.pagination-errors","i-lucide-list-ordered",{"title":384,"icon":385,"path":386,"stem":387,"children":388,"page":24},"MCP Server","i-lucide-bot","\u002Fen\u002Fdevelopers\u002Fmcp-server","en\u002F8.developers\u002F3.mcp-server",[389,392,397],{"title":41,"path":390,"stem":391,"icon":385},"\u002Fen\u002Fdevelopers\u002Fmcp-server\u002Foverview","en\u002F8.developers\u002F3.mcp-server\u002F1.overview",{"title":393,"path":394,"stem":395,"icon":396},"Tools","\u002Fen\u002Fdevelopers\u002Fmcp-server\u002Ftools","en\u002F8.developers\u002F3.mcp-server\u002F2.tools","i-lucide-wrench",{"title":398,"path":399,"stem":400,"icon":401},"Examples","\u002Fen\u002Fdevelopers\u002Fmcp-server\u002Fexamples","en\u002F8.developers\u002F3.mcp-server\u002F3.examples","i-lucide-play",{"title":403,"path":404,"stem":405,"children":406,"page":24},"Resources","\u002Fen\u002Fresources","en\u002F9.resources",[407,412,417],{"title":408,"path":409,"stem":410,"icon":411},"Links","\u002Fen\u002Fresources\u002Flinks","en\u002F9.resources\u002F1.links","i-lucide-link",{"title":413,"path":414,"stem":415,"icon":416},"Release Notes","\u002Fen\u002Fresources\u002Frelease-notes","en\u002F9.resources\u002F2.release-notes","i-lucide-clipboard-list",{"title":418,"path":419,"stem":420,"icon":421},"Glossary","\u002Fen\u002Fresources\u002Fglossary","en\u002F9.resources\u002F3.glossary","i-lucide-book-a",{"id":423,"title":287,"body":424,"description":1013,"extension":1014,"links":1015,"meta":1016,"navigation":1017,"path":288,"seo":1018,"stem":289,"__hash__":1019},"docs_en\u002Fen\u002F6.how-tos\u002F13.real-time-streaming.md",{"type":425,"value":426,"toc":999},"minimark",[427,444,451,518,523,560,564,664,668,674,677,719,723,747,878,895,899,902,953,957,962,966,970,974,995],[428,429,430,431,435,436,439,440,443],"p",{},"Take a live broadcast below ",[432,433,434],"strong",{},"500 ms of glass-to-glass latency",": ",[432,437,438],{},"C21 Live Encoder"," runs the broadcast on its Real Time encoding pipeline and contributes it over RTMP — or Enhanced RTMP for multitrack scenarios — to ",[432,441,442],{},"Dolby Millicast",", whose WebRTC CDN fans it out to viewers with sub-second delivery. The combination fits real-time interactivity: live events, sports, online betting and auctions.",[428,445,446,447,450],{},"Three pieces make up the flow, all configured from ",[432,448,449],{},"C21 Live Control",":",[452,453,454,470],"table",{},[455,456,457],"thead",{},[458,459,460,464,467],"tr",{},[461,462,463],"th",{},"Piece",[461,465,466],{},"Where",[461,468,469],{},"What it does",[471,472,473,489,500],"tbody",{},[458,474,475,483,486],{},[476,477,478,482],"td",{},[479,480,481],"em",{},"Real time encoding"," toggle",[476,484,485],{},"Live stream editor",[476,487,488],{},"Runs the broadcast on the encoder's sub-second contribution pipeline.",[458,490,491,494,497],{},[476,492,493],{},"RTMP or Enhanced RTMP Destination",[476,495,496],{},"Configuration → Destinations",[476,498,499],{},"Pushes the encoded signal to the Millicast ingest.",[458,501,502,508,515],{},[476,503,504,507],{},[432,505,506],{},"Millicast WebRTC CDN"," provider",[476,509,510,511,514],{},"The Destination's ",[479,512,513],{},"Provider"," field",[476,516,517],{},"Applies the Millicast-specific delivery behaviour (RTMP buffer hint).",[519,520,522],"h2",{"id":521},"before-you-start","Before you start",[524,525,526,534,550,557],"ul",{},[527,528,529,530,533],"li",{},"A ",[432,531,532],{},"Dolby Millicast account"," with a publish token: the Millicast dashboard supplies the RTMP publish URL and the stream name \u002F token pair the Destination needs.",[527,535,536,537,541,542,545,546,549],{},"A low-latency friendly input — ",[538,539,540],"code",{},"SDI",", ",[538,543,544],{},"NDI"," or ",[538,547,548],{},"SRT"," Channels keep the contribution side of the latency budget tight.",[527,551,552,553,556],{},"An Encoding with ",[432,554,555],{},"H.264 + AAC"," — the safe baseline for Millicast WebRTC playback across browsers and devices.",[527,558,559],{},"Network headroom from the encoder host to the Millicast ingest: sustained upload at the Encoding's bitrate, low jitter.",[519,561,563],{"id":562},"via-ui","Via UI",[565,566,567,572,579,608,623,627,633,637,654,658],"steps",{},[568,569,571],"h3",{"id":570},"create-the-millicast-destination","Create the Millicast Destination",[428,573,574,575,578],{},"Navigate: ",[432,576,577],{},"Configuration → Destinations → Add destination",". Set:",[524,580,581,595,602],{},[527,582,583,586,587,590,591,594],{},[432,584,585],{},"Type"," — ",[479,588,589],{},"RTMP"," for a single-program push, or ",[479,592,593],{},"Enhanced RTMP"," for multitrack contribution (see the next section).",[527,596,597,586,599,601],{},[432,598,513],{},[479,600,506],{},".",[527,603,604,607],{},[432,605,606],{},"URL \u002F Stream name"," — the RTMP publish endpoint and stream name from your Millicast dashboard (the token travels in the stream name, as Millicast's RTMP ingest expects).",[428,609,610,611,614,615,618,619,622],{},"On an RTMP Destination with the Millicast provider, the editor exposes the ",[432,612,613],{},"RTMP Buffer"," field (in ",[479,616,617],{},"milliseconds",", default ",[538,620,621],{},"200",") — the client-side buffer hint Millicast honours on delivery. Lower it to shave latency; raise it if viewers on poor networks see stalls.",[568,624,626],{"id":625},"bind-the-destination-to-the-live-stream","Bind the Destination to the Live stream",[428,628,629,630,601],{},"Add the Destination (or a Destination group holding it) to the Live stream that will go real-time. See ",[631,632,121],"a",{"href":122},[568,634,636],{"id":635},"enable-real-time-encoding","Enable Real time encoding",[428,638,639,640,642,643,645,646,649,650,653],{},"Open the Live stream in the editor and switch on ",[432,641,481],{}," in the ",[479,644,46],{}," column. The flag (",[538,647,648],{},"real_time_encoding",") is persisted on the Live stream and shows as ",[479,651,652],{},"Enabled"," on the Live stream's detail panel.",[568,655,657],{"id":656},"start-and-verify","Start and verify",[428,659,660,661,663],{},"Start the Live stream. In the Millicast dashboard, open the stream's hosted viewer: the feed plays with sub-second delay. On the ",[631,662,31],{"href":32}," row, the Destination indicator reflects the push health.",[519,665,667],{"id":666},"enhanced-rtmp-multitrack-contribution","Enhanced RTMP — multitrack contribution",[428,669,670,671,673],{},"Where classic RTMP carries one video and one audio program, ",[432,672,593],{}," extends the protocol to publish multitrack outputs — multiple audio tracks and modern codecs — in a single session. Cires21 validated the implementation against Dolby Millicast, so the pairing is operational, not just spec-compatible.",[428,675,676],{},"Operational differences from classic RTMP:",[524,678,679,685,691,710],{},[527,680,681,684],{},[432,682,683],{},"Adaptive."," Enhanced RTMP is one of the adaptive Destination types: when the Live stream carries multiple renditions, all of them are published (classic RTMP emits only the highest quality).",[527,686,687,690],{},[432,688,689],{},"Multi-audio."," The Live stream's mapped audio tracks travel in the same session — no parallel Destination per language.",[527,692,693,696,697,700,701,704,705,709],{},[432,694,695],{},"Engage at start."," An Enhanced RTMP Destination added to a Destination group while the broadcast is on air engages on the ",[432,698,699],{},"next start",", not at runtime (the runtime toggle returns ",[538,702,703],{},"409"," — see ",[631,706,708],{"href":707},"\u002Fen\u002Fconfiguration\u002Fdestinations\u002Fpublishing-groups#editing-a-group-in-use","Destination groups",").",[527,711,712,715,716,718],{},[432,713,714],{},"RTMP Buffer."," The ",[479,717,613],{}," hint is honoured on the classic RTMP type only.",[519,720,722],{"id":721},"via-api","Via API",[428,724,725,726,586,729,732,733,545,736,739,740,743,744,746],{},"Create the Destination with ",[538,727,728],{},"POST \u002Fc21apiv2\u002Fcrud\u002Fpublishings",[538,730,731],{},"Publishing.type"," takes ",[538,734,735],{},"\"RTMP\"",[538,737,738],{},"\"Enhanced RTMP\""," (the legacy alias ",[538,741,742],{},"ERTMP"," is accepted on write and normalized to ",[538,745,593],{}," on read):",[748,749,754],"pre",{"className":750,"code":751,"language":752,"meta":753,"style":753},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Fcrud\u002Fpublishings\" \\\n  -H \"Authorization: Bearer \u003CYOUR_API_TOKEN>\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"Millicast-RealTime\",\n    \"type\": \"Enhanced RTMP\",\n    \"settings_common\": {\n      \"provider\": \"Millicast\",\n      \"urls\": { \"primary\": \"rtmp:\u002F\u002F\u003Cmillicast-ingest>\u002Fv2\u002Fpub\" },\n      \"stream\": \"\u003CstreamName>?token=\u003CpublishToken>\"\n    }\n  }'\n","bash","",[538,755,756,786,801,815,827,833,839,845,851,857,863,869],{"__ignoreMap":753},[757,758,761,765,769,772,776,779,782],"span",{"class":759,"line":760},"line",1,[757,762,764],{"class":763},"sBMFI","curl",[757,766,768],{"class":767},"sfazB"," -X",[757,770,771],{"class":767}," POST",[757,773,775],{"class":774},"sMK4o"," \"",[757,777,778],{"class":767},"https:\u002F\u002F\u003Cyour-host>\u002Fc21apiv2\u002Fcrud\u002Fpublishings",[757,780,781],{"class":774},"\"",[757,783,785],{"class":784},"sTEyZ"," \\\n",[757,787,789,792,794,797,799],{"class":759,"line":788},2,[757,790,791],{"class":767},"  -H",[757,793,775],{"class":774},[757,795,796],{"class":767},"Authorization: Bearer \u003CYOUR_API_TOKEN>",[757,798,781],{"class":774},[757,800,785],{"class":784},[757,802,804,806,808,811,813],{"class":759,"line":803},3,[757,805,791],{"class":767},[757,807,775],{"class":774},[757,809,810],{"class":767},"Content-Type: application\u002Fjson",[757,812,781],{"class":774},[757,814,785],{"class":784},[757,816,818,821,824],{"class":759,"line":817},4,[757,819,820],{"class":767},"  -d",[757,822,823],{"class":774}," '",[757,825,826],{"class":767},"{\n",[757,828,830],{"class":759,"line":829},5,[757,831,832],{"class":767},"    \"name\": \"Millicast-RealTime\",\n",[757,834,836],{"class":759,"line":835},6,[757,837,838],{"class":767},"    \"type\": \"Enhanced RTMP\",\n",[757,840,842],{"class":759,"line":841},7,[757,843,844],{"class":767},"    \"settings_common\": {\n",[757,846,848],{"class":759,"line":847},8,[757,849,850],{"class":767},"      \"provider\": \"Millicast\",\n",[757,852,854],{"class":759,"line":853},9,[757,855,856],{"class":767},"      \"urls\": { \"primary\": \"rtmp:\u002F\u002F\u003Cmillicast-ingest>\u002Fv2\u002Fpub\" },\n",[757,858,860],{"class":759,"line":859},10,[757,861,862],{"class":767},"      \"stream\": \"\u003CstreamName>?token=\u003CpublishToken>\"\n",[757,864,866],{"class":759,"line":865},11,[757,867,868],{"class":767},"    }\n",[757,870,872,875],{"class":759,"line":871},12,[757,873,874],{"class":767},"  }",[757,876,877],{"class":774},"'\n",[428,879,880,881,884,885,888,889,891,892,709],{},"For a classic RTMP Destination, ",[538,882,883],{},"settings_extra.rtmp_millicast_buffer_millisec"," carries the buffer hint (honoured only when ",[538,886,887],{},"provider = Millicast","). The ",[479,890,481],{}," flag is part of the Live stream's configuration — set it from the Live stream editor; then start the Live stream as usual (",[538,893,894],{},"startLivestream",[519,896,898],{"id":897},"latency-budget","Latency budget",[428,900,901],{},"Sub-500 ms end-to-end assumes every hop is tuned:",[452,903,904,914],{},[455,905,906],{},[458,907,908,911],{},[461,909,910],{},"Hop",[461,912,913],{},"What keeps it low",[471,915,916,924,934,942],{},[458,917,918,921],{},[476,919,920],{},"Contribution (source → encoder)",[476,922,923],{},"SDI \u002F NDI \u002F SRT input on the same site or a low-RTT link.",[458,925,926,929],{},[476,927,928],{},"Encode",[476,930,931,933],{},[479,932,481],{}," enabled on the Live stream.",[458,935,936,939],{},[476,937,938],{},"Ingest (encoder → Millicast)",[476,940,941],{},"Stable upload, geographically close Millicast ingest.",[458,943,944,947],{},[476,945,946],{},"Distribution (Millicast → viewer)",[476,948,949,950,952],{},"WebRTC delivery — managed by Millicast; the ",[479,951,613],{}," hint trades stability for latency on the ingest side.",[519,954,956],{"id":955},"faq","FAQ",[958,959,961],"collapsible",{"name":960},"Do I need Enhanced RTMP for sub-second latency?","No. Classic RTMP with the Millicast provider already rides the Real Time pipeline. Enhanced RTMP is the choice when the broadcast needs multitrack contribution — several audio languages, modern codecs or all renditions in one session.",[958,963,965],{"name":964},"Why do viewers see stalls after I lowered the RTMP Buffer?","The buffer absorbs network jitter between the ingest and the viewer. Below a network's natural jitter, playback rebuffers. Raise the value back in 50–100 ms steps until stalls disappear — the default is 200 ms.",[958,967,969],{"name":968},"Can I add the Millicast Destination while the broadcast is running?","On classic RTMP, yes — it engages at runtime like any stream-pushing Destination. An Enhanced RTMP Destination engages on the next start of the Live stream; add it before going on air.",[519,971,973],{"id":972},"cross-links","Cross-links",[524,975,976,981,990],{},[527,977,978,980],{},[631,979,121],{"href":122}," — the RTMP and Enhanced RTMP types and the provider catalogue.",[527,982,983,986,987,989],{},[631,984,985],{"href":47},"Live stream options"," — where the ",[479,988,481],{}," flag surfaces.",[527,991,992,994],{},[631,993,31],{"href":32}," — runtime health of the push.",[996,997,998],"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":753,"searchDepth":788,"depth":788,"links":1000},[1001,1002,1008,1009,1010,1011,1012],{"id":521,"depth":788,"text":522},{"id":562,"depth":788,"text":563,"children":1003},[1004,1005,1006,1007],{"id":570,"depth":803,"text":571},{"id":625,"depth":803,"text":626},{"id":635,"depth":803,"text":636},{"id":656,"depth":803,"text":657},{"id":666,"depth":788,"text":667},{"id":721,"depth":788,"text":722},{"id":897,"depth":788,"text":898},{"id":955,"depth":788,"text":956},{"id":972,"depth":788,"text":973},"Broadcast with sub-second, end-to-end latency — Real time encoding on the Live stream, RTMP or Enhanced RTMP contribution, and Dolby Millicast WebRTC distribution.","md",null,{},{"icon":290},{"title":287,"description":1013},"mTx_GXCjjLz5Rjk52tijurzKYAPWlxHXTYtNk5nElIY",[1021,1023],{"title":283,"path":284,"stem":285,"description":1022,"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.",{"title":292,"path":293,"stem":294,"description":1024,"icon":224,"children":-1},"Register a DRM provider and attach it to a Publishing — through the UI, through the API, or both.",1783321434968]