Help us keep the list up to date and submit new video software here.

Try DVD Fab Video Downloader and download streaming video from Netflix and other sites! Download free trial !

Software Home »



MythTV is a project aiming to create a homebrew set-top box. The end goal is to have a nice interface for watching TV, recording shows, listening to music, etc., all displayed on a TV and controlled by a remote. Also video streaming.

Free software
OS: Linux
File size: 96.5MB
Version history
3 votes
Rate it


MythTV screenshot
Latest version

31.0 (March 23, 2020)


Visit developer's site

Download MythTV 31.0  96.5MB  Linux

Software License

Free software / FOSS (Free download and also Free and Open Source Software)

Supported operating systems


Version history / Release notes / Changelog

Release Notes - 31

Key New Features
Major Changes
Significant changes to video decoding and playback. Please read Release Notes - 31 Video decoding and_playback.
Support for the DataDirect guide service from Schedules Direct has been removed. Either of the two XMLTV grabbers for Schedules Direct should now be used. XMLTV Wiki, Ticket #13411
Greatly improved Channel Scanning
Python3 is now supported. MythTV's python2 support is now considered deprecated and will be removed in a future version. See: Python3 Conversion
Prerequisite Changes
Added support libraries/prerequisites
- python3-simplejson
- python3-mysqldb
- python3-future
Removed support libraries/prerequisites
- python-urlgrabber
Special Notices & Instructions
Data Migration: v31 will only support direct upgrades from 0.22 or higher. If you are running an older version, you will need to upgrade to 0.22, 0.23 or 0.24 then upgrade to 31
As always, backup your database before upgrading, see this.
Strongly suggest that the last two characters of all mythtv_setup->Input connections-> (each input) ->Display name settings are unique. Empty Display names will be converted automatically [d829c84]
Services API users, see API parameters 31
[739a994222] A channelscan with mythtv-setup gives sometimes incorrect "Timed out" messages.
[b71875f16c] Account for very, large pre-roll values in AssignGroupInput.
[771796578b] Adapt mythpython's MythXML class to new Services/API.
[060c7ae2e1] Add new MythPower/MythPowerDBus classes
[11eba7068c] Add a boolValue function to ScannerEvent.
[1593c82103] Add delay to handle race condition in FreeBSD testing.
[1defa96fcc] Add an intermediate variable in loops over a QRegion's QRects.
[207d7bde9c] Add exception for Digitenne (NL) network 8720 to enable EIT by default for all channels.
[21f2b55e96] Add a "Priority channel" recording rule filter.
[2613961ff7] Add DVB constants
[2739702257] Add a couple of EIT info messages.
[294b756262] Add Get/SaveBoolValue functions to the UPNP configuration classes.
[2e28c728c3] Add comment about why the change from QAtomicInt to QAtomicInteger.
[48821d2964] Add a new GUI appearance setting for RGB full/limited range output
[4a393cd992] Add cbegin/cend functions to AutoDeleteQueue and use in programinfo.cpp.
[4bbdf0ce98] Add a SetBoolOption function to RecorderBase.
[4ee2ea817e] Add missing unlocks in HandleAddChildInput() error cases.
[4fdfad9ab7] Add a new hack to make sure an old, live TV hack is performed.
[58379edd92] Add network info to System Status / Machine Status.
[5cc50b837b] Add OS/CPU architecture to log output
[5db9866230] Add sort mode "Multiplex Frequency" in mythtv-setup Channel Editor.
[62d73fef01] Add help text in mythtv-setup
[7e4286a69f] Add 29700000 to list of DVB-S/S2 symbol rates
[8229e46f73] Add initialization of ExternRecChannelScanner::m_channel_total.
[871accb425] Add the 'recordedfile' table to python bindings and make use of it
[8d2ff9f84d] Add a SaveBoolSetting function to gCoreContext.
[8fd3e13b8a] Add frequency table for "Netherlands" in DVB-T/T2 "Full Scan"
[90346bc928] Add initialization of SpliceInformationTable::scte_pid.
[94036bc358] Add NVDEC and VDPAU OpenGL interop
[a6df8c86e3] Add VideoToolBox decode support on OSX
[ac9721c133] Add APIVersion exchange in mythfilerecorder
[aea47b6232] Add a couple of comments to mythxdisplay.cpp.
[b226388633] Add MythPowerOSX
[bca53f0e88] Add compatibility to python3 to tmdb3 module.
[bd66ce647b] Add a qualifier to the RequestType/ResponseType/ContentType enums.
[c263c07fe9] Add m_ to a couple of member variables in debug code.
[c7819f57ee] Add a get_bool_option function to transcode.cpp.
[c894ef68d2] Add some more explicit destructors for shared obj typeinfo critical classes
[c9514dc713] Add OpenGL debug logging
[cacc8ad66f] Add Freesat descriptors.
[d3f58fd9fa] Add modulation system in dtv_multiplex for DVB-C and DVB-S tuners.
[d5d4d3dcb7] Add static functionality checks for VDPAU, VAAPI and NVDEC
[d6af02f8e9] Add Compatibility to Python3 for metaclasses
[d726068eb4] Add comment explaining why this function returns an int.
[dcb0847676] Add t2_terrestrial_delivery_system descriptor
[e10b65f962] Add help texts in mythtv-setup
[e239fc55bc] Add season/episode/totalepisodes in ProgramData::IsUnchanged
[e734a03fac] Add option to select only channels with a DVB Logical Channel Number
[eba8bab152] Add Video4Linux codecs (decoder) support
[f3c90896bf] Add "AudioTrack" Audio playback capability for Android
[f45ffb0219] Add title in mythtv-setup page Channel Scan
[35ab79122c] Allow storage group paths without trailing slashes in Python Binding findfile method.
[5f6697ecfa] Allow manual recordings to specify the subtitle and description.
[7ac63260d3] Allow manual recordings to specify the season and episode.
[c53c444022] Allow 'db.seacrchRecorded' method to search by given 'recordedid'
[339bb0f5ba] Always include the logging header in mythdisplay.cpp.
[704f5ef366] android: Fix problem with frontend setup
[80325639d3] android: Bypass dynamic_cast failure in setup.
[9ee9894bf5] android: Fix problem with guide grid colors.
[b4cb676c94] android: Fix channel masks for AudioTrack
[b60b867890] android: Fix for android OpenGL ES failures
[ff6bd41e0c] Android audiotrack: Fix crash when watching Live TV
[0f16864853] Android: Disable suspend, reboot and shutdown settings/options
[1e57c623b1] Android: Move into main source tree
[3054aadb66] Android: Fix MediaCodec pause frame when direct rendering
[421c0a795a] Android: Work around seek delays for recordings/livetv
[780b5f5029] Android: update dependent libraries list
[9821f0369b] Android: Fix MediaCodec SurfaceTexture scaling for non-square pixels
[a25eecde74] Android: Initial MediaCodec render to surface support
[af05a71bc3] Android: Fix deadlock in AudioTrack processing
[bc80a5033f] Android: Fix some dynamic_cast issues
[f388026128] Android: Add CPU load monitoring
[5041442d1f] Another minor improvement in CardUtil log message output.
[e68bca0886] Ask only once for non-conflicting channel number
[d0de81e872] Astra-2 28.2E satellites BSkyB channel numbers
[1e75986062] Audio playbacK: Don't waste memory on video frames for audio
[244062c6c5] Audio playbacK: Don't waste memory on video frames for audio
[294285fcfc] AvFormatDecoder: Cleanup/extend stream debug output
[2f93b01f8f] AvFormatDecoder: Flush H264 streams to release frames context
[30e74741c0] AvFormatDecoder: Fix a regression in seeking
[33b109b106] AvFormatDecoder: Use a single FFmpeg thread for hardware decoding
[4a7c94d19e] AvFormatDecoder: Squash a couple of warnings if VAAPI2 not in use
[4e14648f2c] AvFormatDecoder: Minor logging improvement
[5162cc0ceb] AvFormatDecoder: Pass optional AVDictionary options to avcodec_open2
[51ac6a9d14] AvFormatDecoder: Move unsupported H.264 profile check into MythCodecContext
[5421706710] AvFormatDecoder: Fix VDPAU only builds
[57c9ba4996] AvFormatDecoder: Cleanup software frame re-allocation
[638413c873] AvFormatDecoder: Increase max_analyze_duration for scanning streams
[6678ba7b59] AvFormatDecoder: Fix a regression in OpenFile for non-live tv
[7010586380] AvFormatDecoder: Prefer average frame rate over estimated
[76bca2a65d] AvFormatDecoder: Refactor OpenFile for better live tv support
[7964087395] AvFormatDecoder: Move all remaining HW decoder code into MythCodecContext
[853440d166] AvFormatDecoder: Fix a logic warning
[90389021ce] AvFormatDecoder: Squash a warning
[9e607a52b8] AvFormatDecoder: Better handling of decoder deint scan detection
[a4d1c3f935] AvFormatDecoder: Add some extra 'heuristics' to frame rate detection
[b5331e7db2] AvFormatDecoder: Force m_use_frame_timing for nvdec
[c9679907e6] AvFormatDecoder: Minor logging improvement
[d1f6885150] AvFormatDecoder: Move VAAPI code into VAAPIContext
[d404c1db09] AvFormatDecoder: Squash an FFmpeg warning
[da2bcc89e6] AvFormatDecoder: Refactor retrieval of hardware frames
[dd96d683a6] AvFormatDecoder: Improve video frame rate selection
[eae4c275e5] AvFormatDecoder: Add profile info to debug output
[fdfc0e0fb7] AvFormatDecoder: Use a lambda for default release frame
[2aebd10616] AVFormatDecoder: Squash some FFmpeg deprecated warnings
[56556bd5a5] AvFormatDecoder::SeekReset Flush the VideoBuffers first
[76e5e8a76e] AVFormatWriter: Ensure channel layout is set
[e07ffee9c1] AVFormatWriter: Suppress a couple of FFmpeg deprecated warnings
[2b109f9b57] Avoid crash in ShortVirtualChannelTable parsing
[6a5fb07fa1] AVSync2: Use frame timestamps to determine elapsed play time
[6b402ca5a3] AVSync2: Improve resync speed and accuracy
[90b4ec347f] AVSync2: Fix never-ending stutter on Live TV
[d5a2223bf2] AVSync2: Change to use monotonic timer
[1709903044] Bump ABI version in master to match the git tag and allow it to build.
[4fbabd9038] Bump the database schema version to enable render branch updates
[64570b517b] Cache FileSystemInfo data to avoid unwanted blocking.
[df607e9bfc] Cache FileSystemInfo data to avoid unwanted blocking.
[8f14f5ba36] Call MythUICheckBoxSetting::boolValue() instead of ::getValue().
[19a51cb405] Catch and fix uninitialized QStrings passed to SQL code.
[fcc1aa5224] Catch and fix uninitialized QStrings passed to SQL code.
[3f54824a2e] CEC: Re-write CECAdapter, The physical address of the connected display is now parsed from the display's EDID and passed to libcec on initialisation.
[990429ddbc] Change channel.visible to a 4-value, enum type.
[a0f4fbbaeb] Change DVB-T to DVB-T2 and DVB-S to DVB-S2 if delivery system not defined.
[a1ac701c45] Change name 'Multiplex Editor' to 'Transport Editor'
[b6fc76bc34] Change scheduler warning message about Listings source to Video source
[c6a7cf1878] Change the time value conversion in function wait_for_backend.
[e01113eadb] Change "Wrong PMT" messages from LOG_ERROR to LOG_DEBUG
[52360b18e9] Channel scan default option v...

View full changelog

All features


We like to think of MythTV as the ultimate Digital Video Recorder and home media center hub. Think of it as a Free and Open Source alternative to Windows Media Center or Tivo. It started out in 2002 as a way for Isaac Richards to produce a better TV-viewing environment than his cable company's digital cable box could provide, and through the help of the open source community quickly grew into a powerful tool for watching and recording television. With its plugin architecture, it has been transformed from a mere TV viewing application into a full home media center suite, capable of managing your personal photo, video, and music collections, as well as keep you up to date with the weather, a ZoneMinder home security system, and much, much more.

MythTV Features

Watch and record analog and/or digital TV, including HDTV.
Pause, skip, and rewind live TV shows.
Completely automatic commercial detection/skipping, with manual correction via an intuitive cutlist editor.
Intelligently schedules recordings to avoid conflicts.
Parental controls to keep your kids out of the good shows.
Watch and archive DVDs.
Listen to your digital music collection.
Schedule and administer many functions remotely via a web browser.
Flexible client/server architecture allows multiple frontend client machines to access content served by one or more backend servers (although the most common installation consists of a single computer running both the client and server together).
Many more...
Though MythTV was initially written to run only on the Linux operating system, BSD and MacOS X are also well supported, and it has recently become possible to build a version that can run on Microsoft Windows. We are constantly working to bring MythTV to as many users as possible, regardless of your preferred operating system.


The backend server application runs the core "behind the scenes" functionality for MythTV. The bulk of this is taken up by scheduling and recording your TV shows, but also includes keeping your TV listings up to date, managing the database, and performing routine maintenance on any files generated in the recording process. Backend servers are also responsible for streaming recording files to any remote frontends that do not have direct access to them.
Having a separate backend application allows ambitious users to split their MythTV setup between different locations best suited to each task. For instance, a powerful (i.e. large and noisy) server to host recording files and hardware, hidden away in a closet, and a minimal (i.e. small and quiet) frontend machine kept next to the TV.


The frontend client is the human interface to MythTV. This is where you watch TV, listen to music, etc. Each frontend communicates with one or more backend servers in order to determine which recorded shows are available to be watched, or which TV tuners are available to watch live TV.
In addition to this, the frontend also provides access to system status, the TV listings guide (so you can schedule new recordings), upcoming shows that will be recorded, and much more. If you install plugins like MythMusic and MythVideo (so you can watch a DVD or listen to music), you will also see these listed in the frontend. As you can see from the table of contents for this guide, there are many plugins to choose from.

Sections/Browse similar tools

Guides and How to's

Acronyms / Also Known As

MythBackend, MythFrontend

Share software

Facebook    Twitter    Reddit    LinkedIn    Pinterest    Google+    Email

Notify me when software updated or report software

Email me when it has been updated    Report this software (dead link/new version)  

3 reviews, Showing 1 to 3 reviews

Rating by Willliam Reynolds on Jan 12, 2021 Version: 31.0 OS: Linux Ease of use: 5/10 Functionality: 10/10 Value for money: 10/10 Overall: 9/10

It's the best. I have been using it since Sept-Oct 2003 (IIRC it used to be 0.17 then) and I have no problem at all with this piece of software.

Review by pappukanghi on Sep 16, 2006 Version: 0.20 OS: Linux Ease of use: 10/10 Functionality: 10/10 Value for money: 10/10 Overall: 10/10

I've heard about MythTV for so long and was dying to try it out. My current desktop is not the quickest (800 mhz PIII) so I decided to get a capture card that would do mpeg2 encoding on the fly (doesn't kill the CPU). I wound up getting the Hauppauge WinTV PVR350 card. I tried installing via KnoppMyth but had some problems. I heard good things regarding Jarod Wilsons fedora2 how-to decided to give it a shot. It installed without any major issues. MythTV is great. I can do what tivo does (record a live show, pause a live show, schedule recordings) and much more. You can rip CD's and DVD's, browse internet sites, read RSS newsfeeds, manage your system remotely (schedule shows & delete programs) and play old school video games via xmame. If you have a DVD burner you also burn your recordings. Another great thing is that because it runs on linux it supports all the different codecs. MythTV simply rocks!
I plan on building a dedicated MythTV box very soon for my home entertainment system using a mini-atx box.

Review by Nigel_Tufnel on Oct 29, 2004 Version: 0.16 OS: Linux Ease of use: 9/10 Functionality: 10/10 Value for money: 10/10 Overall: 9/10

3 reviews, Showing 1 to 3 reviews

1 tool hits, Showing 1 to 1 tools

NEW SOFTWARE= New tool since your last visit
NEW VERSION= New version since your last visit
NEW REVIEW= New review since your last visit
NEW VERSION= New version

Latest version
Version number / Beta version number / Update version number and when it whas released.

Type and download
NO MORE UPDATES? = The software hasn't been updated in over 2 years.
NO LONGER DEVELOPED = The software hasn't been updated in over 5 years.
RECENTLY UPDATED = The software has been updated the last 31 days.
Freeware = Download Free software.
Freeware Trialware = Download Free software but some parts are trial/shareware.
Free software = Download Free software and also open source code also known as FOSS (Free and Open Source Software).
Free software Trialware = Download Free software and also open source code but some parts are trial/shareware.
Freeware Ads = Download Free software but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.
Free software Ads = Free Download software and open source code but supported by advertising, usually with a included browser toolbar. It may be disabled when installing or after installation.
Trialware = Also called shareware or demo. Free Trial version available for download and testing with usually a time limit or limited functions.
Payware = No demo or trial available.
Portable version = A portable/standalone version is available. No installation is required.
v1.0.1 = Latest version available.
Download beta = It could be a Beta, RC(Release Candidate) or an Alpha / Nightly / Unstable version of the software.
Download 15MB = A direct link to the software download.
Win = Windows download version. It works on 32-bit and 64-bit Windows.
Win64 = Windows 64-bit download version. It works only on 64-bit Windows.
Mac = Mac download version. It works on 32-bit and 64-bit Mac OS.
Mac64 = Mac OS download version. It works only on 64-bit Mac OS.
Linux = Linux download version.
Portable = Portable version. No installation is required.
Ad-Supported = The software is bundled with advertising. Be careful when you install the software and disable addons that you don't want!
Visit developers site = A link to the software developer site.
Download (mirror link) = A mirror link to the software download. It may not contain the latest versions.
Download old versions = Free downloads of previous versions of the program.
Download 64-bit version = If you have a 64bit operating system you can download this version.
Download portable version = Portable/Standalone version meaning that no installation is required, just extract the files to a folder and run directly.
Portable version available = Download the portable version and you can just extract the files and run the program without installation.
Old versions available = Download old versions of the program.
Version history available = Complete changelog on our site.
Windows = Windows version available.
Mac OS = Mac OS version available.
Linux = Linux version available.
Our hosted tools are virus and malware scanned with several antivirus programs using

Rating from 0-10.

Browse software by sections

Search   Contact us   Privacy Policy   About   Advertise   Forum   RSS Feeds   Statistics   Software   

Site layout: Default Classic Blue