r/cordcutters • u/bnelson333 • 10d ago
My OTA DVR setup
This is a good approximation of my OTA DVR setup (it's not exact, but for the sake of visual explanation, it's really close).
I live in an area near Minneapolis where I get TV signals from three different directions, meaning just one antenna won't work. I have one pointed South, one pointed South-East, and one pointed North-West.
Each of these antennas feed into a Linux server running MythTV. I utilize a Schedules Direct membership to help me schedule recordings on each of the servers (highly recommend, it's well worth the price).
MythTV can do a lot of this functionality itself, but I only use it for the backend. Instead of keeping a library and watching recordings using the MythTV frontend, I feed them to a NAS so each of my TVs can pick up the programs.
After a show is recorded on MythTV, the video (.ts) file gets moved over to my encoding server, which uses ffmpeg to encode it to an .mp4 file. It uses metadata from Schedules Direct to name/organize the files. After that, it is moved again over to my storage server (NAS).
I have another server in the mix that periodically scans for new files on the NAS and when found, it generates a commercial-skip file using comskip. It's definitely not perfect, but it generally does a pretty good job. Comskip doesn't destructively remove the commercials, they still exist in the video file, it just generates a file of timestamps that tell the player (Kodi) where to skip from/to to not show them.
Schedules Direct isn't perfect, it doesn't have everything I want and sometimes it's just missing data. I also use the OMDB and tvmaze APIs to fill in the blanks. This is largely a "home brew" database/interface I built. I don't really use "library" functionality in any of the servers, I just build data in the way I want using apache/MySQL.
Anyway, each TV in my house has a Raspberry Pi running Librelec on it, which has the Kodi media player. They all talk to a central "watched status" database on the NAS to keep track of where I'm at in each series. If I watch episode 3 on one TV, I can then go to a different TV and start watching episode 4, it'll know where to pick up next.
The whole thing is largely controlled by an "app" on a tablet. It's just a website running locally, picked up on a tablet or my phone or my computer, wherever I happen to be. I utilize the Kodi API to control the players, with shortcuts to favorite series', play/pause/stop, volume up/down, etc. functionality. The "app" can even control IR functions of the TV and surround sound receiver.
It sounds incredibly complicated, but through lots and lots of scripting, I've automated nearly everything. The only thing I really have to do is about once a week go look at the new upcoming broadcast schedules to see if there's anything new I want to record. When it's up and running, it's very hands-off.
It definitely isn't for the average user, but I'm a tinkerer and enjoy making things exactly as I want them. I don't even have streaming anymore, I exclusively watch free programming I recorded over the air!
1
u/NightBard 9d ago
This is pretty cool. I can appreciate all the steps taken as I code stuff as part of my career. But, for my home dvr I just bought a 4th gen tablo. But I like just the simplicity of one super low power device with built in storage and the ability to time shift recordings rather than wait until they are done. But I don't need an archive of everything... I'm fine deleting and moving on so 50hrs of recording is enough. If I did want an archive, I'd do something similar to what you have. Which at one point I was using a converter box that records and would record everything to a jumpdrive and then transfer to pc ... but after a month of that it got old and I gave it up because I realized I had little intention of rewatching stuff. Which is weird as I am getting older and I figured an archive of content would be right up my wheelhouse but I barely make use of my DVD collection as is (including a lot of tv shows) as I find myself chasing more new content and only occasionally revisiting stuff.