Hacks & Buildshomelabself-hostedtvhalloween
A Homelabber Built KTTY, a 24/7 Halloween Cable Channel From ErsatzTV and a QAM Modulator, Then Found Its Default Frequencies Sat on T-Mobile's Spectrum
The maker behind the YouTube channel Questionable Commands piped public-domain horror movies from ErsatzTV through an Intel N100 and a DataTronix QAM modulator into his Plex tuner card, and halfway through learned the modulator's default channels would have stepped on T-Mobile if it had ever reached an antenna.

KTTY already existed as a loop. His first version was “the Plex server watching its own HDMI output come back through a tuner card,” he writes in the video’s description. This time he wanted “a real channel with a real schedule, something that plays at 3am whether or not anyone is watching.”
The signal path is a little Rube Goldberg, and he knows it. ErsatzTV, which its makers describe as “an open-source platform that transforms your personal media library into live, custom TV channels,” runs in a Podman container on a Proxmox VM. It streams to an N100 mini PC he named ktty-rx-n100, whose HDMI feeds a DataTronix DT-IPTV-QAM-ASI-4HC encoder and modulator, whose RF output goes into a Hauppauge WinTV-HVR-1265 card in the Plex box. “The plan is over-engineered on purpose,” the description says. On camera he runs through every shortcut he skipped, from Plex to Jellyfin to Emby, and answers each one “Yes.” His reason: “I’m having fun.”
The schedule took some arguing. ErsatzTV wouldn’t see his movies until each one sat in its own folder, so he wrote a shell loop to make a folder per film. He set the ads to pad each movie out to the next 15 minutes, because “I don’t want nearly half an hour of commercials.” ErsatzTV refused to save that until he gave it filler for the filler (“Fallback filler is required when padding”), so the commercials became their own fallback.
Then he opened the modulator’s web page to point encoder four at the mini PC and stopped. “The channels set up here are virtual channels, aka a lie,” he says. The real RF frequencies underneath were another matter. “I am extremely lucky that I have never connected this up to an antenna, because apparently I am clobbering T-Mobile spectrum right now.” His summary of the risk: “There is a very non-zero chance that I could have had the FCC knocking on my door very angrily.”
Nothing left the building, by his account. The coax ran straight into his tuner card, and any leak went into his server rack, “a metal and glass box,” which he calls “not a perfect Faraday cage, but like pretty darn close.” He moved the output to channels 8 and 9, which he says are unused in the Portland area. His parts list points to RabbitEars “for finding empty TV channels in your market.”
Play the video on YouTubeThe rest is homelab comedy. The channel’s short name has a seven-character limit, so “KTTY-222” lost its dash. The mpv service on the N100 failed because he told systemd to run it as a user named ktty he had never created, and then failed again on a typo: “kep open.” Plex found channels 222.1 and 222.2 and filled the guide in Spanish.
The first thing on the air was Metropolis, silent, which he blames on its music still being copyrighted. Then one of his public-domain ads rolled (the description credits the Internet Archive’s Prelinger collection for features and ads), followed by “And now our feature program,” and the next movie started “Right at 7.”
Seasonal channels like this have a short half-life, and he’s already hinting at the next one. “There are three more HDMI inputs on that box,” the description says, and channel 222.2 has a lot of empty schedule after October 31.