Skip to content
/ hacktv Public
forked from fsphil/hacktv

Analogue TV transmitter for the HackRF

License

Notifications You must be signed in to change notification settings

wsygog/hacktv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 -[ HackTV - Analogue TV transmitter for the HackRF ]-

WHAT'S IT DO

Generates a PAL/NTSC video signal from a video file or test pattern.
Input is any file type or URL supported by ffmpeg.
Output can be to a file or directly to a HackRF.
Teletext support.
NICAM stereo audio.
Rudimentary Videocrypt I hardware support.

WHAT'S IT NOT DO (yet)

There are no filters. Needed for proper audio and VSB modulation.
An optional notch filter for the colour subcarrier would be nice.
SECAM colour. More of my TVs support this than NTSC.
D-MAC / D2-MAC standards. Because SECAM isn't obscure enough.

WHAT IT WON'T DO

DVB or other pure digital signals.
Bring back Firefly. :(

REQUIREMENTS

Depends on libhackrf and various ffmpeg libraries.

* For Fedora (with rpmfusion)
yum install hackrf-devel ffmpeg-devel

* For Debian and related
apt-get update
apt-get install libhackrf-dev libavutil-dev libavdevice-dev libswresample-dev libswscale-dev libavformat-dev libavcodec-dev

INSTALL

make
make install

EXAMPLES

# Generate a file containing a PAL baseband signal from a video
$ hacktv -o baseband.bin -m pal example.mkv

# Transmit a test pattern on UHF channel 31 (PAL System I), 47dB TX gain
$ hacktv -f 551250000 -m i -g 47 test

# Transmit a test pattern on UHF channel 30 (NTSC), 47dB TX gain, TX amplifier
$ hacktv -f 567250000 -m m -g 47 -a -s 13500000 test

# Transmit a test pattern with teletext
$ hacktv -f 551250000 -m i -g 47 --teletext demo.tti test

# Download and transmit teletext pages from the Teefax service
# http://teastop.co.uk/teletext/
$ svn checkout http://teastop.plus.com/svn/teletext/ teefax
$ hacktv -f 551250000 -m i -g 47 --teletext teefax test


ADVANCED EXAMPLES

# applying a 4:3 filter to 16:9 media (some_mkv_file.mkv) with ffmpeg, selecting audio channel 2, output to fifo with format matroska, then transmitting it through a fifo
$ mkfifo some_fifo
$ ffmpeg -i some_mkv_file.mkv -v verbose -filter:v 'pad=iw:iw*3/4:(ow-iw)/2:(oh-ih)/2' -filter:a volumedetect -map 0:0 -map 0:2 -f matroska pipe:1 > some_fifo
$ hacktv -f 567250000 -m m -g 47 -a -s 13500000 some_fifo

# pass a twitch stream with streamlink through ffmpeg, apply a 4:3 filter to 16:9 media, convert audio channel to libopus, output to fifo with format matroska, then transmitting it through a fifo
$ STREAM=https://www.twitch.tv/dotastarladder_en
$ STREAM=https://www.douyu.com/19002
$ QUALITY=worst
$ mkfifo some_fifo
$ streamlink -O $STREAM $QUALITY | ffmpeg -i pipe:0 -v verbose -filter:v 'pad=iw:iw*3/4:(ow-iw)/2:(oh-ih)/2' -filter:a volumedetect -c:a libopus -f matroska pipe:1 > some_fifo
$ hacktv -f 567250000 -m m -g 47 -a -s 13500000 some_fifo


FREQUENCY GUIDE

[PAL](https://www.digitalspy.com/tech/terrestrial/a12613/uhf-channel-and-frequency-guide/)
[NTSC](https://en.wikipedia.org/wiki/Pan-American_television_frequencies)

-Philip Heron <phil@sanslogic.co.uk>

About

Analogue TV transmitter for the HackRF

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.9%
  • Makefile 0.1%