{"id":1259,"date":"2022-02-01T11:34:53","date_gmt":"2022-02-01T10:34:53","guid":{"rendered":"https:\/\/websites.fraunhofer.de\/video-dev\/?p=1259"},"modified":"2022-02-01T11:34:54","modified_gmt":"2022-02-01T10:34:54","slug":"following-the-recommendation-key-system-string-priority-in-dash-js","status":"publish","type":"post","link":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/","title":{"rendered":"Following the &#8220;.recommendation&#8221; &#8211; Key system string priority in dash.js"},"content":{"rendered":"\n<p>As part of our work on dash.js we are involved in numerous interesting discussions and face various exciting problems. Digital Rights Management (DRM) is definitely one of the most challenging areas in the context of Adaptive Bitrate (ABR) streaming and player development. In our previous blog posts, we addressed the issues of <a href=\"https:\/\/websites.fraunhofer.de\/video-dev\/dash-js-license-acquisition-for-multiple-eme-versions\/\" target=\"_blank\" rel=\"noreferrer noopener\">supporting different versions of the EME<\/a> and <a href=\"https:\/\/websites.fraunhofer.de\/video-dev\/enabling-hardware-drm-on-android-chrome-using-the-encrypted-media-extensions\/\" target=\"_blank\" rel=\"noreferrer noopener\">enabling hardware DRM on Android Chrome using the EME<\/a>. Quite recently, another <a href=\"https:\/\/github.com\/Dash-Industry-Forum\/dash.js\/issues\/3852\" target=\"_blank\" rel=\"noreferrer noopener\">interesting discussion<\/a> in the context of DRM popped up in the dash.js issue tracker. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"different-key-system-strings-for-microsoft-playready\">Different key system strings for Microsoft Playready<\/h2>\n\n\n\n<p>Using the Encrypted Media Extensions (EME),  media players need to call the <code>navigator.requestMediaKeySystemAccess<\/code> function to obtain access to a key system. As part of the call to <meta charset=\"utf-8\"><code>navigator.requestMediaKeySystemAccess<\/code> a key system string must be provided. Typical key system strings to be used here are <code>com.microsoft.playready<\/code> for the Microsoft Playready DRM system and <code>com.widevine.alpha<\/code> for the Google Widevine DRM system.<\/p>\n\n\n\n<p>Unfortunately the mapping of a key system string to an DRM system is not unique. For historical reasons, Playready supports different key system strings, all mapping to the same content protection schemeIdUri. Sam Wenker from the Microsoft PlayReady team gave some interesting insights on this:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>The reason for having two key system strings for PlayReady is because Microsoft had major customers requesting EME support long before the EME spec&nbsp;<em>became<\/em>&nbsp;a recommendation &#8211; it was still in draft. <br>As a result, Microsoft implemented <code>com.microsoft.playready<\/code> based on that draft spec. The EME spec changed&nbsp;<em>substantially<\/em>&nbsp;after that implementation was released &#8211; so much so that there was no way to modify the existing implementation to be compatible with both the final recommendation spec and existing websites &#8211; Microsoft had a choice of either breaking existing websites or not being spec compliant, and we chose the latter. Since EME provides no way to specify additional key-system-specific data in the MediaKeySystemConfiguration, we had no choice but to create a new key system string for the new, spec-compliant implementation.<\/p><p>Unfortunately, that does add a number of nuances to how PlayReady is used. If you&#8217;re only dealing with recent Windows OS, recent Edge, and recent third-party browsers built on a recent PK and not doing anything unusual with the key system string in their implementations (where &#8220;recent&#8221; is relative in all cases), it&#8217;s pretty simple &#8211; <code>com.microsoft.playready.recommendation<\/code> with robustness string <code>3000<\/code> if desired. But as soon as you start factoring in all the combinations of older implementations, things get wonky.<\/p><p>Edge on Windows should properly map 3000 to hardware DRM. If you&#8217;re having trouble getting that to work properly, you can also use the key system string <code>com.microsoft.playready.recommendation.3000<\/code> (windows only) to force hardware DRM for video. If the key system string <code>com.microsoft.playready.recommendation<\/code> is not supported, you can fall back to <code>com.microsoft.playready<\/code> (or <code>com.microsoft.playready.hardware<\/code>) for the legacy implementation. However, the legacy implementation has many incompatibilities with the EME spec, and we may remove support for it entirely in the future. I strongly recommend against using the legacy implementation under any circumstances.<\/p><cite><em><a href=\"https:\/\/github.com\/Dash-Industry-Forum\/dash.js\/issues\/3852\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/Dash-Industry-Forum\/dash.js\/issues\/3852<\/a><\/em><\/cite><\/blockquote>\n\n\n\n<p>There are three major takeaways from this statement:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Depending on the platform, multiple Playready key system strings can be supported.<\/li><li>Clients shall use <code>com.microsoft.playready.recommendation<\/code> whenever possible.<\/li><li>Application providers and dash.js users need full flexibility to account for the various possible combinations of key system string and other DRM configuration options such as <code>persistentState<\/code> and <code>distinctiveIdentifier<\/code>. <\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dash-js-4-3-0-key-system-string-flexibility\">dash.js 4.3.0 &#8211; Key system string flexibility<\/h2>\n\n\n\n<p>With dash.js version 4.3.0 we introduce <a href=\"https:\/\/github.com\/Dash-Industry-Forum\/dash.js\/pull\/3859\" target=\"_blank\" rel=\"noreferrer noopener\">full flexibility in terms of the key system string configuration<\/a>. In addition to specific configuration parameters such as <code>persistentState<\/code> and <code>distinctiveIdentifier<\/code> dash.js users can define a DRM system specific <code>systemStringPriority<\/code>: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"protData\": {\n    \"com.widevine.alpha\": {\n        \"serverURL\": \"https:\/\/someurl.com\",\n        \"systemStringPriority\": &#91;\"com.widevine.something\", \"com.widevine.alpha\"]\n    },\n    \"com.microsoft.playready\": {\n        \"serverURL\": \"https:\/\/someurl.com\",\n        \"systemStringPriority\": &#91;\"com.microsoft.playready.recommendation\",\"com.microsoft.playready\"]\n    }\n},<\/code><\/pre>\n\n\n\n<p>Following the recommendation from Microsoft, we are also moving to <meta charset=\"utf-8\"><code>com.microsoft.playready.recommendation<\/code> as the default key system string for the Playready DRM system. If  <meta charset=\"utf-8\"><code>com.microsoft.playready.recommendation<\/code> is not supported, we fall back to <meta charset=\"utf-8\"><code>com.microsoft.playready<\/code>. <\/p>\n\n\n\n<p>We are confident that this addition will give dash.js user the required flexibility to achieve the optimal performance for the playback of their DRM protected content on the various possible end devices and platforms. A complete dash.js example showcasing the new configuration options can be found <a href=\"https:\/\/reference.dashif.org\/dash.js\/nightly\/samples\/drm\/system-string-priority.html\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>. If you require any further assistance on dash.js, or you identified problems or missing features in dash.js, please reach out to us on <a href=\"https:\/\/github.com\/Dash-Industry-Forum\/dash.js\" target=\"_blank\" rel=\"noreferrer noopener\">Github<\/a>. Until then: Happy streaming and stay safe (encrypted)!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As part of our work on dash.js we are involved in numerous interesting discussions and face various exciting problems. Digital Rights Management (DRM) is definitely one of the most challenging areas in the context of Adaptive Bitrate (ABR) streaming and&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[47,3,9,5,2,11,10],"tags":[],"coauthors":[6],"class_list":["post-1259","post","type-post","status-publish","format-standard","hentry","category-cenc","category-dash-js","category-drm","category-encrypted-media-extensions","category-mpeg-dash","category-playready","category-widevine"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Following the &quot;.recommendation&quot; - Key system string priority in dash.js - Video-Dev<\/title>\n<meta name=\"description\" content=\"Key system string support in dash.js: With dash.js version 4.3.0 we introduce full flexibility in terms of the key system string configuration.\" \/>\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\/following-the-recommendation-key-system-string-priority-in-dash-js\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Following the &quot;.recommendation&quot; - Key system string priority in dash.js - Video-Dev\" \/>\n<meta property=\"og:description\" content=\"Key system string support in dash.js: With dash.js version 4.3.0 we introduce full flexibility in terms of the key system string configuration.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Video-Dev\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-01T10:34:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-01T10:34:54+00:00\" \/>\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=\"4 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\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/\"},\"author\":{\"name\":\"Daniel Silhavy\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#\\\/schema\\\/person\\\/f7e1eee3cb4eae87a59648195014a809\"},\"headline\":\"Following the &#8220;.recommendation&#8221; &#8211; Key system string priority in dash.js\",\"datePublished\":\"2022-02-01T10:34:53+00:00\",\"dateModified\":\"2022-02-01T10:34:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/\"},\"wordCount\":717,\"commentCount\":0,\"articleSection\":[\"CENC\",\"dash.js\",\"DRM\",\"Encrypted Media Extensions\",\"MPEG-DASH\",\"Playready\",\"Widevine\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/\",\"url\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/\",\"name\":\"Following the \\\".recommendation\\\" - Key system string priority in dash.js - Video-Dev\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#website\"},\"datePublished\":\"2022-02-01T10:34:53+00:00\",\"dateModified\":\"2022-02-01T10:34:54+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/#\\\/schema\\\/person\\\/f7e1eee3cb4eae87a59648195014a809\"},\"description\":\"Key system string support in dash.js: With dash.js version 4.3.0 we introduce full flexibility in terms of the key system string configuration.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/following-the-recommendation-key-system-string-priority-in-dash-js\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/websites.fraunhofer.de\\\/video-dev\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Following the &#8220;.recommendation&#8221; &#8211; Key system string priority in dash.js\"}]},{\"@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":"Following the \".recommendation\" - Key system string priority in dash.js - Video-Dev","description":"Key system string support in dash.js: With dash.js version 4.3.0 we introduce full flexibility in terms of the key system string configuration.","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\/following-the-recommendation-key-system-string-priority-in-dash-js\/","og_locale":"en_US","og_type":"article","og_title":"Following the \".recommendation\" - Key system string priority in dash.js - Video-Dev","og_description":"Key system string support in dash.js: With dash.js version 4.3.0 we introduce full flexibility in terms of the key system string configuration.","og_url":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/","og_site_name":"Video-Dev","article_published_time":"2022-02-01T10:34:53+00:00","article_modified_time":"2022-02-01T10:34:54+00:00","author":"Daniel Silhavy","twitter_card":"summary_large_image","twitter_creator":"@dsilhavy","twitter_misc":{"Written by":"Daniel Silhavy","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/#article","isPartOf":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/"},"author":{"name":"Daniel Silhavy","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#\/schema\/person\/f7e1eee3cb4eae87a59648195014a809"},"headline":"Following the &#8220;.recommendation&#8221; &#8211; Key system string priority in dash.js","datePublished":"2022-02-01T10:34:53+00:00","dateModified":"2022-02-01T10:34:54+00:00","mainEntityOfPage":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/"},"wordCount":717,"commentCount":0,"articleSection":["CENC","dash.js","DRM","Encrypted Media Extensions","MPEG-DASH","Playready","Widevine"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/","url":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/","name":"Following the \".recommendation\" - Key system string priority in dash.js - Video-Dev","isPartOf":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#website"},"datePublished":"2022-02-01T10:34:53+00:00","dateModified":"2022-02-01T10:34:54+00:00","author":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/#\/schema\/person\/f7e1eee3cb4eae87a59648195014a809"},"description":"Key system string support in dash.js: With dash.js version 4.3.0 we introduce full flexibility in terms of the key system string configuration.","breadcrumb":{"@id":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/websites.fraunhofer.de\/video-dev\/following-the-recommendation-key-system-string-priority-in-dash-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/websites.fraunhofer.de\/video-dev\/"},{"@type":"ListItem","position":2,"name":"Following the &#8220;.recommendation&#8221; &#8211; Key system string priority in dash.js"}]},{"@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\/1259","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=1259"}],"version-history":[{"count":22,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts\/1259\/revisions"}],"predecessor-version":[{"id":1289,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/posts\/1259\/revisions\/1289"}],"wp:attachment":[{"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/media?parent=1259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/categories?post=1259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/tags?post=1259"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/websites.fraunhofer.de\/video-dev\/wp-json\/wp\/v2\/coauthors?post=1259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}