Key Moments

Open Source Speaker Series: Practical MythTV

Google TalksGoogle Talks
Education6 min read57 min video
Aug 22, 2012|471 views|3
Save to Pod

Want to know something specific about what's covered?

We've already dissected every moment. Ask and we will deliver (with timestamps).

TL;DR

MythTV is a free, open-source PVR that records, plays, and manages media, offering commercial skipping and remote streaming, but guide data costs are shifting to a subscription model.

Key Insights

1

MythTV's commercial detection is highly reliable, even for challenging content, and can be used to automatically remove commercials or create editable cut lists.

2

The next release of MythTV will feature a YouTube-like Flash player for on-the-fly transcoding and streaming, alongside improved MythWeb capabilities for remote access.

3

US guide data, previously free from Zap2it, is transitioning to a new paid service called Schedules Direct, with initial costs around $20 for three months.

4

MythTV supports multi-backend and multi-frontend setups, allowing for distributed recording and playback across multiple devices in a household.

5

User jobs enable scripting for tasks like transcoding videos for specific devices (e.g., Nokia N800, iPods, iPhones) or automating other custom workflows.

6

While LIRC support for remote controls can be finicky, dedicated HTPC cases with built-in IR receivers or devices like HD Home Run tuners can simplify hardware integration.

MythTV's core functionality as a versatile media hub

MythTV is presented as a powerful open-source Personal Video Recorder (PVR) that goes beyond simply recording television. It functions as a comprehensive media management system, capable of recording live TV, playing various video files (including ripped DVDs), managing audio collections, and even handling a web browser, RSS reader, and weather applet. One of its defining features is its strong plug-in architecture, making it highly extensible. Michael Still, a MythTV developer, highlighted that many of these functionalities, like the weather display, are implemented as plug-ins, allowing for customization and the creation of new features. The software's name itself is a nod to the 'mythical convergence PC' concept from the 1990s, aiming to be the single machine for all home entertainment needs. Future releases are planned to integrate with home security systems, allowing for picture-in-picture displays from closed-circuit cameras.

Backend and frontend architecture for distributed media management

MythTV operates with a distinct backend and frontend architecture. The backend is the core engine responsible for TV capture, managing tuner cards, and interacting with the MySQL database for schedules, user preferences, and recording information. It also handles the actual storage of recordings and media files on disk. The frontend is the user interface component that plays back content. This separation allows for a highly flexible setup: multiple backends can be used if tuner capacity is exceeded or if capture cards are in different physical locations, while multiple frontends can be deployed throughout a home, enabling simultaneous playback of different content on various devices like living room TVs or laptops. This distributed model is key to MythTV's scalability.

Integrated media playback and commercial skipping capabilities

MythTV offers robust media playback features, including the ability to pause live TV and automatically skip commercials. The commercial detection process runs post-recording and analyzes video content for patterns like station logos, black frames, and image intensity to identify ad breaks. While generally reliable, it can struggle with very dark scenes. Detected commercials can be automatically skipped during playback or converted into a 'cut list' for permanent removal to save disk space. This 'cut list' functionality also allows users to manually edit recordings, such as trimming the end of a sports broadcast. The system uses a 'lossless transcode' process for editing, which involves regenerating keyframes where cuts are made, potentially causing minor, often unnoticeable, quality degradation in those specific sections.

DVD playback and the evolution of the internal player

Playback of DVDs is supported, with the system primarily recommending its internal player, which is based on MPlayer. This internal player has seen significant improvements, notably gaining support for DVD menus in recent releases, which was a limitation of earlier versions. Using the internal player ensures consistent remote control mapping and a more integrated user experience compared to relying on external players, which could have varying keyboard layouts and menu support. Encrypted DVDs are also supported, though they may require the separate installation of the 'libdcss' library.

User jobs enabling custom media processing and automation

A powerful feature of MythTV is its 'user jobs' system, which allows users to run custom command-line scripts after recordings are completed. This opens up extensive possibilities for media processing and automation. A common application is transcoding video files into formats suitable for portable devices like the Nokia N800, iPods, or iPhones, using tools like NuvExport. Beyond transcoding, user jobs can be used for diverse tasks, such as sending email notifications for new recordings, copying files to specific sync locations for other devices, or implementing custom content management. The upcoming release will introduce delayed execution of user jobs, enabling smart storage management, such as automatically transcoding large HD recordings to smaller formats if they haven't been watched within a specified period (e.g., seven days) to save disk space.

Remote control and web interface for ubiquitous access

MythTV provides multiple ways to control and access media remotely. A basic Telnet interface allows for command-line control over the network, though it lacks authentication and encryption, making it suitable only for trusted internal networks. For more secure remote control, an instant messaging interface, demonstrated using a Google Talk bot, allows users to send commands like pause or play via chat. The newly integrated MythWeb, a PHP-based web interface, offers comprehensive control, allowing users to manage recordings, browse content, and even initiate playback from anywhere with a web browser. Notably, future versions of MythWeb will include a YouTube-like Flash player that transcodes video on-the-fly for streaming, enhancing remote viewing experiences even for users who are ostensibly working.

Challenges and solutions for EPG guide data in the US

A significant challenge discussed is the provision of Electronic Program Guide (EPG) data, particularly in the US. For a long time, free guide data was available from Zap2it's lab site. However, Zap2it, owned by Tribune Media Services (TMS), decided to discontinue this free service due to perceived abuse. This led to panic among MythTV users. In response, the MythTV community and other open-source projects have formed a company called Schedules Direct. This new entity has licensed data from TMS and plans to offer it via a subscription model, initially estimated at $20 for three months, with the aim to lower costs as user numbers stabilize. While this provides a long-term solution, a transition period exists where Zap2it is stopping service and Schedules Direct has not yet fully launched, causing ongoing concern.

Hardware considerations and future developments

Hardware setup for MythTV can vary, with components like capture cards (e.g., Hauppauge cards, often preferring non-Windows branded versions) and remote controls requiring careful selection. LIRC, the standard for remote control, can be temperamental, but integrated solutions in HTPC cases or devices like the HD Home Run network tuner can simplify integration. For external set-top boxes, controlling them often involves IR blasting, though FireWire or serial interfaces offer more reliable control for some high-definition boxes. Future developments mentioned include improved storage management with configurable directories, universal plug-and-play (UPnP) support for network-connected devices, and enhancements to guide data acquisition to improve the experience for users even without direct access to EPG data, allowing for manual scheduling based on time and channel.

MythTV Practical Setup Guide

Practical takeaways from this episode

Do This

Install MythTV packages for your Linux distribution or compile from source for optimization.
Configure the MythTV backend to handle recording and the frontend to display video.
Utilize the plug-in system for extended functionality like weather updates or MAME integration.
Leverage the internal DVD player for consistent remote control and menu support.
Enable commercial detection and use cut lists for editing recordings and saving disk space.
Explore user jobs for automating tasks like video transcoding for specific devices.
Set up remote frontends by pointing the configuration to the backend's database.
Consider using the MythWeb interface for remote management and streaming.
Explore new features like the watch list and advanced storage directory configuration in the next release.
Investigate hardware recommendations on the MythTV website for compatibility.
Use IR blasting or FireWire/serial interfaces for controlling external set-top boxes.
Set up tuner preferences to prioritize specific cards or channel availability.
Ensure your file system (e.g., XFS, ext4) is efficient for deleting large files.

Avoid This

Don't rely solely on the development release for stability; use stable releases for daily use.
Avoid using the Telnet interface over the internet due to lack of authentication and encryption.
Do not assume all devices will work out-of-the-box; some hardware configurations can be fiddly.
Avoid using older file systems like ext3 if frequent deletion of large files causes noticeable pauses.
Be aware that MythWeb's default security using .htaccess may not be sufficient for all deployments.
Do not expect BitTorrent support in MythNet TV due to challenges in determining download completion and discovery.
Avoid building a MythTV box immediately during the guide data transition phase; wait a few weeks for stability.

Common Questions

MythTV is an open-source PVR package that records live TV and allows playback at your convenience, similar to a TiVo. However, MythTV offers more unique features like automatic commercial skipping, a robust plug-in system, and greater configurability, allowing users to customize its functionality extensively.

Topics

Mentioned in this video

Software & Apps
Google Video

A video platform that can be integrated with MythTV.

Windows

An operating system for which MythTV frontends have had work done but not a finished product yet.

MAME

A classic arcade game emulator that MythTV integrates with to allow playing arcade games.

ffmpeg

A multimedia framework that MythTV uses, requiring a new version for proper iPod integration.

Python

Programming language used to create a Google Talk bot for controlling MythTV.

Debian

A Linux distribution for which MythTV packages are available.

Ext4

A file system that is noted to improve deletion efficiency, mentioned alongside XFS.

Google Talk

An instant messaging network/protocol used by a Python bot to control MythTV remotely.

Fedora

A Linux distribution for which MythTV packages are available.

Ubuntu

A Linux distribution for which MythTV packages are available.

LIRC

A system for controlling devices via infrared signals, used with MythTV for remote control functionality.

MythTV

An open-source PVR (Personal Video Recorder) package that records, plays back, and manages video and audio content, with features like commercial skipping and a plug-in system.

ext3

A file system mentioned for its inefficiency in deleting large files, causing pauses in MythTV.

XFS

An extents-based file system that is faster at deleting large files compared to ext3, used by MythTV.

Mac OS

An operating system on which MythTV frontends can run.

SQL

A query language used within MythTV's advanced recording mode to define complex recording rules.

MySQL

The database system used by MythTV to store metadata such as program guides, recording schedules, and user preferences.

MPlayer

An external player that could be used for DVD playback in MythTV, now superseded by the internal player.

Zine

An external player previously used with MythTV for DVD playback.

NuvExport

A tool used within MythTV to convert video formats, particularly from Nupple Video (.NUV) to other formats.

Myth Transcode

MythTV's built-in command-line tool for lossless video transcoding, used for tasks like removing commercials.

Linux

An operating system on which MythTV frontends can run, and from which MythTV can be compiled from source or installed via packages.

MythWeb

A web interface for MythTV that allows users to manage recordings, watch videos, and interact with the system through a browser.

MythNet TV

A tool created by Michael Still that imports RSS and Atom feeds into MythTV as recordings.

BitTorrent

A file-sharing protocol that MythNet TV does not currently support due to complexities in detecting download completion and content discovery.

XMLTV

An open-source project associated with MythTV that deals with program guide data.

Zap2it

A service that previously provided free TV guide data for MythTV, but stopped due to potential abuse and licensing changes.

FireWire

An interface that some high-definition set-top boxes use to output video, which MythTV can potentially support.

More from GoogleTalksArchive

View all 48 summaries

Ask anything from this episode.

Save it, chat with it, and connect it to Claude or ChatGPT. Get cited answers from the actual content — and build your own knowledge base of every podcast and video you care about.

Get Started Free