What's new in MythTV 0.28
The MythTV project released its latest stable version, 0.28, on April 11. While there are a few entirely new features worthy of users' attention, most of the changes are incremental improvements. But the improved components include services like Universal Plug and Play (UPnP) support, where MythTV has lagged behind other open-source media centers like Kodi, and the external API, which will hopefully make MythTV more developer-friendly. MythTV remains the most widely used open-source digital video recorder (DVR) but, as cord-cutting trends increase, it will need to offer more functionality to continue attracting users.
It has been just over two and a half years since the last major MythTV release, 0.27. From a functional standpoint, the most significant change to MythTV's core DVR and video-playback features is that the new release has migrated to FFmpeg 3.0 (released in February 2016), thus enabling hardware-accelerated video playback of Google's VP9 codec and providing a much better AAC encoder. VP9 is still not terribly widespread, but the new MythTV release also enables hardware acceleration for H.265 which, like VP9, targets ultra-high-definition video (e.g., 4K resolution).
UPnP and media browsing
UPnP is a specification meant to allow "smart" media-playback devices to discover compatible servers on the local network and automatically find the servers' audio, video, and photo collections. The MythTV back-end server has included UPnP support since version 0.20, but that support has never been particularly stunning. The 0.28 brings it up to speed, providing full compatibility with the current (2014) version of the standard and adding quite a few improvements to the experience of browsing the available media from a UPnP device.
For instance, UPnP supports an "album art" metadata feature; MythTV will now pick up plausibly named album-art images in music folders (e.g., album.png), and it will generate thumbnail images of videos and recorded TV programs (in multiple sizes, which is beneficial for those who may use both a smartphone and a smart TV at varying times). It also allows users to search through a media collection by length, by user-applied rating, and by several general metadata fields (e.g., director, studio, year, season, maturity rating, and so on). When you put those features together, it makes for a considerably more pleasant experience than the old UPnP support offered, which tended to present the user with a flat list of filenames, each accompanied by the same generic icon (designating "music" or "video," for example). Finally, rewind and fast-forward were broken for a number of UPnP client devices in earlier releases; these should all function correctly now.
While more and more devices ship with UPnP support these days (I personally know there are at least four devices in my home that can act as a UPnP client; all of them were purchased for their other functionality), MythTV also acts as a media-center front-end in its own right, providing the "couch ready" playback interface. Among other features, the MythTV front-end provides the same functionality as a UPnP client: browsing video, audio, and image collections. The image-browsing feature, MythGallery, was rewritten for the 0.28 release, updating the user interface to conform to the latest menu and theme updates and allowing multiple front-end devices to access the same image collection simultaneously.
The audio player component, MythMusic, received updates as well, including a lyrics-display option, a significantly refreshed collection of streaming audio services, some new visualizations, better support for metadata fields in FLAC files, and initial support for retrieving track metadata through the MusicBrainz service. Both MythMusic and MythGallery have also been updated to support MythTV's Storage Groups feature. Storage Groups allow MythTV back-ends to transparently use a variety of underlying file servers and disks in a single pool, and allow the user to share the pool between several back-ends.
Linux users accustomed to Logical Volume Management and network-attached storage may not find the feature particularly novel, since that type of functionality is provided at the operating-system level, but it can be useful at the application level, too. One could set up a separate Storage Group for recordings that resides on a machine attached to a TV, while keeping music in another Storage Group closer to a different part of the house. Or one might prefer to keep different types of media in different filesystems or configured for different back-up options. In prior releases, such choices were limited by the fact that MythMusic and MythGallery did not use the Storage Groups feature at all.
Alternative interfaces
The new release includes some less visible work that is likely to be good for MythTV in the long run. The primary example is the continued development of the MythTV Services API, an API framework introduced in version 0.25 that allows external applications to access and even configure a MythTV installation. The Services API is currently used by just a handful of applications (such as remote-control apps for Android phones), but it is a big improvement over the old, XML-based API.
Version 0.28 of the Services API introduces an entirely new Image service (for working with still-image collections, like MythGallery) and includes updates to several others. The DVR service received the most attention; it is now possible to manage almost every facet of a set of recording rules through the API. That means that external applications can provide the proper hooks to set up and manage scheduled recordings, not just display the schedule and play already-recorded items. The Guide service, which hooks into the electronic program guide, was also enhanced; applications can now filter and group channels (which is particularly useful for showing guide data on small screens). And the Frontend service, which controls playback, gained one important new feature: a generic SendKey command, which enables developers to fully customize the playback commands sent. Since MythTV key bindings are configurable, providing only a fixed set of key commands in the Frontend service was a serious limitation.
The last new feature worth pointing out is a still-in-development experiment: a complete rewrite of the MythTV web interface. The new interface is called WebFrontend, and it will eventually replace the existing interface, MythWeb. WebFrontend runs from a built-in web server, while MythWeb required configuring a separate Apache server. Although the design is still in flux, it aims to simplify the setup and configuration tasks presented in the interface, and to provide a better online-video-playback service.
For those who have used MythWeb, this is good news. Although it is functional enough to get by, the old interface could hardly be described as smooth. Furthermore, it had only rudimentary configuration and monitoring options—most implemented by providing direct access to the MythTV back-end's database tables. If something went wrong with a recording, one might be just as likely to make it worse as to fix it by poking around the database in MythWeb. Hopefully, the project will also take this opportunity to make WebFrontend more secure than MythWeb; strong authentication and TLS (neither of which were implemented for MythWeb) would be a welcome start.
Back in March, I expressed some criticism of MythTV for its complexity
and awkward management features. It is hard to say at the outset
whether or not version 0.28 improves that situation any. MythWeb is a
legacy feature that is ripe for removal (as is the old XML-based API
now supplanted by the Services API). At the same time, large features
like MythMusic and MythGallery seem to still be undergoing periodic
rewrites that do not make them any simpler. But perhaps improved UPnP
support offers some hope. After all, if a MythTV back-end is
perfectly usable through some other, UPnP-based client application,
then there is less for the user to worry about. On the whole, though,
each new MythTV release still makes progress. It might be slower than
some users would like, but it is moving in the right direction.
Posted Apr 14, 2016 13:46 UTC (Thu)
by Seegras (guest, #20463)
[Link] (1 responses)
MythCoreContext::GetBackendServerIP(): No address defined for host: localhost
This is rather ridiculous. If I set LocalHostName (really) to 127.0.0.1 it complains:
"MythCoreContext::GetBackendServerIP(): (127.0.0.1): Given IP address instead of hostname (ID)"
but then works.
With the default theme , the config options are badly readable, especially the control field to enable/disable things are much smaller than the normal text, and it took me some time to figure out where to set the media directories.
After this, I had them scanned and added to the db, and I could play them. However:
To wrap it up, the hostname handling (and mabye IPv6) is messed up, and messy to configure; it can't use metadata already present and the lookup is intransparent and often wrongly matched. I'm not impressed with the media-center part.
Posted Apr 19, 2016 23:26 UTC (Tue)
by PaulWay (guest, #45600)
[Link]
And while I agree that it'd be good to have some authentication (yesterday I talked with someone whose MythWeb machine was fully available from the internet with no authorisation required), normally this is not necessary if you're just using MythWeb on your own home network. And Apache, Nginx etc already provide authorisation methods - I hate seeing people reinvent yet another authentication system and then making all the same mistakes (storing cleartext passwords, etc). MythTV does not have an authorisation system built in already, so it means we'll have to invent credentials, etc. etc.
While I agree that not using PHP and building a better API for the web interface to talk to are good things, reinventing a web server to do that seems to be overkill.
Have fun,
Paul
Posted Apr 21, 2016 15:33 UTC (Thu)
by nye (subscriber, #51576)
[Link]
I'm always somewhat amused (and a little confused) that the process of switching from a service provided via radio waves to a service provided via wires is known as "cord-cutting".
What's new in MythTV 0.28
- Displayed was the filename, minus extension, NOT the name of the movie (which, of course, was in the tags within the (mp4-, mkv- even avi-) file, which it obviously didn't bother to read)
- After "Retrieve all Details" It kept popping up "Search Results" with no apparent connection to the movie at hand. It did so even when the filename happened to be the name of the movie by chance. So for instance, for "Micmacs", it popped up "Search Results" for "Bunny". No way to know for which movie it found that.
- It then identified some other movies, by slapping on the most hollywoody match (which, for my collection, is usually wrong), which it again forgot after quitting the program.
What's new in MythTV 0.28
What's new in MythTV 0.28
