|
|
Subscribe / Log in / New account

Making MythTV manageable with LinHES 8.3

By Nathan Willis
March 18, 2015

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]

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]

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]

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.


to post comments

Making MythTV manageable with LinHES 8.3

Posted Mar 23, 2015 0:15 UTC (Mon) by pedrocr (guest, #57415) [Link] (3 responses)

> for those who also care about software freedom, MythTV remains the only truly viable choice

What's wrong with kodi+tvheadend? After much frustration with mythtv that combo has been working much better for me.

Making MythTV manageable with LinHES 8.3

Posted Mar 23, 2015 16:30 UTC (Mon) by daglwn (guest, #65432) [Link] (1 responses)

I didn't know about tvheadend, thanks!

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.

Making MythTV manageable with LinHES 8.3

Posted Mar 23, 2015 19:44 UTC (Mon) by pedrocr (guest, #57415) [Link]

> 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?

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.

Making MythTV manageable with LinHES 8.3

Posted Apr 4, 2015 13:58 UTC (Sat) by Rondom (subscriber, #58441) [Link]

I will throw VDR into the mix. In some ways it is a beast like MythTV and not as lightweight as tvheadend. Still, at least it does not need a database and after the initial setup one ends up with a usable system and a lot of additional functionality can be added later through plugins.

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.

Making MythTV manageable with LinHES 8.3

Posted Mar 26, 2015 11:37 UTC (Thu) by robbe (guest, #16131) [Link]

> 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.

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.

Making MythTV manageable with LinHES 8.3

Posted Mar 26, 2015 14:21 UTC (Thu) by BaldHeadedGeek (guest, #1078) [Link]

When I used mythtv I did use LinHES. As it made mythtv much more manageable even way back when. Over time I found both to be rather frustrating to use, especially at upgrade time. You were in a world of hurt because a new release meant new everything - OS, video drivers and mythtv. Just hard to do with a running system that people in the household depend on to just work.

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.

Making MythTV manageable with LinHES 8.3

Posted Mar 27, 2015 3:29 UTC (Fri) by linuxrocks123 (subscriber, #34648) [Link] (1 responses)

It should be noted that, while SchedulesDirect is the only officially supported source of guide data for MythTV in North America, it is possible to use Zap2It TV listings with zap2xml (http://zap2xml.awardspace.info/) or Microsoft Windows Media Center listings with mc2xml (http://zap2xml.awardspace.info/). Unlike SchedulesDirect, neither of these solutions requires a monthly subscription fee.

Making MythTV manageable with LinHES 8.3

Posted Mar 27, 2015 3:30 UTC (Fri) by linuxrocks123 (subscriber, #34648) [Link]

Ugh, sorry. I botched the link for mc2xml: http://mc2xml.hosterbox.net/

Sorry for the second post.


Copyright © 2015, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds