devedeng-extended/FORK_NOTES.md
Luna 128e0f087d Document the hardsub/auto-split fork
Add FORK_NOTES.md describing the new features, a README pointer, and keep
the known-good baseline encoder as contrib/dvd-safe-converter.sh (the
reference the Compatibility profile is modelled on).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 12:54:37 -07:00

3 KiB

DeVeDe-NG — Hardsub & Auto-split Fork

This is a fork of DeVeDe-NG that adds three things aimed at producing burn-ready NTSC DVDs from arbitrary video files:

  1. Embedded subtitle detection + hardsubbing (burn-in).
  2. Selectable DVD encode profiles (Compatibility / High quality / Custom).
  3. Automatic splitting of over-long projects across multiple ISOs / DVD-Rs.

The baseline encode is modelled on the known-good script in contrib/dvd-safe-converter.sh.

1. Hardsubbing embedded subtitles

The analyzer (ffprobe / avprobe) now detects embedded subtitle tracks and classifies each as text (SubRip/ASS/mov_text/WebVTT) or image (PGS/VOBSUB/DVD subtitle). In a movie's Subtitles properties page a "Burn in embedded subtitle" dropdown lets you pick one track to render permanently into the picture.

  • Text subs are burned with ffmpeg's subtitles= (libass) filter, applied after scaling to the DVD size.
  • Image subs are composited with an overlay filtergraph before scaling, so bitmap positioning stays aligned with the source frame. (OCR-to-text is an optional future enhancement; the default overlays the bitmap directly.)

Burned-in subtitles are part of the video; the existing soft subtitle support (spumux subpicture streams from external files) is unchanged.

2. Encode profiles

A project-level Encode profile selector (next to the disc-size control, DVD only):

Profile Video Audio Notes
Compatibility (4500k) CBR 4500k AC3 192k Old-player safe baseline (~133 min / single-layer disc).
High quality (fill disc) VBR, fills disc AC3 448k Best quality per disc.
Custom user kbps user kbps Advanced; clamped to stay within DVD spec.

NTSC DVD audio is AC3 for all profiles (the upstream default was MP2 for NTSC), matching the baseline script and maximising player compatibility.

3. Splitting long projects across discs

Usable disc capacity is taken from the selected disc size (with the existing ~10% safety margin). When a project does not fit on one disc at the chosen quality, you are asked whether to:

  • Split into N discs — keep the quality and author one DVD/ISO per disc (name-disc1.iso, name-disc2.iso, …), or
  • Reduce bitrate — squeeze everything onto a single disc (the original behaviour).

Multiple titles are distributed across discs whole. A single movie that is itself larger than one disc is split by time at the chapter boundary nearest each disc's capacity (falling back to an even time cut when the movie has no chapters). Split discs are authored without a menu — each disc plays its segment(s) directly.

Limitations

  • Split discs have no DVD menu.
  • Burning is per-disc: the app produces the ISOs; burn each in turn.
  • Image-subtitle burn-in is supported by the ffmpeg backend; the avconv backend handles text subtitles only.