Pillarfree
Watch your over-the-air DVR recordings in any browser — and crop the pillarbox bars off classic 4:3 shows.
If you record old TV off an antenna, you have probably noticed the problem: a 4:3 show broadcast inside a 16:9 frame arrives with thick black bars down both sides. On a tablet that leaves you watching a small square in the middle of the screen, and the official apps give you no way to zoom in.
Pillarfree runs on any Linux machine on your network. It reads the recordings off your DVR, transcodes them on the fly into something a browser can actually play, and serves them as a web page you can open on an iPad, a laptop, or a phone — with a zoom control that pushes those bars off the screen.
What it does
- Plays anywhere. Recordings are broadcast MPEG-2 with AC3 audio, which no browser can decode. Pillarfree transcodes to H.264/AAC and serves HLS, which iPad Safari plays natively.
- Kills the pillarbox. A zoom/crop control fills the screen with the actual picture. It is a CSS transform on the video, so nothing is re-encoded and quality is untouched. It remembers your setting per series.
- Seeks instantly. The whole recording is published as a VOD playlist up front and segments are transcoded on demand, so you can skip commercials without waiting for anything to restart.
- Live TV, buffered. Live channels are re-segmented and deliberately played ~24 seconds behind the live edge. That slack is what stops the stuttering when you are watching over a VPN.
- Offline copies. One click converts a whole episode to an MP4 with the 4:3 crop baked in — detected automatically — which you can download to an iPad and watch on a plane.
- Stays local. No cloud account, no login, no telemetry. It talks only to the DVR on your own network.
Download
pillarfree.tar.gz ↓tar xzf pillarfree.tar.gz
cd pillarfree
./install.sh
The installer checks for its dependencies (Node 18+ and ffmpeg, installing
them via apt if needed), finds your DVR on the network by itself,
sets it up as a service that starts at boot, and prints the address to open
on your iPad. Re-running it is safe, and ./install.sh --uninstall removes
the service without touching your files.
What you need
- A 4th-generation Tablo — the small tuner-only model. The older Tablos speak a different API and will not work.
- A Linux machine on the same network with enough CPU to transcode video. A Raspberry Pi 4, an old laptop, or any small x86 box is plenty; for reference, a low-end Intel N5095 handles standard definition at about six times real time.
It is a single Node script with no npm dependencies — just built-ins and ffmpeg — so there is nothing to audit but the source you unpack.
Why it exists
It started as a way to watch Star Trek reruns on an iPad without the black bars, and turned into a fair amount of work on the parts that are easy to get subtly wrong: segments are cut to a whole number of video frames, and audio frames are partitioned so every one belongs to exactly one segment. Skip either and the audio slowly drifts out of sync over an episode. The README that ships with it documents all of that, in case you want to build on it.