# DeVeDe-NG — Hardsub & Auto-split Fork This is a fork of [DeVeDe-NG](https://gitlab.com/rastersoft/devedeng) 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`](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.