Configuring VTT and MIME types

Updated on December 8th, 2022

Table of Contents

X

Symptom

When viewing content within either Clip Link/Select, VTT files are not functioning even though present and configured.

Tip: Pressing F12 when attempting to stream content in Clip Link/Select can often help provide additional details when investigation. In this example, errors should be present outlining issues with VTT and MIME types.

Resolution

In order to run VTT files within Clip Select/link, it is necessary to first enable MIME types within IIS:

  1. In IIS, on the relevant web server, right-click Default Web Site and add a virtual directory pointing toward Proxy File Location:

 The above image illustrates a virtual directory called WebVTT, which, when explored, outlines that it is pointing toward the top level of the Proxy directory.

NOTE: A second Virtual Directory will need to be created if Thumbnail and VTT (Subtitle) files are not located in the same directory as the proxies created above.

  • If the physical path for the virtual directory does not reside on the same machine as the web application then Microsoft IE11 client browser will not be able to display the VTT thumbnails (though other browsers will be able to).
  • The folder structure below for the physical path MUST be the same for each Virtual Directory, otherwise marrying them together will not work. ie. If the HLS-TS-SVSERVER folder structure is HLS-TS-SVSERVER\proxies\[AssetName]\[AssetNameEtc] then the VTT Files folder structure must match = VTTFiles\proxies\[AssetName]\[AssetNameEtc]
  • Default Siphon VTT creation location: C:\Program Files\IPV\Curator\PRODUCTION\Proxies (So this folder would be made a Virtual Directory)
  1. As more and more sub-folders will be generated, it is fundamental that Virtual Director is enabled for each Virtual Directory created. Unless it is enabled for the Parent Default Website, which will filter down the settings.
    1. Within IIS, select the relevant Virtual Directory (Such WebVTT from the previous example/or top level Default Web Site), that you created above.
    2. Choose Directory Browsing (If you cannot see this, ensure Features View is selected as the tab located in the bottom left hand corner)
    3. Select Enable from the right-hand list actions menu.
  2. In order for MIME types to be processed correctly, these will need to be configured within each relevant Virtual Directory or within the top level Default Web Site.
    1. With the relevant Virtual Directory selected, choose MIME Types from feature selection.
    2. Choose Addfrom the top right menu and configure the following:
      • File name extension = .vtt Mime Type= text/vtt
      • File name extension =.m3u8 Mime Type= application/x-mpegURL
      • File name extension =.ts Mime Type= video/MP2T
  1. For each relevant Virtual Directory, unless you are configuring this for the Default Web Site, set the following HTTP response header names
    1. With the relevant Virtual Directory selected, choose HTTP Response Headers from the feature selection.
    2. Choose Addfrom the top right menu and configure the following:
      1. Name=Access-Control-Allow-Origin Value=[NameOfServerRequestingVTTFiles] (For example IPV-SUP-006, or * for wildcard)
      2. Name=Access-Control-Allow-Headers Value=GET, PUT, POST, DELETE, OPTIONS, origin, x-requested-with
    3. Finally, the web.configof the relevant IPV application, e.g. Clip Link, will need to be altered to point to the Virtual Directories created above.
      1. Open up the relevant Web.config and find the line referenced <add key=”ThumbnailVttWebLocation value="http://localhost/{proxy-path}/{name}/{name}_thumbnail.vtt" />
      2. For example, if the Virtual Directory created above was called WebVTT on server IPV-SUP-006 then the web.configline will be as follows:
        1. <add key=”ThumbnailVttWebLocation value="http://IPV-SUP-006/WebVTT/{proxy-path}/{name}/{name}_thumbnail.vtt" />
        2. For WOWZA installs: <add key=”ThumbnailVttWebLocation value="http://localhost/WebVTT/{proxy-path}/{name}.vtt" />
Was this article helpful?