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

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: 110MB
Old versions
Version history
3 votes
Rate it


MythTV screenshot
Latest version

33.1 (February 5, 2023)


Visit developer's site

Download MythTV 33.1  110MB  Linux

Download old versions

Download MythTV old versions

Software License

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

Supported operating systems


Version history / Release notes / Changelog / What's New

Release Notes - 33

The Current Release is 33.1.

Key New Features
New web interface for setup (partial)
Major Changes
New Waveform visualisation for MythMusic
DiSEqC support for SAT>IP
Automatic channel groups per video source
Upgraded to latest FFmpeg version
Nearly 300 continued code modernization and restructuring (not in commits below)
Prerequisite Changes
Added support libraries/prerequisites
Removed support libraries/prerequisites
Special Notices & Instructions
Data Migration: v33 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 33.
As always, backup your database before upgrading, see this.
A list of Services API changes are here: API_parameters_33.
Commits added in v33 (includes those cherry picked to v32)
[5ece411488] Abort flagging if no logo detected.
[106aae52a4] Add missing include <array> to mythdate
[1c26ed953c] Add debug message when PMT found
[28c270f502] Add MPEG/ATSC/DVB PSIP table parsing tests.
[377e00fa38] Add missing macro's for Qt translation
[3e52fe15cf] Add symbolrate to transport list in mythtv-setup log
[68bb4d7208] Add new _Z and _UZ literals to parallel the c++23 Z/UZ literals.
[7938c614ca] Add static asserts and warning comments to the TSHeader/TSPacket classes.
[88c7d97dc9] Add tuning data for Eutelsat 7 satellite
[89e369e224] Add 1 more setting to enhance logo detection.
[9e17e570d8] Add table format (no parsing) for four ATSC tables.
[a23b0d2afc] Add more DVB PSIP table parsing tests.
[adb3ae9c8f] Add s2_satellite_delivery_system support (1)
[b44bd89a32] Add debug log message when PMT found
[b6ef37c1b1] Add ability to force year for recording extender testing purposes.
[c11c85a674] Add release-date of an episode to tv-grabber
[c2108bc386] Add check in T2DeliverySystemDescriptor
[c2bb263cc8] Add support for the DVB "Time Offset Table".
[c67ef9c326] Add 3 settings to enhance logo detection.
[e2877111be] Add cast needed by some compilers to last previous commit.
[eb60f4f103] Add missing stddef.h for EL7 compiles.
[f3134740f5] Add #include <limits> before #include <QtEndian> to address QTBUG-90395
[f4df2fbefd] Add missing runtime to tvmaze collection display
[fe95e28f0a] Add /Content and /Dvr paths to proxy.conf.js
[427bc02c18] Additional fix to fileinfo.xml generation
[1ddb9f4f36] AES_BLOCK_SIZE is defined in openssl/aes.h
[1a9204f41e] Allow embedded video in EPG when near program end in live TV.
[356e182d42] Allow building without qtwebkit or qtscript
[c12871f52a] Allow some channel, string settings to be cleared.
[e9d6bb166a] Allow a wider range of timestretch from network control.
[76b9fb4dbd] Also check 'local' directory for python site-packages.
[47a34ed31b] Always include mythchrono.h videovisualmonoscope.cpp.
[a5bc28b37c] Android: update libraries and configurable min sdk
[b85f9836ec] Android: Add harfbuzz dependency for ass update
[43702fa5aa] Animation update interval lower bound
[49e8a04870] audioconvert.cpp: replace uchar with uint8_t
[7ec3679061] audioconvert.cpp: remove definition of lrint()
[da6dfd6486] audioconvert.cpp: replace ARCH_X86 with Q_PROCESSOR_X86
[e143450788] audioconvert.cpp: reorder headers
[1f46c757c6] audiooutpututil.cpp: remove unused include and define
[a7b53372b3] audiooutpututil.cpp: replace uchar with uint8_t
[b393b7ea23] audiooutpututil.cpp: replace ARCH_X86 with Q_PROCESSOR_X86
[86ca83d1e8] av_estimate_timings(): remove use of MythTV customization to FFmpeg
[6b5b86734b] avformatdecoder: stylistic change to switch-case to default return
[163f468e91] avformatdecoder.cpp: fix compilation of StreamHasRequiredParameters
[1d5dab76f5] avformatdecoder.cpp: silence -Wundef
[54902b05a5] avformatdecoder.cpp: AVCodec no longer has a member called decode
[71c34d7b92] avformatdecoder.cpp: fix compilation of CloseContext
[80a8b48af7] avformatdecoder.cpp: precompute parity LUT
[8f383d8dab] avformatdecoder.cpp: remove '#include "libavformat/internal.h"'
[d8b7d3d69f] avformatdecoder.cpp: disable dts seeking hack
[dc8160f085] avformatdecoder.cpp: remove duplicate checks
[f5858a99ac] avformatdecoder.cpp: fixup headers
[3fde08ad27] AvFormatDecoder::DecoderWillDownmix: don't use av_opt_find
[40fb3cd09d] AvFormatDecoder::GetVideoFrameRate initial refactor
[d8976e59ea] AVFrame deinterlacer
[9ae712697d] Base watch list ordering on series most recently warched or recorded
[65b9c73ada] Better fix for MythDate::formatTime to handle overflows.
[1afd2b12ff] BitReader tests: ensure literals do not overflow and match type
[5466dd3f1f] BitReader: style, don't use default parameter values
[9a9acd79bb] BitReader: add more unit tests
[cac3dff29a] BitReader: fix non byte aligned skip_bits()
[e3a5a11f22] BitReader: fixup new test names
[5acba1b09f] bitreader.h: get_upper_bits() make undefined behavior protection consistent
[6249d11cee] break circular/cross dependency between libmythservicecontracts and libmyth
[13794d0861] Bump max bundle sizes
[88c85fb31b] Bump minimum Qt version from 5.9 to 5.12.
[6e00d5ae4c] bytereader.cpp: tidy fix bugprone-branch-clone
[573cfcba3b] CardUtil InputGroups: unlink temporary cardid 0 after a real card is linked.
[4fc8fdbb46] cc708decoder.cpp: silence -Wundef
[0a134eb904] Change some constant names to begine with 'k'.
[1a15ff133f] Change default Unicable frequency to 1210MHz
[7b8ce9cc96] Change trivial destructor {} to default
[70632d3d91] Channel group channel selection from automatic channel groups
[7be7e1677b] Channel Group per Video Source for Program Guide
[6034adfa56] ChannelGroup fixes
[c1a4e55afc] channelscan/channelscanner_cli.cpp: silence -Wundef
[9cacc903e6] channelutil: interim fix for MariaDB reserved GROUPS keyword
[206e35fceb] Clean multiple include paths within a library. (libmythui)
[dfd4e09ab2] Clean multiple include paths within a library. (libmythtv)
[26b2e76aee] Cleanup some whitespace in programs/mythtv-setup.
[5be6bdaae2] Cleanup to remove unnecessary python imports
[4ee315bcd5] cmake: Ensure v2 services have unique variables and header guards.
[b5c0a22b7d] cmake: Export the main function from mythfrontend.
[c2fd1b6e3c] cmake: Use different variables for substitution.
[c485588f6b] cmake: Undefine 'Bool' after X11 and VAAPI headers are loaded.
[1b1f145536] Collapse (k)byte size formatting functions into a single location.
[9ba536dfe5] Conditionally compile the IsVBoxPresent and IsSatIPPresent functions.
[91e4ba63eb] Configure: Allow disabling of qtwebkit
[973edd20a3] Configure Input Groups in mythtv-setup
[2e2b72a59f] Create ByteReader to eliminate use of FFmpeg modification
[2fa45650d3] Create stringutil
[444d999010] Create unziputil from mythcoreutil
[67fdc4d8fd] Create mythpluginexport.h
[a0f653a2cc] Create class BitReader to replace internal ffmpeg headers
[03ed86fd31] Create MythMusic config directory if necessary.
[0a80bc2cf2] De-duplicate class MythServer (ODR violation)
[56bcf1395b] Default m_commDetectLogoMinPixels to 50.
[7c712773f7] define USING_OSX_FIREWIRE: silence -Wundef
[8d08c75902] Delete/recreate recording extender tables for consistency.
[ba7caf2bba] Determine tuner type in ChannelScanSM constructor
[904b98f74d] Discard transport stream packets with invalid adaptation field length
[ba30439e67] DiSEqC support for SatIP
[c095cb7849] DiSEqC Unicable userband range check
[2f2b7022b0] DTVRecorder::FindMPEG2Keyframes: fix frame counting with field pictures
[964ca4b238] dvb-si: Fix typos in content descriptors
[109b9348c4] EIT fixup for Eutelsat 7.0E satellite
[ef1323cade] EIT start delay
[baeab68890] eitscanner.h: remove '#include "mythrandom.h"' from header
[6c6cb3448c] Eliminate excessive warnings when testing audio settings.
[a6e1128e0f] Endless loop in HEVCParser::parseVPS
[f996e9c62d] Ensure that logging prints filename only and not a full path.
[0af09d87ba] Export two function names and a class name.
[c090ae119c] Export three function names.
[ecc24f1e15] Extend matching of recording, rule templates to include title.
[e60b4b35a1] extra include required on freebsd 13.1
[7e75e5b7d3] FFTW no longer needed by freesurround.
[aee8a0d8ac] FFTW is no longer required.
[00e4fc531c] Fix problem in scripts directory with "make clean; make".
[07511117ee] Fix problem with GetStatus API call while playing video.
[0c16cbdbff] Fix AdaptationFieldSize function
[0c25abf44d] Fix clazy warning in Channel Group setting
[0e25c4aaf2] Fix spelling in db update messages.
[0f15176d34] Fix no previous declaration warning on armv7l compile.
[0f8e58b20a] Fix "33.0.-1 is an invalid version" warning in python bindings.
[0fdd0186ed] Fix wakeup calculations in HLS.
[12bbfb3260] Fix deprecation warning in avfdecoder.cpp.
[183a610bf4] Fix two compiler "variables set but not used" warnings.
[1a080a1523] Fix recent changes to compile on Qt6.
[1ee5ba3c29] Fix build failure caused by 91e4ba63eb
[2138b64f2f] Fix a couple of tidy/clazy warnings.
[24c6ce14a1] Fix "variable set but not used" warning in goom_core.cpp.
[288e82f8f5] Fix websocket pong reply handling
[2a466c00a9] Fix mythfrontend crash when playing DVB radio
[2ccb3a73d9] Fix conflict with X11 global variable Time.
[2d7a09e40f] Fix MythDate::formatTime to handle times greater than 24 hours.
[3bfe35354b] Fix videoproperties which were wrong after the schema change to 1362 in commit e79b8fc. Add additional videoprop flags.
[3e802f9075] Fix some recent tidy/clazy warnings.
[450961f7c5] Fix memory leak in mpeg table parsing test code.
[46002c8caa] Fix shadowed variable warnings in audiooutputgraph.
[4e2a37805f] Fix build error caused by f97e15aa0d
[4e35b3f712] Fix playback hangs at end of file.
[55425a9c01] Fix clang-tidy and clazy warnings in mediamonitor
[5b448312ba] Fix issues with the decoder loop stalling due to mediacodec retries.
[5c2f8090e3] Fix #579 LCD time by replacing colon with space.
[6f04854c27] Fix fa...

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 software are virus and malware scanned with several antivirus programs using (NOTE! Just one virustotal warning is 99.9% a false positive. And some software might receive 2-6 warnings but it's if they are not all same virus/trojan then it's 99% false positives.)

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