HTML5 track captions not showing
Track tag is working when your content is served at a web server. Also don't forget to add a configuration that sets mime type as vtt file. Here is my example that works on IIS :
<video>
<source src="video.mp4" type="video/mp4" />
<track src="video.en.vtt" kind="subtitles"
label="English Subtitles" srclang="en" />
</video>
For IIS Web.Config File :
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".vtt" />
<mimeMap fileExtension=".vtt" mimeType="text/vtt" />
</staticContent>
</system.webServer>
</configuration>
For Tomcat Server WEB-INF/web.xml file :
<web-app>
<mime-mapping>
<extension>vtt</extension>
<mime-type>text/vtt</mime-type>
</mime-mapping>
</web-app>
For Apache Server add .htaccess file to your web directory, and write that line to add subtitle mime type :
AddType text/vtt .vtt
You need to set the mode
of the textTracks
object to "showing":
var video = document.querySelector('YOUR_VIDEO_SELECTOR');
video.addEventListener('load', function() {
var tracks = video.textTracks[0];
tracks.mode = 'showing';
});
Make sure that your file is saved as UTF-8 to make sure that special characters will display properly
Canavar has the correct answer but one thing that worked for me was just to change the .vtt file to a .txt file, then you don't have to worried about the file server configuration. It handled the Closed Captioning just fine for me in Chrome.