{"id":1776,"date":"2024-05-13T16:16:57","date_gmt":"2024-05-13T14:16:57","guid":{"rendered":"https:\/\/websites.fraunhofer.de\/video-dev\/?p=1776"},"modified":"2024-05-13T16:16:59","modified_gmt":"2024-05-13T14:16:59","slug":"kid-it-out-putting-big-buck-bunny-on-a-diet","status":"publish","type":"post","link":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/","title":{"rendered":"KID it out \u2014 Putting Big Buck Bunny on a diet"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Prologue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Imagine this: You are coming home after a long day, ready to relax on your couch with a good book or an exciting movie. You are in front of your apartment, you have your key, but you can&#8217;t open the door. For some reason, the keyhole is blocked, and you can&#8217;t insert the key. Actually, something similar happened to my brother lately. He was coming home at 3 am, and an old tenant of the house had sealed the keyhole. He had to drive back the whole way to crash at a friend&#8217;s place. Different story though\u2026 In our case, the key is actually a license key, and we need it to decrypt our video. But for some reason, we can&#8217;t use this valid key\/license.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We all enjoy streaming videos to our TVs. However, as developers, we know the dark side of media streaming. We know how painful it can be to develop applications for embedded devices such as Smart TVs or Set-Top boxes. Quite often something works very well on Desktop browsers but fails on embedded devices. Recently we were facing exactly such a situation. So, let me tell you the story about &#8220;<strong>Putting Big Buck Bunny on a diet<\/strong>&#8220;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Chapter One &#8211; The ancient manuscript<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We are at a very busy online bazaar. From one of the merchants, we buy a .zip surprise bag.  It contains an ancient manuscript, a dusty device and piece of paper with a token and a URL on it. Our task: Use the device to decrypt and play the content that is described in the manuscript. First, we take a look at the manuscript. It contains some very weird symbols and seems to follow a certain structure. It looks like an XML and\u2026 wait, we have seen this before! This looks like a DASH MPD!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"536\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/manuscript-2-698x536.png\" alt=\"\" class=\"wp-image-1779\" style=\"width:318px;height:auto\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/manuscript-2-698x536.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/manuscript-2-400x307.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/manuscript-2-768x590.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/manuscript-2-1536x1179.png 1536w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/manuscript-2-2048x1572.png 2048w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The dusty device looks familiar as well. It is a very old and simple Set-Top box that we can connect to our TV. Then the URL and the token on the paper can probably be used to fetch a license and decrypt whatever our DASH manifest is pointing to. Putting the pieces together and voil\u00e0: We see a video playing! <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"698\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bunny_playing-698x698.png\" alt=\"\" class=\"wp-image-1790\" style=\"width:379px;height:auto\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bunny_playing-698x698.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bunny_playing-400x400.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bunny_playing-150x150.png 150w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bunny_playing-768x768.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bunny_playing-1536x1536.png 1536w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bunny_playing-2048x2048.png 2048w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">At least on our modern development device. Now let&#8217;s just confirm on the old Set-Top box, and we are done:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"698\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bbb_error-1-698x698.png\" alt=\"\" class=\"wp-image-1786\" style=\"width:367px;height:auto\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bbb_error-1-698x698.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bbb_error-1-400x400.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bbb_error-1-150x150.png 150w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bbb_error-1-768x768.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bbb_error-1-1536x1536.png 1536w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/bbb_error-1-2048x2048.png 2048w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Well, it seems the friendly bunny we saw before is not that friendly anymore. It is stopping us from playing our content. And the only thing he tells us is the following:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><em>MEDIA_ERR_SRC_NOT_SUPPORTED (No key ID available for encrypted sample)<\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Chapter Two &#8211; Those who control the past control the future<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To quote George Orwell:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Those who control the present, control the past and those who control the past control the future<\/p>\n<cite>George Orwell<\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Let&#8217;s manipulate our manuscript (manifest) and check what happens. Maybe the angry bunny is only angry because we are feeding him too much information. What happens if we remove our Audio or our Video &lt;AdaptationSet>? Are we still seeing the same error? <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we don&#8217;t want to ruin our original manuscript. It might be valuable. Instead, we are creating our own copies of the manuscript for testing:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"354\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/mpd-proxy-698x354.png\" alt=\"\" class=\"wp-image-1789\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/mpd-proxy-698x354.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/mpd-proxy-400x203.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/mpd-proxy-768x390.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/mpd-proxy-1536x779.png 1536w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/mpd-proxy-2048x1039.png 2048w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We are running a small MPD Proxy to manipulate outgoing manifest requests. The MPD proxy removes specific parts of the manifest, such as an &lt;AdaptationSet> or a specific &lt;Representation>. That way, we can check if our problem is limited to video or audio segments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unfortunately, playback is still not working and the bunny and his friends are making fun of us:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"698\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/nice-try-698x698.png\" alt=\"\" class=\"wp-image-1791\" style=\"width:404px;height:auto\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/nice-try-698x698.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/nice-try-400x400.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/nice-try-150x150.png 150w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/nice-try-768x768.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/nice-try-1536x1536.png 1536w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/nice-try-2048x2048.png 2048w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Chapter Three &#8211; KID it out &#8211; Cutting down on unhealthy boxes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Flashback to our childhood. What did we hate when we were kids? For me, it was broccoli. Having to finish my broccoli made me angry. Possibly we are feeding our bunny bad food? Perhaps he can&#8217;t digest one of the ISOBMFF boxes we are feeding him? Let&#8217;s take a look into our media segments to check what we can remove from the plate:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"455\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-original-698x455.png\" alt=\"\" class=\"wp-image-1797\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-original-698x455.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-original-400x261.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-original-768x500.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-original.png 1520w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Well, look what we have here. A very unhealthy <em>UUID<\/em> box with a <em>KID<\/em> field. That is no good food for our KIDs (hope you got it) and also not good for our bunny. Let&#8217;s remove this from the menu:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"656\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-removed.png\" alt=\"\" class=\"wp-image-1798\" style=\"width:365px;height:auto\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-removed.png 624w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/uuid-removed-400x421.png 400w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Technical details: Modifying ISOBMFF media segments is not a simple task. Removing one of the ISOBMFF boxes requires changes in other boxes as well. The <em>size<\/em> and the <em>dataOffset<\/em> attributes of the parent boxes need to be adjusted. Our FAMIUM Packager solution which is part of our <a href=\"https:\/\/www.fokus.fraunhofer.de\/go\/dash\">DASH toolchain <\/a>is able to perform such complex operations. We used it to remove the problematic <em>UUID<\/em> box from a video segment to perform further tests.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Chapter Four &#8211; A special menu for a spoiled guest <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Now let&#8217;s see how our special guest likes the new menu. We are not producing the new healthy segment in large numbers yet. So we need to create a custom menu that only selected guests are getting. Luckily, this is pretty easy to do. We just change our manuscript (manifest) again to point to our modified segment. We need to add some special ingredients such as a spicy <em>@presentationTimeOffset<\/em> to our manifest to make this work. In the end we get a static manifest instead of a dynamic one that we can easily use for testing:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> &lt;SegmentTemplate initialization=\"video-$Bandwidth$-init.mp4\" media=\"<strong>video-$Bandwidth$-$Number$-patched.m4s<\/strong>\" startNumber=\"0\" timescale=\"25\">\n &lt;\/SegmentTemplate>\n&lt;Representation bandwidth=\"2800000\" codecs=\"avc1.4d401f\" frameRate=\"25\" height=\"540\" id=\"Video1_1\" sar=\"1:1\" scanType=\"progressive\" width=\"960\" <strong>presentationTimeOffset=\"42835577159\"<\/strong>\/><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Chapter Five &#8211; A happy end<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I admit, we are missing a climax in our story, so I will just move to the end: We made it! Our bunny likes his new menu so much, he decided to open the door lock for us (this is not a dirty joke) and let us use our valid license. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Speaking in technical terms again: The <em>UUID<\/em> box in the ISOBMFF segments caused the Set-Top box to throw an error regardless of the status of the license request. After removing the <em>UUID<\/em> box from the segments and creating a simple, static MPD, the content is playing successfully. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As for our bunny: It looks like he is tired of eating processed food, he is now hunting and cooking himself:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"698\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-698x698.png\" alt=\"\" class=\"wp-image-1800\" style=\"width:517px;height:auto\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-698x698.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-400x400.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-150x150.png 150w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-768x768.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-1536x1536.png 1536w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-2048x2048.png 2048w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you would like to try our digital menu yourself, we kindly invite you to join us in Berlin from June 11th &#8211; June 12th for the <a href=\"https:\/\/www.fokus.fraunhofer.de\/go\/mws\">11th FOKUS Media Web Symposium<\/a>. The event is co-located with the <a href=\"https:\/\/www.eventbrite.de\/e\/dashjs-face-to-face-meeting-2024-tickets-857020028977?aff=oddtdtcreator\">dash.js face to face<\/a>. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.fokus.fraunhofer.de\/go\/mws\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"699\" src=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/Aufkleber_MWS2024_Druck_Beschnitt-1-698x699.png\" alt=\"\" class=\"wp-image-1814\" style=\"width:429px;height:auto\" srcset=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/Aufkleber_MWS2024_Druck_Beschnitt-1-698x699.png 698w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/Aufkleber_MWS2024_Druck_Beschnitt-1-400x401.png 400w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/Aufkleber_MWS2024_Druck_Beschnitt-1-150x150.png 150w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/Aufkleber_MWS2024_Druck_Beschnitt-1-768x770.png 768w, https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/Aufkleber_MWS2024_Druck_Beschnitt-1.png 1017w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">If you have any question regarding our DASH activities or dash.js in particular, feel free to check out our\u00a0<a href=\"https:\/\/www.fokus.fraunhofer.de\/go\/dash\">website<\/a>\u00a0and contact us.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prologue Imagine this: You are coming home after a long day, ready to relax on your couch with a good book or an exciting movie. You are in front of your apartment, you have your key, but you can&#8217;t open&#8230;<\/p>\n","protected":false},"author":2,"featured_media":1800,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47,3,9,5,4,2,11,10],"tags":[],"coauthors":[6],"class_list":["post-1776","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cenc","category-dash-js","category-drm","category-encrypted-media-extensions","category-media-source-extensions","category-mpeg-dash","category-playready","category-widevine"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>KID it out \u2014 Putting Big Buck Bunny on a diet - Video-Dev<\/title>\n<meta name=\"description\" content=\"Overcoming playback problems of DRM protected DASH content on Set-Top boxes.\" \/>\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\/kid-it-out-putting-big-buck-bunny-on-a-diet\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"KID it out \u2014 Putting Big Buck Bunny on a diet - Video-Dev\" \/>\n<meta property=\"og:description\" content=\"Overcoming playback problems of DRM protected DASH content on Set-Top boxes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/\" \/>\n<meta property=\"og:site_name\" content=\"Video-Dev\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-13T14:16:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-13T14:16:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-698x698.png\" \/>\n\t<meta property=\"og:image:width\" content=\"698\" \/>\n\t<meta property=\"og:image:height\" content=\"698\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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=\"7 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\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/\"},\"author\":{\"name\":\"Daniel Silhavy\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#\\\/schema\\\/person\\\/f7e1eee3cb4eae87a59648195014a809\"},\"headline\":\"KID it out \u2014 Putting Big Buck Bunny on a diet\",\"datePublished\":\"2024-05-13T14:16:57+00:00\",\"dateModified\":\"2024-05-13T14:16:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/\"},\"wordCount\":1099,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/hunting-bunny.png\",\"articleSection\":[\"CENC\",\"dash.js\",\"DRM\",\"Encrypted Media Extensions\",\"Media Source Extensions\",\"MPEG-DASH\",\"Playready\",\"Widevine\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/\",\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/\",\"name\":\"KID it out \u2014 Putting Big Buck Bunny on a diet - Video-Dev\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/hunting-bunny.png\",\"datePublished\":\"2024-05-13T14:16:57+00:00\",\"dateModified\":\"2024-05-13T14:16:59+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#\\\/schema\\\/person\\\/f7e1eee3cb4eae87a59648195014a809\"},\"description\":\"Overcoming playback problems of DRM protected DASH content on Set-Top boxes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#primaryimage\",\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/hunting-bunny.png\",\"contentUrl\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/hunting-bunny.png\",\"width\":2640,\"height\":2640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/kid-it-out-putting-big-buck-bunny-on-a-diet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"KID it out \u2014 Putting Big Buck Bunny on a diet\"}]},{\"@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":"KID it out \u2014 Putting Big Buck Bunny on a diet - Video-Dev","description":"Overcoming playback problems of DRM protected DASH content on Set-Top boxes.","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\/kid-it-out-putting-big-buck-bunny-on-a-diet\/","og_locale":"en_US","og_type":"article","og_title":"KID it out \u2014 Putting Big Buck Bunny on a diet - Video-Dev","og_description":"Overcoming playback problems of DRM protected DASH content on Set-Top boxes.","og_url":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/","og_site_name":"Video-Dev","article_published_time":"2024-05-13T14:16:57+00:00","article_modified_time":"2024-05-13T14:16:59+00:00","og_image":[{"width":698,"height":698,"url":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny-698x698.png","type":"image\/png"}],"author":"Daniel Silhavy","twitter_card":"summary_large_image","twitter_creator":"@dsilhavy","twitter_misc":{"Written by":"Daniel Silhavy","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#article","isPartOf":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/"},"author":{"name":"Daniel Silhavy","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#\/schema\/person\/f7e1eee3cb4eae87a59648195014a809"},"headline":"KID it out \u2014 Putting Big Buck Bunny on a diet","datePublished":"2024-05-13T14:16:57+00:00","dateModified":"2024-05-13T14:16:59+00:00","mainEntityOfPage":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/"},"wordCount":1099,"commentCount":0,"image":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#primaryimage"},"thumbnailUrl":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny.png","articleSection":["CENC","dash.js","DRM","Encrypted Media Extensions","Media Source Extensions","MPEG-DASH","Playready","Widevine"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/","url":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/","name":"KID it out \u2014 Putting Big Buck Bunny on a diet - Video-Dev","isPartOf":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#website"},"primaryImageOfPage":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#primaryimage"},"image":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#primaryimage"},"thumbnailUrl":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny.png","datePublished":"2024-05-13T14:16:57+00:00","dateModified":"2024-05-13T14:16:59+00:00","author":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#\/schema\/person\/f7e1eee3cb4eae87a59648195014a809"},"description":"Overcoming playback problems of DRM protected DASH content on Set-Top boxes.","breadcrumb":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#primaryimage","url":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny.png","contentUrl":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-content\/uploads\/2024\/05\/hunting-bunny.png","width":2640,"height":2640},{"@type":"BreadcrumbList","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/kid-it-out-putting-big-buck-bunny-on-a-diet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/websites.fraunhofer.de\/video-dev\/"},{"@type":"ListItem","position":2,"name":"KID it out \u2014 Putting Big Buck Bunny on a diet"}]},{"@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\/1776","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=1776"}],"version-history":[{"count":23,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts\/1776\/revisions"}],"predecessor-version":[{"id":1816,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts\/1776\/revisions\/1816"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/media\/1800"}],"wp:attachment":[{"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/media?parent=1776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/categories?post=1776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/tags?post=1776"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/coauthors?post=1776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}