Making MythTV manageable with LinHES 8.3
Recent years have seen an explosion in the number and variety of streaming-media services available to consumers. Regrettably, the overwhelming majority of those services are tied to restrictive DRM and access-control methods. If users want full control over their media content, a local digital-video recorder (DVR) is essentially the only option, and for those who also care about software freedom, MythTV remains the only truly viable choice. But MythTV is not easy to configure or use, which is why specialty distribution projects like LinHES (for Linux Home Entertainment System) were created. LinHES recently released an update that takes a lot of the pain and frustration out of working with MythTV—and adds some nice features of its own, to boot.
For those unfamiliar with it, MythTV is a free-software DVR system, which is to say that it enables scheduling, recording, and playing back broadcast video. There are other "media center" applications with wider install bases (such as Kodi), but they tend to focus primarily on Internet-accessible media. A handful of other DVR projects have emerged over the years, but they rarely last long. Given the large array of broadcast formats, tuning and recording hardware, and channel-listing services that such a project has to cope with, the momentum has remained with the largest project, MythTV.
But MythTV installation and configuration are a considerable hassle: users have to make a great many decisions up front that can be hard to change later and must manually enter page after page of settings that, if not entirely correct, can cause incompatibilities and failures further down the line. MythTV updates are also renowned for introducing backward-incompatible changes (to, say, the internal database schema), making upgrades a less-than-pleasant pastime.
![[LinHES main menu]](https://static.lwn.net/images/2015/03-linhes-main-sm.png)
On the plus side, that level of complexity creates a market for projects like LinHES. The project released its latest update, version 8.3, on February 18. The release is available as an x86-64 ISO image that can be used to boot any machine into a MythTV frontend system or to install a permanent MythTV instance running as a frontend, a backend, or both. Frontends, for those uninitiated, are the "media center" systems used to play back content; backends are used for recording, storage, and post-processing.
LinHES was started in 2003 under the name KnoppMyth. As that name suggests, those early releases were built on top of the Knoppix distribution. The project adopted the name LinHES in 2009, at which point it migrated from Knoppix to Arch Linux as its underlying distribution.
Version 8.3 ships with MythTV 0.27.4, which is the latest upstream release. In addition to MythTV, Kodi and Plex are available as alternative media-center applications (both have add-ons to let them play back MythTV recordings).
The distribution also includes a suite of auxiliary services preconfigured to make a LinHES box function as a media-centric appliance. NFS and Samba are included for sharing files, remote administration is available with Webmin and VNC (the latter because another of MythTV's charming quirks is that even backend machines must be configured with a GUI tool), plus there are various remote system-monitoring tools and extra packages for supporting Bittorrent and other file-transfer methods. These auxiliary services are not automatically started without the user's permission, for those who are concerned about the security risks involved.
"Appliance" is really the key word, though. A LinHES machine cannot easily be used as something other than a MythTV box (even using Kodi and Plex requires making serious alterations). The Enlightenment desktop environment is provided, as are terminal emulators and web browsers, but they are only there as system-administration tools. Booting LinHES (whether in Live-CD mode or from hard disk) launches straight into the MythTV frontend.
More importantly, however, booting for the very first time launches LinHES's GUI configuration tool, which is built with the same toolkit as MythTV itself. The result is as close to a seamless set-up experience as one will find for MythTV. And the set-up and configuration process actually works; a lot of effort has gone into making automatic detection and configuration of the necessary settings function correctly. This includes setting up recording hardware, configuring infrared receivers and remote controls, and connecting input sources to channel line-ups. All three of these set-up tasks are, historically, on the tricky side. LinHES does not make them automatic, but it does a lot to simplify matters.
![[LinHES remote-control configuration]](https://static.lwn.net/images/2015/03-linhes-remotes-sm.png)
The framework used for the LinHES-specific configuration steps is called MythVantage, and it is coupled with some custom theming work on the MythTV frontend menu system. The theming work even integrates with the live-CD mode's welcome screen, which results in a largely boot-it-and-run experience for live-CD frontends.
The MythVantage tools even permit configuring LinHES's non-MythTV options and settings (like file-sharing or package management) without exiting MythTV itself. In contrast, most of the other MythTV distributions (like MythBuntu) offer their custom configuration tools in standalone applications. While that might not bother Linux veterans, it complicates the system, and detracts from the "appliance" feel.
That said, there are limits to how much LinHES can automate. In the United States, for example, program guide data for MythTV is accessible only through a non-profit service called Schedules Direct, which requires the user to set up a paid account. Nevertheless, the 8.3 release notes indicate that there has been some work to automate configuring guide data for other regions of the world, so perhaps others will find the experience even simpler.
Once up and running, a LinHES MythTV system is (naturally enough) much like any other MythTV system of similar vintage. But LinHES offers a few nice add-on features here as well. For example, two MythTV add-on packages are included that are not part of the standard, upstream MythTV system: MythExpress and MythExport. The first is a browser-based MythTV frontend; it allows the user to play back recordings in a web browser, largely negating the need to install the MythTV frontend package on every machine.
![[LinHES custom menus]](https://static.lwn.net/images/2015/03-linhes-custom-sm.png)
The second is a video-transcoding tool designed to shrink recordings to a size suitable for long-term storage or mobile-friendly playback; it can be run as a background job to transcode every recording automatically. Since most of the major video-broadcast standards today use some variation on MPEG-2 (which consumes considerably more storage than do more recent formats), saving space by transcoding is an obvious plus. It might seem like that functionality would be an obvious feature to build into MythTV itself—in fact, transcoding is built-in, in theory, but the upstream implementation has been broken for years. The typical response to asking about transcoding on an official MythTV forum is that it no longer makes sense, since hard disks are so cheap. Such a reply rarely satisfies the question-asker; LinHES simply adds the requested feature that the user wants, rather than telling the user to stop wanting it.
One of the other niceties in this category include a system back-up-and-restore tool. LinHES automatically creates database backups every day, along with backups of /etc and /home, to be stored locally. Recorded videos (which in MythTV are generally not stored in /home, because MythTV expects an entire volume to be reserved for storage) can also be backed up but, because of the space required, this is not configured by default. LinHES also builds in configuration tools for setting up dynamic DNS, Bluetooth headsets, and a number of other options that are not integrated with the vanilla MythTV package.
LinHES does still have some shortcomings worth pointing out. The biggest is that the latest releases have support only for 64-bit Intel architectures. While 32-bit Intel systems are probably not worth worrying about, the lack of an ARM release is more problematic. More and more users are using small, ARM-based Linux boards as media-center set-top boxes; not supporting that option is something that LinHES will likely have to reconsider in future releases. Another, similar limitation is that LinHES focuses on support for NVIDIA graphics cards, including NVIDIA's non-free drivers. Smooth HD video playback no longer requires the latest and greatest GPU (or proprietary drivers), so this is a peculiar choice.
Nevertheless, LinHES offers a noticeably better setup and
administration experience than the vanilla MythTV package one finds in
a typical Linux distribution. This comes at a cost: the
appliance-like setup necessarily restricts what else the MythTV box
can be used for. But the reduction in MythTV-related headaches one
gets in exchange may make a lot of MythTV users currently running
other distributions do some serious thinking.
Posted Mar 23, 2015 0:15 UTC (Mon)
by pedrocr (guest, #57415)
[Link] (3 responses)
What's wrong with kodi+tvheadend? After much frustration with mythtv that combo has been working much better for me.
Posted Mar 23, 2015 16:30 UTC (Mon)
by daglwn (guest, #65432)
[Link] (1 responses)
MythTV provides other useful features but I am using them less and less.
I wish we had a more integrated system that put DVR + streaming under one roof. Does kodi integrate well enough with tvheadend to make it appear seamless?
I wish MythGame worked. I loved that capability.
Posted Mar 23, 2015 19:44 UTC (Mon)
by pedrocr (guest, #57415)
[Link]
Pretty much so. I still use the tvheadend web interface to schedule recordings but that's mostly because it's more convenient as I can access it over the internet on any device. Then on the local LAN I just bring up kodi and one of the menu options is Live TV and I can see the live programs or open up the previously done recordings. Works reasonably well.
I've sketched a better way of doing this kind of stuff:
http://pedrocr.pt/text/a-better-base-for-opensource-iptv-...
And have a working proof of concept:
https://github.com/pedrocr/camerasink/
But that's still a long way from being usable for this kind of thing. I've mostly focused on the surveillance camera use case.
Posted Apr 4, 2015 13:58 UTC (Sat)
by Rondom (subscriber, #58441)
[Link]
The community is huge. One small disadvantage is that there are some parts of the community that are heavily German which -- IMO -- kinda stiffles wider adoption.
Posted Mar 26, 2015 11:37 UTC (Thu)
by robbe (guest, #16131)
[Link]
This is only true if you negate the long-term-storage use case. Otherwise, you will run out of space sooner or later, and extending it costs money ... unless your mom (or: cloud provider) gives you bigger storage every year in exchange for hugs (or: more data to mine).
Obviously the right answer is to state an amount of Euro/bitcoin/sweet crude that the implementation would cost. Potential users could pledge part of their prospective savings on disk costs.
Posted Mar 26, 2015 14:21 UTC (Thu)
by BaldHeadedGeek (guest, #1078)
[Link]
So being a developer I wrote my own system. At least when things were broken or there is a bug I could hack on it myself. Not a C++ guy so hacking on mythtv really wasn't an option. It was a ton of work but also a lot of fun. Been running it for almost 5 years now. I think I have a grand total of one other user but it works fine for us. It's all open source but never got much interest from the outside world so I even took the web site down. Code just on github. It's called jflicks.
Currently I watch all video through an Apple TV using Airplay and an iOS app I wrote (which I haven't made public since no one really cares :). It's pretty sweet - just having a simple $69 (now) box at every TV instead of a HTPC client.
Posted Mar 27, 2015 3:29 UTC (Fri)
by linuxrocks123 (subscriber, #34648)
[Link] (1 responses)
Posted Mar 27, 2015 3:30 UTC (Fri)
by linuxrocks123 (subscriber, #34648)
[Link]
Making MythTV manageable with LinHES 8.3
Making MythTV manageable with LinHES 8.3
Making MythTV manageable with LinHES 8.3
Making MythTV manageable with LinHES 8.3
Making MythTV manageable with LinHES 8.3
> forum is that it no longer makes sense, since hard disks are so cheap.
Making MythTV manageable with LinHES 8.3
Making MythTV manageable with LinHES 8.3
Making MythTV manageable with LinHES 8.3