Subtitle output still differs from upstream's SubtitleEdit writers in five measured places #246
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Left after #242. Text tracks (SRT, ASS, SSA; sidecar or embedded) are parsed into cues and written by writers matched to captures from a private upstream v12.2 container (
crates/ephyra-http/src/routes/streaming/subtitle_cues.rs, fixtures undercrates/ephyra-http/tests/upstream/subtitles/). What still differs, each measured unless said otherwise:style="Default" xmlns="…"on every<p>; ours has the plain head.<i>/<b>): upstream applies a SubtitleEdit fix-up; ours keeps the text. Only a lone<matches.ass/ssafrom a SAMI source: upstream 718 and 660 bytes, ours 699. SAMI and other formats outside SRT/ASS/SSA still go through ffmpeg.ssafrom an ASS source: upstream's SSA writer gives 1082 bytes, ours 767 (the raw ass).Unmeasured:
.idx/.subpair: the pinned ffmpeg has no vobsub muxer to make one. Upstream probably answers 500; the port answers 404.\i \b \u \c \an8 \pos, and ill-formed ASS/SSA.red,lime,blue,yellowandcolor123456.The cue parser and writers were written after #242's review round and have not been independently reviewed; they are held by the captured fixtures and by
serving.json(77 responses, 0 differences).Landed (six commits ending in the lint commit on main): text tracks are read and written by ports of SubtitleEdit's readers and writers, held to about 200 answers captured from a private upstream v12.2 and compared byte for byte (15 sources × six writers, with windows) plus 34 charset captures. All five measured differences are closed: TTML from ASS/SSA with its styles, ill-formed SRT markup, SAMI sources,
ssafrom ASS, and charset detection. Also: a VobSub.idxis read as upstream reads it (200; a graphical format on it is 400), the wider set of ASS override codes, and the WebVTT colour classes read from the source rather than assumed. Not independently reviewed; the captures are the verification. What remains is filed separately.