Skip to content

About

Cross-platform workstation for VHS teletext recovery

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

TeletextRecoveReese

Cross-platform tool for VHS teletext recovery, developed with OpenAI Codex.
Capture VBI, deconvolve and restore teletext from VHS tapes all in one cross-platform GUI application.

Download TeletextRecoveReese 0.8 beta

TeletextRecoveReese preview

Realtime VBI capture and deconvolving chain

Deconvolve data in real time and see teletext in the precise moment on the tape that's playing.
No need to store data to disk and separately deconvolve it later. Do it all in one pass.
Or better yet, hot swap tapes to quickly date taped broadcasts.
Of course raw VBI can be stored for preservation if needed.

TeletextRecoveReese preview

☕ Support the recovery effort

Teletext recovery is a niche kind of digital archaeology. If TeletextRecoveReese helps you rescue a few more pages from VHS noise, corruption, or an imperfect broadcast capture, consider supporting its continued development.

Your support helps me spend more time on better restoration tools, faster and simpler recovery workflows, broader compatibility, and reliable cross-platform releases.

Support TeletextRecoveReese on Ko-fi

Every recovered page is a small piece of broadcasting history that might otherwise disappear. Thank you for helping keep the work moving.

Highlights

  • Inspect full broadcast captures.
  • Import DVB teletext services directly from .ts, .mts, and .m2ts recordings.
  • Compare every version of a page, subpage, row, or selected block.
  • Restore good rows and blocks into a separate editable page.
  • Edit text, mosaics, control codes, national subsets, and X/26 diacritics.
  • Build a new squashed stream with configurable recovery filters.
  • Export restored work as .t42, PNG screenshots, or video.
  • Run on Windows, macOS, and Linux.

Workspace

The editor uses one or two synchronized panes:

  • Squashed / single page — editable restoration result on the left.
  • Full broadcast — read-only source capture on the right.

Broadcast inspection

  • Browse by magazine, page, subpage, and captured version.
  • Use fast version buttons for direct selection and hover preview.
  • Use Flash Roll to cycle all versions rapidly for visual comparison.
  • Show control-code bytes and hexadecimal values directly in the grid.
  • Show raw bytes across the complete current selection.
  • Toggle X/26 diacritic markers only when they are needed.
  • Keep the broadcast pane read-only to protect the source capture.

Restoration workflow

  • Transfer any complete row from the broadcast into the squashed page.
  • Select a block, hold Shift, and use Left / Right to browse that block through every broadcast version.
  • Commit the final block as one undoable edit when Shift is released.
  • Copy a broadcast selection directly into the same position on the left.
  • Undo and redo independently for each restored page.
  • Add or delete pages and subpages.
  • Jump between matching pages in the two panes.

Text, attributes, and mosaics

  • Type directly into the editable 40 × 25 grid.
  • Insert all Level 1 alpha and mosaic colours.
  • Edit mosaic cells with the six Teletext mosaic keys.
  • Choose the G0 national subset for the complete file or leave it on Auto.

X/26 enhancements and diacritics

  • Type supported precomposed letters as a G0 base character plus X/26 enhancement.
  • Create, move, and delete Level 1.5 diacritics.
  • Drag and drop a diacritic to another cell.
  • Preserve existing raw enhancement chains when inserting new characters.
  • Replace unusable triplets without discarding unrelated enhancement data.
  • Inspect X/26 packets and decoded triplets in the enhancements sidebar.
  • Delete an individually selected triplet with undo support.

Squash recovery

  • Create a squashed stream directly from an open full broadcast using filters.
  • Build consensus rows from repeated receptions and parity quality.
  • Preserve X/26 packets selected from the available versions.
  • Optionally keep every live-capture VBI line as a vhs-teletext-compatible all-zero T42 slot when no packet can be recovered.
  • Apply edited squashed pages back to every matching Full Broadcast occurrence without moving line-aware slots or overwriting the archival source file.

Page bookmarks

  • Add a bookmark to any restored page or subpage.
  • Restore bookmarks when the same file is opened in a later session.
  • Generate timestamp, page, subpage, and bookmark text after video export.

Display and workflow options

  • Choose any installed grid font; TIFAX is recommended.
  • Simulate Teletext flash with a real timer.
  • Move all three toolbars below the grids with View > Toolbar on Bottom.
  • Show or hide the X/26 and page-bookmark sidebar sections.
  • Optionally link the two visual halves of a double-height cell so selecting the lower half edits its rendered upper source cell.
  • Remember display toggles, font, recent files, panes, selected pages, and video settings between sessions.
  • Reopen up to ten recent files in the pane and page where they were last used.

Export

  • Save the restored result as raw .t42 packets.
  • Export the current page as a PNG screenshot.
  • Batch-export every restored page as PNG.
  • Export a sequence of pages as video through FFmpeg.

FFmpeg must be available on the system to use the video export feature.

Keyboard shortcuts

Use Ctrl on Windows/Linux and Cmd on macOS.

Shortcut Action
Ctrl/Cmd + O Open a squashed or single-page stream
Ctrl/Cmd + S Save the restored stream
Ctrl/Cmd + N Create a new page
Ctrl/Cmd + C Copy the current cell or block
Ctrl/Cmd + Shift + C Copy a broadcast block directly into the same position on the left
Ctrl/Cmd + V Paste into the editable grid
Ctrl/Cmd + Z Undo the current page edit
Ctrl/Cmd + Shift + Z Redo the current page edit
Arrow keys Move the active grid selection
Shift + Left/Right Browse broadcast versions of the selected restoration block
Backspace Clear the previous editable cell
Enter Move to column 0 of the next row
Q A Z W S X Toggle mosaic segments while editing a mosaic cell
Shift + transfer-row click Pin or unpin the row guide

Typing advances automatically through the editable grid. When the page-bookmark text field has focus, all typing and cursor keys remain inside that field.

File format

T42

  • Raw sequence of 42-byte Teletext packets.
  • Original packet data is preserved wherever possible during restoration.
  • Line-aware captures use an all-zero 42-byte positional placeholder compatible with vhs-teletext --keep-empty; squashed exports omit those placeholders.

DVB transport streams

  • MPEG-TS and M2TS imports locate valid DVB teletext PES services automatically.
  • EN 300 472 data units are converted directly to T42 without rendering, OCR, or video transcoding.

Building from source

dotnet restore
dotnet run --project TeletextRecoveReese

Build the complete solution:

dotnet build TeletextRecoveReese.sln

Command line options

Restore the previous session at startup:

dotnet run --project TeletextRecoveReese -- -loadlast

Explicitly start a new session at startup:

dotnet run --project TeletextRecoveReese -- -startnew

Status

  • Current development version: 0.9 beta
  • Actively developed and used for real restoration work.
  • Core .t42 loading, comparison, editing, squashing, and export are available.
  • Complete EN 300 706 coverage and broader interoperability testing are ongoing.
  • Licensed under GPL-3.0.

Thanks and inspiration

TeletextRecoveReese would not have been possible without the ideas, concepts, and practical solutions demonstrated by these projects:

  • Teletext Meddler — page restoration, version comparison, control-code inspection, and the idea that recovered captures deserve a purpose-built editor.
  • QTeletextMaker — Level 2.5 page authoring and a valuable reference point for X/26 enhancement editing.
  • Teletext Recovery Editor — service-oriented recovery workflows, carousel handling, and restoration-focused page management.
  • vhs-teletext — the recovery and .t42 toolchain that made large-scale VHS Teletext preservation practical.

Thanks to their respective authors and contributors for building the foundations, solving hard problems, and sharing their work with the Teletext preservation community.

About

Cross-platform workstation for VHS teletext recovery

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages