
SDR TV: watching over-the-air ATSC TV on MacOS ( for now ) with a HackRF One
So, I'm sure that more than a few of us have an HackRF One, or PortaPack sitting in a drawer or cabinet or storage, dusty and unused. I decided to do something a bit stupid, a bit fun, so that you can blow off the dust and use your $300+ SDR for a bit of entertainment. So next in my "fun things to do with hardware you already have!" list is...
I've been working on SDR TV, a macOS app that turns a HackRF One into a full ATSC 1.0 TV tuner. It demodulates the 8VSB signal in software and plays live broadcast TV with a guide, captions and recording.
What it does
- Software 8VSB demodulator with an adaptive equalizer for multipath, plus Reed-Solomon and trellis decoding
- One-minute channel scan that rates each station's reception (Excellent, Good, Poor)
- MPEG-2, H.264 and HEVC video; AC-3, AAC and MPEG audio
- Closed captions (CEA-608/708), program guide from the broadcast (PSIP), recording to .ts
- Fast channel changes, including near-instant switching between subchannels
Channel scanning/list w/ Signal Strength
Hardware
- HackRF One, or a PortaPack in HackRF mode
- A TV antenna. A telescoping whip on the SMA works for strong stations; turn it horizontal, since US TV is horizontally polarized
- Apple Silicon Mac, macOS 14 or later
Status
This is an early alpha (v0.5.1). It is macOS only for now; Windows and Linux versions are planned and I won't call it 1.0 until all three are supported and built. ATSC 3.0 is not supported because encryption and closed ecosystem make it too difficult for me to do it. BOOooooo! Proprietary formats suck, and don't belong on over-the-air TV.
I'd especially like reception reports: your antenna, your distance from the towers, and which stations lock! In theory, all you need is an Apple Silicon machine with enough horsepower, and an antenna that can handle most of the band + HackRF. I'll also work on adding RTL-SDR in the near future.
GitHub (source and download): https://github.com/martinbogo/sdr-tv
Free for noncommercial use (PolyForm Noncommercial 1.0.0).