• Stars
    star
    164
  • Rank 230,032 (Top 5 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 13 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Software to recover teletext data from VHS recordings.

This is a suite of tools for processing teletext signals recorded on VHS, as well as tools for processing teletext packet streams. The software has only been tested with bt8x8 capture hardware, but should work with any VBI capture hardware with appropriate configuration.

This is the second rewrite of the original software. The old versions are still available in the v1 and v2 branches of this repo, or from the releases page.

You can see my collection of pages recovered with this software at:

https://al.zerostem.io/~al/teletext/

And more at:

http://archive.teletextarchaeologist.org

And:

http://archive.teletextart.co.uk/

INSTALLATION

In order to use CUDA decoding you need to use the Nvidia proprietary driver.

To install with optional dependencies run:

pip3 install -e .[CUDA,spellcheck,viewer]

If CUDA or pyenchant are not available for your platform simply omit them from the install command.

In order to use OpenCL you need to install pyopencl and the appropriate opencl runtime for your card. Then run the deconvolve command with the '-O' option.

In order for the output to be rendered correctly you need to use a specific font and terminal:

sudo apt-get install tv-fonts rxvt-unicode

Then enable bitmap fonts in your X server:

cd /etc/fonts/conf.d
sudo rm 70-no-bitmaps.conf
sudo ln -s ../conf.avail/70-yes-bitmaps.conf .

After doing this you may need to reboot.

Finally open a terminal with the required font:

urxvt -fg white -bg black -fn teletext -fb teletext -geometry 41x25 +sb &

USAGE

First capture VBI from VHS:

teletext record -d /dev/vbi0 > capture.vbi

Deconvolve the recording:

teletext deconvolve capture.vbi > stream.t42

Examine the headers to find services on the tape:

teletext filter -r 0 stream.t42

Split capture into services:

teletext filter --start <N> --stop <N> stream.t42 > stream-1.t42

Display all copies of a page in a stream:

teletext filter stream.t42 -p 100

Squash duplicate subpages, which reduces errors:

teletext squash stream.t42 > output.t42

Generate HTML pages from a stream:

teletext html output/ stream.t42 

Interactively view the pages in a t42 stream:

teletext service stream.t42 | teletext interactive

In the interactive viewer you can type page numbers, or '.' for hold.

Run each command with '--help' for a complete list of options.

More Repositories

1

raspi-teletext

Generate teletext with a Raspberry Pi
C
399
star
2

bitmap2ttf

Convert bitmap fonts to ttf fonts using font forge.
Python
94
star
3

ytsubs

Python script to generate subscription video RSS
Python
77
star
4

rpi-ramdisk

Builds ramdisk environments for Raspberry Pi
Python
75
star
5

fullscreenhack

A preload library that fixes fullscreen flash.
C
67
star
6

pyteletext

Teletext Service Generator - deprecated, this functionality is now in https://github.com/ali1234/vhs-teletext
Python
13
star
7

gitxref

Python
13
star
8

avr-teletext

Teletext inserter for AVR microcontroller and lm1881 sync separator
C
13
star
9

rpi-toolchain

A gcc cross toolchain for all Raspberry Pi models with multiarch support
Makefile
12
star
10

systemd-gpio

A systemd unit template that does things when gpio events happen.
11
star
11

vcpoke

Read videocore physical memory by executing code through the mailbox interface
C
9
star
12

uefi-tests

Scripts to create test certificates and signed EFI executables.
8
star
13

robotkit

C++
7
star
14

kifab

Python script to export gerbers from Kicad and rename them to the defacto standard filenames.
Python
7
star
15

piroverd

Wi-Fi remote control vehicle with Raspberry Pi
C++
6
star
16

u-boot-n900

U-Boot for Nokia N900 (RX51)
C
6
star
17

avr-amiga-controller

Control an Amiga and PC with the same kb&mouse
C
6
star
18

pymtpd

MTP responder in python.
Python
5
star
19

ALEDxander

Display patterns on the Gemini LEDs on incoming phone calls
Java
4
star
20

qt5pi-builder

Cross compiles Qt 5 for Raspbian
Shell
4
star
21

headeraway

Header Away kills 100% of all known Gtk3 Header Bars
C
4
star
22

32blit-case

Custom case for 32blit
OpenSCAD
3
star
23

quickly-git-templates

Quickly templates that use git instead of bzr.
Python
3
star
24

gemini-stuff

Notes and config files to aid flashing the Gemini PDA
3
star
25

apds9960d

A daemon providing gesture input and backlight brightness control using APDS9960 sensor.
C++
2
star
26

modularfx

Node-based sound synth
Python
2
star
27

ugly

Unified Graphics Library Yarrr
Python
2
star
28

autoflash

Tool for automatically duplicating files to many USB drives.
Python
2
star
29

rpi-qml-eglfs-snap

QML
2
star
30

pimodisco

The officially unofficial Pimoroni Discord bot.
Python
2
star
31

panel-switch

Panel switcher for Xfce
Python
2
star
32

32blit-hxcmodplayer

Example showing how to use HxCModPlayer with 32blit
C
1
star
33

autofools

A very simple autotools test case
Shell
1
star
34

pydo

Just a weird thing.
Python
1
star
35

debirf-raspi

Use rpi-ramdisk instead:
Shell
1
star
36

iteres

Converter for ITE LZP images
Python
1
star
37

qmlrss

QML example loading images from RSS and displaying a slideshow.
QML
1
star
38

qmlimgur

QML example which displays an imgur album.
QML
1
star
39

friendisqt

A desktop friend
Python
1
star
40

pirovera

Android controller for Pirover
Java
1
star
41

linux-gemini

Gemini PDA kernel release grafted back on to git history.
C
1
star
42

icondiff

Create a visual diff between icon theme revisions.
Python
1
star
43

bbclock

Python
1
star
44

pyadt

Python Aminet Download Tool
Python
1
star
45

piroverc

Control client for pirover
C++
1
star
46

nvidiathing

A preload hack that might fix a buggy game on nvidia maybe
C
1
star
47

pirover

Construction plans for pirover
Eagle
1
star