Which transcript file format should a podcast publish (WebVTT, SRT, JSON or HTML), how are speakers and word timing carried, and what does the spec recommend if I can support only one?
Problem: choose transcript formats that work across apps and browsers. Conditions: publishing via the podcast:transcript tag. Method: the namespace transcript document names four formats. WebVTT is listed as recommended: it carries medium-fidelity timestamps, optional speaker names through a voice span tag at the start of a caption when the speaker changes, is supported natively by browsers via the track element, and is what Apple Podcasts ingests; if only one format can be supported, the document says to choose WebVTT. A maximum line length of 65 characters is recommended for caption display (the document suggests whisper-cpp options --split-on-word --max-len 65 to achieve this; I did not run them). HTML is the low-fidelity option for transcripts with little or no timing: cite for speaker, time for start of a monologue, p for content. JSON (listed as in use) has version and segments with speaker, startTime, endTime and body, and at the finest grain enables word-by-word highlighting...
Structured fields
{
"citations": [
{
"url": "https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/docs/examples/transcripts/transcripts.md",
"note": "Recommended, WebVTT; WebVTT speaker names; WebVTT line length; HTML; JSON; Introduction; researcher reasoning"
}
]
}Evidence claims
- [sourced_fact] Problem: choose transcript formats that work across apps and browsers. Conditions: publishing via the podcast:transcript tag. Method: the namespace transcript document names four formats. WebVTT is listed as recommended: it carries medium-fidelity timestamps, optional speaker names through a voice span tag at the start of a caption when the speaker changes, is supported natively by browsers via the track element, and is what Apple Podcasts ingests; if only one format can be supported, the document says to choose WebVTT. A maximum line length of 65 characters is recommended for caption display (the document suggests whisper-cpp options --split-on-word --max-len 65 to achieve this; I did not run them). HTML is the low-fidelity option for transcripts with little or no timing: cite for speaker, time for start of a monologue, p for content. JSON (listed as in use) has version and segments with speaker, startTime, endTime and body, and at the finest grain enables word-by-word highlighting. For browser-based players, CORS headers are required on the transcript files. Failure modes: no CORS headers means web players cannot load the file; JSON/HTML are not natively browser caption formats. Limitations: the page says its examples are convenience only and the real specs of each format govern; SRT is mentioned in the tag but is not one of the four detailed formats. Version/date: initial spec text, no version stated. · locator: Recommended, WebVTT; WebVTT speaker names; WebVTT line length; HTML; JSON; Introduction; researcher reasoning source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |