Here's the solution I'm working on:
new Content Type: Video.
This content type has file fields for each file, two video type, up to 10 closed caption files, and chapter markers.
Then I add a node--video.tpl.php
Within the node template I'm then doing this:
$mp4 = ltrim ($node->field_mp4_video[und][0][uri], 'public:/');
$webm = ltrim ($node->field_webm_video[und][0][uri], 'public:/');
$vtt = ltrim ($node->field_chapter_markers[und][0][uri], 'public:/');
$encc = ltrim($node ->field_closed_captions[und][0][uri], 'public:/');
$escc = ltrim($node ->field_closed_captions[und][1][uri], 'public:/');
ltrim trims the public:/
from the front of the string and printing that inside the video element
:
<video width="100%" height="100%" style="width:100%; height=100%;" id="player2" controls="controls" >
<source src="../sites/default/files/<?php print $mp4 ?>" type="video/mp4">
<source src="../sites/default/files/<?php print $webm ?>" type="video/webm">
<track kind="subtitles" src="../sites/default/files/<?php print $encc ?>" srclang="en" />
<track kind="subtitles" src="../sites/default/files/<?php print $escc ?>" srclang="es" />
<track kind="chapters" src="../sites/default/files/<?php print $vtt ?>" />
<p>Unsupported in this browser.</p>
</video>
The un-solved issue is if there's more than the English and Spanish closed-captions. Certainly solvable, but probably outside of the scope of the project as currently budgeted.
Also, Drupal is throwing an error Notice: Use of undefined constant...
. I'll tackle that in a separate question.