[feature request] subtitle conversion of .srv3/newer .vtt with YTSubConverter to .ass #4197
Open
6 tasks done
Labels
enhancement
New feature or request
external issue
Issue with an external tool
triage
Untriaged issue
currently ffmpeg vtt support is very basic,
and even vtt with no extended styles would create a video that only plays in mpv, while other players won't be able to show any streams.
here is an example for such video and subs
https://www.youtube.com/watch?v=NbtszSKYCYM
although that's not a yt-dlp problem,
there is a 3rd-party that supports those subs types and can generate a perfectly usable .ass for embedding into videos, while still preserving the styles:
https://github.com/arcusmaximus/YTSubConverter
it can be very helpful for normalizing YouTube's QUIRKY subtitles formats into something media players know and love!
b.t.w. its ui is built with C#, but its core is scriptable (lua) and can be converted to python as a native module (not 3rd-party...).
Verbose log
(complex vtt has log related no issues it just won't show, other formats would show:
related:
--convert-subs srt
for MP4 container #5746to sum it up,
the issues are mostly either due to ffmpeg's poor support of
.vtt
(and in some cases.ass
),or players unable to parse
.vtt
stream,or the various web-vtt standards which deems whatever you'll try to process "corrupted".
the last problem makes the first two problems worst,
yt-dlp does its best trying to work-around some of the issues,
by having more than few text-based fixes to handle common "corrupted" (but really - variations) of the web-vtt.
(b.t.w. YTSubConverter also handles
.srt
conversions better than ffmpeg,I'm mostly using it as a quick way of removing complex styles from
.ass
or.vtt
then converting them back to.ass
and adding my own styles based on a template.)Checklist
checklist at the bottom - why?
to gain back useful information on mouse-over:
blame GitHub's templates for not having some sort of a container that does not render in the preview..
The text was updated successfully, but these errors were encountered: