{"id":25346,"date":"2021-06-03T09:04:24","date_gmt":"2021-06-03T16:04:24","guid":{"rendered":"https:\/\/michaelhans.com\/eclecticism\/?p=25346"},"modified":"2021-06-03T09:05:03","modified_gmt":"2021-06-03T16:05:03","slug":"dvd-blu-ray-conversion-with-text-soft-subtitles-on-macos-2021-update","status":"publish","type":"post","link":"https:\/\/michaelhans.com\/eclecticism\/2021\/06\/03\/dvd-blu-ray-conversion-with-text-soft-subtitles-on-macos-2021-update\/","title":{"rendered":"DVD\/Blu-Ray conversion with text soft subtitles on macOS (2021 Update)"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1609,&quot;href&quot;:&quot;http:\\\/\\\/www.makemkv.com&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260228025647\\\/https:\\\/\\\/www.makemkv.com\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-02 22:45:19&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-09 12:01:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-13 00:55:09&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 04:11:49&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 05:54:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 16:11:24&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-06 19:49:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 22:41:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-19 14:35:44&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:35:44&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1610,&quot;href&quot;:&quot;https:\\\/\\\/bitbucket.org\\\/galad87\\\/subler&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20140830030406\\\/https:\\\/\\\/bitbucket.org\\\/galad87\\\/subler&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-02 22:45:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 20:31:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 16:56:59&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 05:54:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 12:06:14&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-19 14:36:13&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:36:13&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1611,&quot;href&quot;:&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Closed_captioning&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260211082023\\\/https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/Closed_captioning&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-02 22:45:23&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-13 00:55:07&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 13:39:13&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-05 12:06:29&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 14:36:31&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:36:31&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1612,&quot;href&quot;:&quot;http:\\\/\\\/www.barebones.com\\\/products\\\/bbedit&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260220145534\\\/http:\\\/\\\/www.barebones.com\\\/products\\\/bbedit\\\/&quot;,&quot;redirect_href&quot;:&quot;http:\\\/\\\/www.barebones.com\\\/products\\\/bbedit\\\/&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-11 20:31:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 05:54:52&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-03 16:11:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-07 09:17:43&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-19 14:37:02&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:37:02&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1613,&quot;href&quot;:&quot;https:\\\/\\\/github.com\\\/djwudi\\\/caption-cleanup&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20250519064444\\\/https:\\\/\\\/github.com\\\/djwudi\\\/caption-cleanup&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-02 22:45:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-13 00:55:05&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 13:39:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-06 03:06:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-19 14:37:00&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:37:00&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1614,&quot;href&quot;:&quot;http:\\\/\\\/www.finalsub.com\\\/sep.html&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260120072441\\\/http:\\\/\\\/www.finalsub.com\\\/sep.html&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-02 22:45:33&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-13 00:55:05&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-03-27 13:39:15&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-06 03:06:12&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-19 14:37:02&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:37:02&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1615,&quot;href&quot;:&quot;http:\\\/\\\/www.aegisub.org&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260203184516\\\/https:\\\/\\\/aegisub.org\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-02 22:45:38&quot;,&quot;http_code&quot;:402},{&quot;date&quot;:&quot;2026-03-11 20:31:50&quot;,&quot;http_code&quot;:402},{&quot;date&quot;:&quot;2026-03-15 07:28:25&quot;,&quot;http_code&quot;:402},{&quot;date&quot;:&quot;2026-03-21 04:11:46&quot;,&quot;http_code&quot;:402},{&quot;date&quot;:&quot;2026-03-29 03:03:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 05:03:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 22:41:15&quot;,&quot;http_code&quot;:503},{&quot;date&quot;:&quot;2026-04-19 14:37:04&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:37:04&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1616,&quot;href&quot;:&quot;https:\\\/\\\/handbrake.fr&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260228185712\\\/https:\\\/\\\/handbrake.fr\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-03-02 23:00:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-11 20:31:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-15 07:42:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-21 04:11:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-29 03:03:55&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 05:03:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-13 22:41:20&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-19 14:37:52&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-19 14:37:52&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>Saved here for my own reference, and possibly others&#8217; if they should stumble across it: the easiest workflow I&#8217;ve found yet for converting DVDs or Blu-Rays for personal use on macOS, including conversion of subtitles from either Closed Captions, VobSub (DVD), or PGS (Blu-Ray) format to text-based <code>.srt<\/code> files suitable for use as soft subtitles, either as a sidecar file or included in the final movie file. (Updated from <a href=\"https:\/\/michaelhans.com\/eclecticism\/2015\/01\/30\/dvdblu-ray-conversion-with-text-soft-subs-on-mac-os-x\/\">my original 2015 post<\/a> to account for software and process changes).<\/p>\n<h2>Rip the <del title=\"KMFDM sucks!\">System<\/del> Disk<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/DVD-Subtitle-Workflow-1.png\" alt=\"DVD Subtitle Workflow 1\" title=\"DVD Subtitle Workflow 1.png\" border=\"0\" width=\"299\" height=\"88\" \/><\/p>\n<p>Use <a href=\"http:\/\/www.makemkv.com\" title=\"MakeMKV\">MakeMKV<\/a> to rip the DVD or BluRay disc to <code>.mkv<\/code> files.<\/p>\n<p>Since I&#8217;m archiving special features as well as the main program, I simply rip every title on the disk longer than 30 seconds, and then trash any that I don&#8217;t need (such as menus, studio promos, etc.). I do check to make sure that all English-language audio or subtitle tracks are selected; usually they are by default, but I&#8217;ve seen rare situations where they need to be manually checked.<\/p>\n<p>Once all the <code>.mkv<\/code> files have been created, I go through and rename each one to be something more descriptive than <code>title_t03.mkv<\/code>.<\/p>\n<h2>Extract the Subtitles<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/DVD-Subtitle-Workflow-2.png\" alt=\"DVD Subtitle Workflow 2\" title=\"DVD Subtitle Workflow 2.png\" border=\"0\" width=\"300\" height=\"75\" \/><\/p>\n<p>For each <code>.mkv<\/code> file, use <a href=\"https:\/\/bitbucket.org\/galad87\/subler\" title=\"Subler\">Subler<\/a> to extract the subtitles. This takes two passes through Subler to complete.<\/p>\n<ol>\n<li>First,\u00a0drag the <code>.mkv<\/code> file onto Subler, and deselect everything but the subtitle track(s) that you want to convert.\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/Subler-Import-1.png\" alt=\"Subler Import\" title=\"Subler Import.png\" border=\"0\" width=\"600\" height=\"509\" \/><\/p>\n<p>Subler&#8217;s &#8220;Info&#8221; column will describe the subtitles as either VobSub, PGS, or Text. I used to convert them all so that I could choose which gave me the best results; now, I&#8217;ll ignore VobSub\/PGS if Text is available (but it&#8217;s less common).<\/p>\n<p><strong>VobSub or PGS:<\/strong> These are the most common subtitle types. They&#8217;re actually a series of image files (<code>.png<\/code>, I think) with attached timing information that media players layer over the video stream. The advantage is that font, color, size, placement, and even fancier graphics (sometimes used for &#8220;pop up trivia&#8221; style tracks) are all at the creator&#8217;s discretion; the disadvantage is that because they&#8217;re image files, the text has to be extracted through an OCR (optical character recognition) process that frequently leads to typos and garbage characters.<\/p>\n<p><strong>Text:<\/strong> These are <a href=\"https:\/\/en.wikipedia.org\/wiki\/Closed_captioning\">Closed Caption<\/a> files. I&#8217;m not sure how they&#8217;re stored on the physical disks, but current versions of MakeMKV convert them to text during the process of ripping to <code>.mkv<\/code>. I&#8217;ve generally found these to have far fewer typos and oddities than OCR&#8217;d VobSub or PGS subtitles. However, it&#8217;s often a toss-up as to whether the captions are presented using standard captalization or in ALL CAPITALS, and they use varying numbers of space characters to manually place text centered or off-centered. Depending on how picky you are about the output, these factors can affect how much post-processing is needed.<\/p>\n<p>After choosing the subtitle tracks and clicking &#8220;Add&#8221; to create a new Subler document, you can either save the Subler document (fine if you&#8217;re only doing a single file) or use <em>File > Send to Queue<\/em> to create a batch queue (best if you&#8217;re converting multiple files). When the file is saved or the queue is run and all queued files are saved, Subler will either extract the Closed Caption text or OCR the subtitle images and output a small <code>.mp4<\/code> file.<\/p>\n<\/li>\n<li>\n<p>Second run; drag the new <code>.mp4<\/code> file back onto Subler, click on the subtitle track(s), and choose\u00a0<strong>File &#62; Export&#8230;<\/strong> to save the .srt file(s). The tiny <code>.mp4<\/code> file can then be deleted.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/Subler-Export.png\" alt=\"Subler Export\" title=\"Subler Export.png\" border=\"0\" width=\"600\" height=\"513\" \/><\/p>\n<\/li>\n<\/ol>\n<h2>Correct the Subtitles<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/DVD-Subtitle-Workflow-3.png\" alt=\"DVD Subtitle Workflow 3\" title=\"DVD Subtitle Workflow 3.png\" border=\"0\" width=\"300\" height=\"150\" \/><\/p>\n<p>As noted above, the exported <code>.srt<\/code> file(s) are virtually guaranteed to have some oddities; how many and how intrusive they are depends on the source. Caption files are often in ALL CAPS and have weird spacing used to force the text to a desired on-screen position. Subtitle files will contain OCR errors, but BluRay (PGS) subs seem to come out better than DVD (VobSub) subs (likely due to the higher resolution of the format giving better quality text for the OCR process to scan). Accuracy is also affected by the chosen font and whether or not italics were used.<\/p>\n<p>For correction, I use a couple methods.<\/p>\n<ol>\n<li>For a quick-and-dirty &#8220;good enough most of the time&#8221; run, I use <a href=\"http:\/\/www.barebones.com\/products\/bbedit\/\" title=\"BBEdit\">BBEdit<\/a> (but just about any other text editor would work) to do a quick spellcheck, identifying common errors and using search-and-replace to fix them in batches.\n<p>I&#8217;ve actually <a href=\"https:\/\/github.com\/djwudi\/caption-cleanup\">set up a few scripts<\/a> to automate the most common search-and-replace steps to help with this process.<\/p>\n<\/li>\n<li>\n<p>For a real quality fix&#8211;or if I have the time to create subtitles from scratch for a file that doesn&#8217;t have any&#8211;I use <a href=\"http:\/\/www.finalsub.com\/sep.html\" title=\"Subtitle Edit Pro\">Subtitle Edit Pro<\/a> to go through line-by-line, comparing the text to the original audio, adding italics when appropriate, and so on. (I used to recommend <a href=\"http:\/\/www.aegisub.org\" title=\"Aegisub\">Aegisub<\/a>, but that project appears to have been abandoned a few years back. There doesn&#8217;t seem to be a big market for subtitle editing on macOS; Subtitle Edit Pro is the best option I&#8217;ve found since Aegisub stopped working consistently.)<\/p>\n<\/li>\n<\/ol>\n<p>Of course, these two processes can be combined, done at different times, or skipped entirely; if I don&#8217;t have time or energy to do the error correction, I can always go back and use Subler to extract the <code>.srt<\/code> files for cleanup later.<\/p>\n<h2>Embed the Subtitles<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/DVD-Subtitle-Workflow-4.png\" alt=\"DVD Subtitle Workflow 4\" title=\"DVD Subtitle Workflow 4.png\" border=\"0\" width=\"300\" height=\"150\" \/><\/p>\n<p>Use <a href=\"https:\/\/handbrake.fr\" title=\"HandBrake\">HandBrake<\/a> to re-encode and convert the <code>.mkv<\/code> file (which at this point will be fairly large, straight off the source media) to a smaller <code>.m4v<\/code> file. Include the subtitle file by choosing <em>Tracks > Add External Subtitles Track\u2026<\/em> in HandBrake&#8217;s <em>Subtitles<\/em> tab.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/Handbrake-Subtitles.png\" alt=\"Handbrake Subtitles\" title=\"Handbrake Subtitles.png\" border=\"0\" width=\"600\" height=\"458\" \/><\/p>\n<p>Or, if you&#8217;re already working with an <code>.m4v<\/code> file, you can\u00a0use Subler to add <code>.srt<\/code> files to\u00a0into the <code>.m4v<\/code>: Drag the <code>.m4v<\/code> file from HandBrake on to Subler, drag the <code>.srt<\/code> file(s) into the window that opens, and then save the file.<\/p>\n<h1>Finito!<\/h1>\n<p>And that&#8217;s it. Now,\u00a0you should have a <code>.m4v<\/code> file with embedded text-based soft subtitles.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display:block; margin-left:auto; margin-right:auto;\" src=\"https:\/\/michaelhans.com\/eclecticism\/wp-content\/uploads\/2021\/06\/TWOK-Subtitles-Example.png\" alt=\"TWOK Subtitles Example\" title=\"TWOK Subtitles Example.png\" border=\"0\" width=\"600\" height=\"254\" \/><\/p>\n<p>You can also just store the <code>.srt<\/code> file(s) in the same directory and with the same name as the <code>.m4v<\/code> file for apps that don&#8217;t read embedded <code>.srt<\/code> files but will read sidecar files.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My updated workflow for ripping media with soft subtitles for a home media server<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2038,2037],"tags":[3442,1548,1384],"class_list":["post-25346","post","type-post","status-publish","format-standard","hentry","category-tech","category-tv-and-films","tag-aegisub","tag-macos","tag-subtitles"],"_links":{"self":[{"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/posts\/25346","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/comments?post=25346"}],"version-history":[{"count":0,"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/posts\/25346\/revisions"}],"wp:attachment":[{"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/media?parent=25346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/categories?post=25346"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michaelhans.com\/eclecticism\/wp-json\/wp\/v2\/tags?post=25346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}