Deployed cbeff37 with MkDocs version: 1.6.1

This commit is contained in:
2026-10-31 05:41:08 +00:00
parent dad55e4568
commit f324d09dc5
4 changed files with 139 additions and 2 deletions
+2 -1
View File
@@ -2539,7 +2539,8 @@ DASH and HLS deliver. You never keep these as-is: right after download they are
unwrapped into their plain counterparts (<code>fTTML</code> becomes TTML and <code>fVTT</code> becomes
WebVTT), so you always end up with an editable text subtitle. For a DASH track, the
unwrap also subtracts the manifest's <code>presentationTimeOffset</code> from the cue times, so the
subtitles stay in sync with the video. Note that this is a
subtitles stay in sync with the video. For an ISM track whose cues count from the start of
each fragment, the unwrap moves every cue onto the timeline of the track. Note that this is a
one-way, source-only relationship: you can convert <em>from</em> these boxed formats, but no
backend can write them as an output target, so they can never be a conversion
destination.</p>
BIN
View File
Binary file not shown.
+136
View File
@@ -2313,6 +2313,39 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#unshackle.core.tracks.Subtitle.mdat_payloads" class="md-nav__link">
<span class="md-ellipsis">
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code>&nbsp;mdat_payloads
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#unshackle.core.tracks.Subtitle.first_cue_start" class="md-nav__link">
<span class="md-ellipsis">
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code>&nbsp;first_cue_start
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#unshackle.core.tracks.Subtitle.unwrap_ism_ttml" class="md-nav__link">
<span class="md-ellipsis">
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code>&nbsp;unwrap_ism_ttml
</span>
</a>
</li>
<li class="md-nav__item">
@@ -3753,6 +3786,39 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#unshackle.core.tracks.Subtitle.mdat_payloads" class="md-nav__link">
<span class="md-ellipsis">
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code>&nbsp;mdat_payloads
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#unshackle.core.tracks.Subtitle.first_cue_start" class="md-nav__link">
<span class="md-ellipsis">
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code>&nbsp;first_cue_start
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#unshackle.core.tracks.Subtitle.unwrap_ism_ttml" class="md-nav__link">
<span class="md-ellipsis">
<code class="doc-symbol doc-symbol-toc doc-symbol-method"></code>&nbsp;unwrap_ism_ttml
</span>
</a>
</li>
<li class="md-nav__item">
@@ -6274,6 +6340,76 @@ A cue carried in from before the offset starts at 0; this method drops a cue tha
<div class="doc doc-object doc-function">
<h3 id="unshackle.core.tracks.Subtitle.mdat_payloads" class="doc doc-heading">
<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">mdat_payloads</span>
<span class="doc doc-labels">
<small class="doc doc-label doc-label-staticmethod"><code>staticmethod</code></small>
</span>
<a href="#unshackle.core.tracks.Subtitle.mdat_payloads" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">mdat_payloads</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
</span></code></pre></div>
<div class="doc doc-contents ">
<p>The payload of every mdat box in a fragmented MP4 file, in file order.</p>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="unshackle.core.tracks.Subtitle.first_cue_start" class="doc doc-heading">
<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">first_cue_start</span>
<span class="doc doc-labels">
<small class="doc doc-label doc-label-staticmethod"><code>staticmethod</code></small>
</span>
<a href="#unshackle.core.tracks.Subtitle.first_cue_start" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">first_cue_start</span><span class="p">(</span><span class="n">caption_set</span><span class="p">)</span>
</span></code></pre></div>
<div class="doc doc-contents ">
<p>The start of the first cue, in microseconds, looking past empty languages; None with no cues.</p>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="unshackle.core.tracks.Subtitle.unwrap_ism_ttml" class="doc doc-heading">
<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">unwrap_ism_ttml</span>
<a href="#unshackle.core.tracks.Subtitle.unwrap_ism_ttml" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="language-python doc-signature highlight"><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nf">unwrap_ism_ttml</span><span class="p">()</span>
</span></code></pre></div>
<div class="doc doc-contents ">
<p>Convert ISM fTTML to TTML with every cue on the stream timeline, counted from its first fragment.
Smooth Streaming packagers often time the cues of a fragment from that fragment's start. A cue
that starts before the previous fragment does marks the stream as timed that way.</p>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="unshackle.core.tracks.Subtitle.strip_webvtt_cue_classes" class="doc doc-heading">
<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">strip_webvtt_cue_classes</span>
File diff suppressed because one or more lines are too long