{"id":1381,"date":"2022-08-31T13:56:06","date_gmt":"2022-08-31T11:56:06","guid":{"rendered":"https:\/\/websites.fraunhofer.de\/video-dev\/?p=1381"},"modified":"2022-08-31T15:08:49","modified_gmt":"2022-08-31T13:08:49","slug":"5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery","status":"publish","type":"post","link":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/","title":{"rendered":"5G-MAG Reference Tools &#8211; Seamless switching between broadcast and broadband delivery"},"content":{"rendered":"\n<p>In one of our previous blog posts we looked into <a href=\"https:\/\/websites.fraunhofer.de\/video-dev\/playback-of-a-dash-multicast-stream-in-dash-js-using-the-5g-mag-reference-tools\/\" target=\"_blank\" rel=\"noreferrer noopener\">playback of a multicast DASH stream in dash.js using the 5G-MAG Reference Tools<\/a>. In this article, we go even a step further: Based on the availability we dynamically and seamlessly switch between broadcast and broadband delivery. <\/p>\n\n\n\n<p>A dynamic switch between broadcast and broadband delivery offers many possibilities and advantages. Most importantly:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>As a service provider, we can enable\/disable broadcast delivery based on consumption metrics while guaranteeing a smooth playback experience for the end user.<\/li><li>In cases in which users are out of broadcast coverage the service continues to operate by falling back to broadband.<\/li><li>It enables personalized ad-insertion by receiving the main content via broadcast and the ad content via broadband.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Seamless switching &#8211; The basic architecture<\/h2>\n\n\n\n<p>An illustration of the basic architecture for seamless broadcast-broadband switching is depicted below. It is worth mentioning that the diagram below reflects a simplified version of the <strong>local setup<\/strong>. For a detailed version including 5G components check out our <a href=\"https:\/\/github.com\/5G-MAG\/Documentation-and-Architecture\/blob\/main\/media\/architecture\/5G-MAG%20RT%20Architecture%20Seamless%20Switching%20v8.drawio.png\" target=\"_blank\" rel=\"noreferrer noopener\">Github<\/a>. For available live demonstrations check out the IBC section at the end of this article. In the following we are also omitting details like how to configure the Service Announcement files to signal the availability of the broadcast and broadband content to the <code>MBMS Middleware<\/code>. For details on Service Announcements, please refer to TS 26.346.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"372\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-698x372.png\" alt=\"\" class=\"wp-image-1384\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-698x372.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-400x213.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-768x409.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-1536x818.png 1536w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-2048x1091.png 2048w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><figcaption><em>The basic architecture of the local setup for seamless switching<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Configuring an HLS livestream<\/h2>\n\n\n\n<p>First thing we need to setup for our local demo is an HLS livestream. The generated manifest and segment files are written to a (watch) folder that is used by two different components: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The <code>rt-flute-ffmpeg<\/code> implementation that monitors the folder for changes to multicast the files to our <code>MBMS Middleware<\/code><\/li><li>A simple <code>node.js Express server<\/code> that hosts the files. In our setup this Express server takes the role of a CDN. The media segment and the manifest files are then accessible via localhost.<\/li><\/ul>\n\n\n\n<p>A ffmpeg command to generate a HLS live stream from a VoD file looks the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\n\nffmpeg -re -stream_loop -1 -i content\/01_llama_drama_1080p.mp4 \\\n-filter_complex \"drawbox=x=1460:y=0:width=460:height=100:color=black@0.5:t=fill,\\\nsplit=2&#91;v1]&#91;v2];\\\n&#91;v1]drawtext=text='720p-2.0M':x=1480:y=20:\\\nfontfile=\/usr\/share\/fonts\/truetype\/freefont\/FreeSans.ttf:fontsize=80:fontcolor=white,\\\nscale=1280x720&#91;v1out];\\\n&#91;v2]drawtext=text='540p-1.0M':x=1480:y=20:\\\nfontfile=\/usr\/share\/fonts\/truetype\/freefont\/FreeSans.ttf:fontsize=80:fontcolor=white,\\\nscale=960x540&#91;v2out]\" \\\n-map &#91;v1out] -c:v:0 libx264 -x264-params \"nal-hrd=cbr:force-cfr=1\" -b:v:0 2M -maxrate:v:0 2M -minrate:v:0 2M -bufsize:v:0 4M -preset veryfast -g 60 -sc_threshold 0 -keyint_min 60 \\\n-map &#91;v2out] -c:v:1 libx264 -x264-params \"nal-hrd=cbr:force-cfr=1\" -b:v:1 1M -maxrate:v:1 1M -minrate:v:1 1M -bufsize:v:1 2M -preset veryfast -g 60 -sc_threshold 0 -keyint_min 60 \\\n-map a:0 -c:a:0 aac -b:a:0 96k -ac 2 \\\n-map a:0 -c:a:1 aac -b:a:1 96k -ac 2 \\\n-f hls \\\n-hls_time 2 \\\n-hls_list_size 5 \\\n-hls_delete_threshold 1 \\\n-hls_flags independent_segments+delete_segments+temp_file \\\n-hls_segment_type mpegts \\\n-hls_segment_filename \/home\/dsi\/5G-MAG\/simple-express-server\/public\/watchfolder\/hls\/stream_%v_data%02d.ts \\\n-master_pl_name manifest.m3u8 \\\n-var_stream_map \"v:0,a:0 v:1,a:1\" \/home\/dsi\/5G-MAG\/simple-express-server\/public\/watchfolder\/hls\/stream_%v.m3u8<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: FLUTE encoding and multicasting the HLS files<\/h2>\n\n\n\n<p>Now that our livestream is up and running we can monitor the watchfolder for changes. Once new files are added (media segments) or existing files are modified (media playlists) we use the <code>FLUTE transmitter<\/code> to multicast them to the <code>MBMS Middleware<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Receiving the multicast and preparing the files<\/h2>\n\n\n\n<p>At the <code>MBMS Middleware<\/code> we constantly receive manifest files and media segments via multicast. We use the FLUTE library to decode the files and save them on a file server. <\/p>\n\n\n\n<p>In addition to the media playlists received via multicast, the <code>MBMS Middleware<\/code> periodically requests media playlists from CDN. From these two sources, the content of the playlists that are created and presented to the media player is determined: for multicast playlists, we assume that the latest contained file should be available via multicast, and hence can be presented as such to the player; whereas for CDN playlists, a configurable number of segments is stripped out of the playlist to account for the expected delay. For the media player itself it is not visible whether the manifests and segments originated from multicast delivery or from the CDN.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Playback in hls.js<\/h2>\n\n\n\n<p>For now, let&#8217;s assume that our multicast chain is up and running. We can now play the stream in our favorite media player. In our example we use <code>hls.js<\/code> for browser-based playback. For the media player itself it is not visible that the files originated from multicast. However, we are including a response header in each media segment request that holds the information whether a segment originated from multicast delivery or was fetched from the CDN. This information is depicted on the top left of the video as an overlay. In this case, it is labeled &#8220;5G-BC&#8221; (coming from the fact that in a real-world scenario we would receive a 5G broadcast).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"422\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/bc-1-698x422.png\" alt=\"\" class=\"wp-image-1427\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/bc-1-698x422.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/bc-1-400x242.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/bc-1-768x464.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/bc-1.png 1179w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><figcaption><em>Playback of the live stream with segments arriving via multicast<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Seamless switch to broadband reception<\/h2>\n\n\n\n<p>To demonstrate the seamless transition between multicast and broadband reception we simply turn off our <code>Flute Transmitter<\/code>. <\/p>\n\n\n\n<p>A request from the player for a segment that has not yet been received via broadcast triggers a cache miss in the <code>MBMS Middleware<\/code>, causing this segment to be immediately fetched from the CDN. In the current implementation, a 404 status is returned to the player&#8217;s request, mimicking a request too close to the live edge and causing the player to retry with progressive intervals. Once the missing segment has been fetched from the CDN it is available to the player. We are now in &#8220;CDN playback mode&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"444\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/cdn-1-698x444.png\" alt=\"\" class=\"wp-image-1428\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/cdn-1-698x444.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/cdn-1-400x255.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/cdn-1-768x489.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/cdn-1.png 1109w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><figcaption><em>Playback of the live stream with segments fetched from the CDN<\/em><\/figcaption><\/figure>\n\n\n\n<p>And that was it! For the viewer the transition between broadcast and broadband is not visible. Playback is not interrupted, although the media content is not delivered via broadcast anymore. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5G Broadcast-Broadband Seamless Switching<\/h2>\n\n\n\n<p>If you are interested in the seamless switching mechanism with a real 5G broadcast checkout the video below:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"embed-responsive embed-responsive-16by9\"><iframe title=\"5G-MAG Reference Tools - 5G Broadcast-Broadband Seamless Switching\" src=\"https:\/\/www.youtube.com\/embed\/Jbir8B-gC4c?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Next steps<\/h2>\n\n\n\n<p>The basic architecture and the demo explained in this blog post serve as a proof of concept. Future works includes support for DASH-based streaming and the focus on a more client-centric switching approach. For instance, the content steering mechanism described in our <a href=\"https:\/\/websites.fraunhofer.de\/video-dev\/dynamic-cdn-switching-content-steering-in-dash-js\/\" target=\"_blank\" rel=\"noreferrer noopener\">previous blog post<\/a> together with the <code>@proxyServerURL<\/code> attribute can be reused to trigger a switch between a local server (hosting the files received via multicast\/broadcast) and the CDN. <\/p>\n\n\n\n<p>If you want to set this demo up yourself or contribute to the development of the 5G-MAG Reference Tools and shape the future of 5G Media Streaming and 5G broadcast checkout the <a href=\"https:\/\/www.5g-mag.com\/reference-tools\" target=\"_blank\" rel=\"noreferrer noopener\">5G-MAG website<\/a> and <a href=\"https:\/\/github.com\/5G-MAG\" target=\"_blank\" rel=\"noreferrer noopener\">5G-MAG on Github<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Acknowledgements<\/h2>\n\n\n\n<p>The author would like to acknowledge the work of <strong>Klaus Kuehnhammer<\/strong> in the context of the seamless switching implementation described in this blog post. The local demo setup described here is put on top of Klaus&#8217;s implementation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The 5G-MAG Reference Tools @ IBC 2022<\/h2>\n\n\n\n<p>If you are attending IBC 2022, there are multiple options to learn more about the 5G-MAG Reference Tools and see them in action:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>IBC Conference Presentation: &#8220;<em>5G-MAG Reference Tools: Dynamic Content Delivery Switching between 5G broadcast and OTT streaming<\/em>&#8221; by Daniel Silhavy on<strong> 09 Sep 2022 13:30 &#8211; 14:15<\/strong>. More details can be found <a href=\"https:\/\/show.ibc.org\/content-programmes\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/li><li>Fraunhofer FOKUS &#8211; Seamless switching between broadcast &amp; OTT with 5G-MAG Reference Tools: Find us in <strong>Hall 8 at Booth 8.B80<\/strong>. More information can be found <a href=\"https:\/\/www.fokus.fraunhofer.de\/go\/ibc\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/li><li><em>Nakolos \u2013 Unlimited CDN Capacity at a Fixed Price<\/em>: First integration of 5G Broadcast-on-Demand into a commercial OTT app using the 5G-MAG Reference Tool transmitter prototype. Check it out at <strong>Stand 7.P04<\/strong>. More information can be found <a href=\"https:\/\/www.nakolos.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/li><li><em>5G-MAG<\/em> &#8211; <em>Bridging OTT and broadcasting with 5G-MAG Reference Tools<\/em>: Talk to 5G-MAG and joins us for coffee and croissants at <strong>Stand 10.D21<\/strong>. More information can be found <a href=\"https:\/\/www.5g-mag.com\/post\/5g-mag-ibc2022\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In one of our previous blog posts we looked into playback of a multicast DASH stream in dash.js using the 5G-MAG Reference Tools. In this article, we go even a step further: Based on the availability we dynamically and seamlessly&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55,45],"tags":[],"coauthors":[6],"class_list":["post-1381","post","type-post","status-publish","format-standard","hentry","category-5g","category-hls"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>5G-MAG Reference Tools - Seamless switching between broadcast and broadband delivery - Video-Dev<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"5G-MAG Reference Tools - Seamless switching between broadcast and broadband delivery - Video-Dev\" \/>\n<meta property=\"og:description\" content=\"In one of our previous blog posts we looked into playback of a multicast DASH stream in dash.js using the 5G-MAG Reference Tools. In this article, we go even a step further: Based on the availability we dynamically and seamlessly...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/\" \/>\n<meta property=\"og:site_name\" content=\"Video-Dev\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-31T11:56:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-08-31T13:08:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-698x372.png\" \/>\n<meta name=\"author\" content=\"Daniel Silhavy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dsilhavy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Silhavy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/\"},\"author\":{\"name\":\"Daniel Silhavy\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#\\\/schema\\\/person\\\/f7e1eee3cb4eae87a59648195014a809\"},\"headline\":\"5G-MAG Reference Tools &#8211; Seamless switching between broadcast and broadband delivery\",\"datePublished\":\"2022-08-31T11:56:06+00:00\",\"dateModified\":\"2022-08-31T13:08:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/\"},\"wordCount\":1127,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/seamless-switching-architecture-1-698x372.png\",\"articleSection\":[\"5G\",\"HLS\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/\",\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/\",\"name\":\"5G-MAG Reference Tools - Seamless switching between broadcast and broadband delivery - Video-Dev\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/seamless-switching-architecture-1-698x372.png\",\"datePublished\":\"2022-08-31T11:56:06+00:00\",\"dateModified\":\"2022-08-31T13:08:49+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#\\\/schema\\\/person\\\/f7e1eee3cb4eae87a59648195014a809\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#primaryimage\",\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/seamless-switching-architecture-1.png\",\"contentUrl\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/seamless-switching-architecture-1.png\",\"width\":2429,\"height\":1294},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"5G-MAG Reference Tools &#8211; Seamless switching between broadcast and broadband delivery\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#website\",\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/\",\"name\":\"Video-Dev\",\"description\":\"Future Applications and Media - Video Development Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#\\\/schema\\\/person\\\/f7e1eee3cb4eae87a59648195014a809\",\"name\":\"Daniel Silhavy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/0-1-150x150.jpegccb13c1b60303228bf3c575f3345fe29\",\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/0-1-150x150.jpeg\",\"contentUrl\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2019\\\/11\\\/0-1-150x150.jpeg\",\"caption\":\"Daniel Silhavy\"},\"description\":\"Daniel Silhavy studied Computer Science at the Technical University of Berlin (TUB). He received his Masters degree with the completion of his thesis \u201cAd Insertion in MPEG-DASH\u201d at Fraunhofer Institute for Open Communication Systems (FOKUS) in 2015. Currently, he is employed as a scientific assistant and project manager at the Business Unit Future Applications and Media (FAME). He specializes in the R&amp;D of topics dealing with IPTV and adaptive media streaming.\",\"sameAs\":[\"https:\\\/\\\/www.fokus.fraunhofer.de\\\/fame\\\/team\\\/silhavy\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/daniel-silhavy-21650a129\\\/\",\"https:\\\/\\\/x.com\\\/dsilhavy\"],\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/author\\\/silhavy\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"5G-MAG Reference Tools - Seamless switching between broadcast and broadband delivery - Video-Dev","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/","og_locale":"en_US","og_type":"article","og_title":"5G-MAG Reference Tools - Seamless switching between broadcast and broadband delivery - Video-Dev","og_description":"In one of our previous blog posts we looked into playback of a multicast DASH stream in dash.js using the 5G-MAG Reference Tools. In this article, we go even a step further: Based on the availability we dynamically and seamlessly...","og_url":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/","og_site_name":"Video-Dev","article_published_time":"2022-08-31T11:56:06+00:00","article_modified_time":"2022-08-31T13:08:49+00:00","og_image":[{"url":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-698x372.png","type":"","width":"","height":""}],"author":"Daniel Silhavy","twitter_card":"summary_large_image","twitter_creator":"@dsilhavy","twitter_misc":{"Written by":"Daniel Silhavy","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#article","isPartOf":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/"},"author":{"name":"Daniel Silhavy","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#\/schema\/person\/f7e1eee3cb4eae87a59648195014a809"},"headline":"5G-MAG Reference Tools &#8211; Seamless switching between broadcast and broadband delivery","datePublished":"2022-08-31T11:56:06+00:00","dateModified":"2022-08-31T13:08:49+00:00","mainEntityOfPage":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/"},"wordCount":1127,"commentCount":0,"image":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#primaryimage"},"thumbnailUrl":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-698x372.png","articleSection":["5G","HLS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/","url":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/","name":"5G-MAG Reference Tools - Seamless switching between broadcast and broadband delivery - Video-Dev","isPartOf":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#website"},"primaryImageOfPage":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#primaryimage"},"image":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#primaryimage"},"thumbnailUrl":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1-698x372.png","datePublished":"2022-08-31T11:56:06+00:00","dateModified":"2022-08-31T13:08:49+00:00","author":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#\/schema\/person\/f7e1eee3cb4eae87a59648195014a809"},"breadcrumb":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#primaryimage","url":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1.png","contentUrl":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2022\/08\/seamless-switching-architecture-1.png","width":2429,"height":1294},{"@type":"BreadcrumbList","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/5g-mag-reference-tools-seamless-switching-between-broadcast-and-broadband-delivery\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/websites.fraunhofer.de\/video-dev\/"},{"@type":"ListItem","position":2,"name":"5G-MAG Reference Tools &#8211; Seamless switching between broadcast and broadband delivery"}]},{"@type":"WebSite","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#website","url":"https:\/\/websites.fraunhofer.de\/video-dev\/","name":"Video-Dev","description":"Future Applications and Media - Video Development Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/websites.fraunhofer.de\/video-dev\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#\/schema\/person\/f7e1eee3cb4eae87a59648195014a809","name":"Daniel Silhavy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2019\/11\/0-1-150x150.jpegccb13c1b60303228bf3c575f3345fe29","url":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2019\/11\/0-1-150x150.jpeg","contentUrl":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2019\/11\/0-1-150x150.jpeg","caption":"Daniel Silhavy"},"description":"Daniel Silhavy studied Computer Science at the Technical University of Berlin (TUB). He received his Masters degree with the completion of his thesis \u201cAd Insertion in MPEG-DASH\u201d at Fraunhofer Institute for Open Communication Systems (FOKUS) in 2015. Currently, he is employed as a scientific assistant and project manager at the Business Unit Future Applications and Media (FAME). He specializes in the R&amp;D of topics dealing with IPTV and adaptive media streaming.","sameAs":["https:\/\/www.fokus.fraunhofer.de\/fame\/team\/silhavy","https:\/\/www.linkedin.com\/in\/daniel-silhavy-21650a129\/","https:\/\/x.com\/dsilhavy"],"url":"https:\/\/websites.fraunhofer.de\/video-dev\/author\/silhavy\/"}]}},"_links":{"self":[{"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts\/1381","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/comments?post=1381"}],"version-history":[{"count":39,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts\/1381\/revisions"}],"predecessor-version":[{"id":1430,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts\/1381\/revisions\/1430"}],"wp:attachment":[{"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/media?parent=1381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/categories?post=1381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/tags?post=1381"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/coauthors?post=1381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}