# MythTV

MythTV és un conjunt d'aplicacions de lliure distribució que converteix un ordinador personal amb el maquinari adient en una gravadora de vídeo personal (PVR). D'aquesta manera, permet gravar programes de televisió al disc dur per a la seva posterior visualització. Actualment, aquesta aplicació arriba més lluny convertint l'ordinador en un autèntic MediaCenter amb què es pot jugar, navegar, reproduir vídeos, escoltar música i molt més, tot això asseguts al sofà de casa utilitzant un senzill comandament a distància, sense teclat ni ratolí.
MythTV és una aplicació de programari lliure, amb llicència GNU/GPL.

## Història

MythTV va començar com un projecte de creació de programari de fonts obertes el 2002. El seu autor és Isaac Richards. Tal com consta al web del projecte, les seves motivacions van ser:
| « | Em vaig cansar de la poca qualitat de la televisió per cable d'AT&T. Canviar de canal és lent, està plena de publicitat i la guia de programació fa riure. Així que vaig pensar que seria divertit construir un substitutiu. Sí, podria haver comprat un TiVo, però volia alguna cosa més que un PVR, volia un navegador integrat, un client de correu, potser alguns jocs. Bàsicament, volia la mítica convergència de què es parla des de ja fa temps. | » |

## Desenvolupament

Com d'altres molts projectes dins el món del programari lliure, el projecte MythTV es caracteritza per un desenvolupament a l'estil Basar descrit per Eric S. Raymond a La catedral i el basar. Algunes de les característiques que descriu aquest estil de projecte utilitzades per MythTV són:
* "Tots els bons treballs en programari comencen tractant de pal·liar un problema personal de qui els programa."
* "Tractar els teus usuaris com a col·laboradors és el camí menys complicat per a millorar amb rapidesa i depurar eficaçment un programa."
* "Allibera'l aviat. Allibera'l sovint. I escolta els teus usuaris."
* "Si hi ha una base suficientment àmplia de provadors i col·laboradors, quasi tots els problemes s'identificaran amb rapidesa i la seva solució serà òbvia per a algú."
Els projectes a l'estil basar són, sens dubte, dels més altruistes des del punt de vista ètic, ja que es realitzen sense suport financer i només amb el voluntariat. La motivació principal dels col·laboradors d'aquest tipus de projectes és pensar que el programari lliure és un bé comú de què tots en podem ser beneficiaris.
Per al desenvolupament del projecte s'utilitza el sistema de control de versions Subversion per a organitzar el codi font. Per a la comunicació entre els diferents col·laboradors es disposa d'una llista de correu i una sèrie de wikis. Finalment, fer esment que els usuaris, a més de nombroses pàgines Web sobre MythTV, també disposen de wikis i llistes de correu.

## Característiques

L'aplicació MythTV posseeix nombrosos temes que permeten modificar la seva aparença. Per a obtenir totes les funcionalitats que aquesta aplicació proporciona, és necessari complir alguns requisits bàsics de dependències per a la seva instal·lació, a més de configurar els plugins que proporcionen les diferents característiques. Entre les funcionalitats més rellevants destaquen:

### Arquitectura

* MythTV posseeix una arquitectura client-servidor, permetent múltiples màquines client connectades remotament a un o més servidors. És possible utilitzar una única màquina com a client i servidor.

### TV

* Pausa i rebobinat del programa en emissió (live-tv).
* Gravació simultània de diferents canals (requereix diferents targetes sintonitzadores).
* Codificació en MPEG-4 i MPEG-2, tant per maquinari com per programari.
* Detecta i elimina la publicitat.
* Guia de programació televisiva.
* Visualització simultània de dos canals (PIP o "picture in picture").
* Gravació programable segons la guia de programació (en comptes de per horari).

### Música

* Reproducció de CD, Ogg Vorbis, MP3 i FLAC.(MythMusic)
* Creació de llistes de reproducció.
* Còpies de seguretat de CD a MP3/Ogg.

### Jocs

* Llançador d'emuladors MAME, SNES i NES. (MythGame)

### Fotografia

* Visor d'àlbums fotogràfics. (MythGallery)

### Cinema

* Reproductor d'arxius multimèdia. (MythVideo)
* Reproductor de DVD. (MythDVD)
* Còpies de seguretat de DVD. (MythArchive)
* Edició bàsica de vídeo. (MythDVD)

### Miscel·lània

* Informació meteorològica. (MythWeather)
* Lector de notícies RSS. (MythNews)
* Navegador Web. (MythBrowser)
* Telefonia Session Initiation Protocol. (MythPhone)

## Estructures organitzatives/associatives o de decisió

MythTV posseeix una bona estructura organitzativa, on cada àrea està organitzada per una persona, que és l'encarregada de corregir bugs, fer canvis i resoldre peticions. Les àrees es poden agrupar en:
* Porting (Mac Os X i OpenBSD)
* Text (Documentació i traduccions)
* Core (àudio, vídeo, llibreries...)
* Recorders (MPEG, HDTV…)
* Plugins (DVD, Galery, Music...)
* Themes.

## Versions

Un recorregut per les darreres versions del projecte, i la data del seu llançament:
* 0.21 llançada el 2000-03-08
* 0.20 llançada el 2006-09-11
* 0.19 llançada el 2006-02-12
* 0.18 llançada el 2005-04-15
* 0.17 llançada el 2005-02-11
* 0.16 llançada el 2004-09-10
* 0.14 llançada el 2004-01-31
* 0.13 llançada el 2003-12-13
* 0.12 llançada el 2003-10-18
* 0.11 llançada el 2003-08-15
* 0.10 llançada el 2003-07-01

## Distribucions

MythTV es pot obtenir de tres maneres diferents:
* Com a Codi font: Requereix coneixements per a compilar i instal·lar el programa. A més del paquet bàsic, existeixen d'altres de temes i de plugins.
* Com a paquet de distribució: Existeixen paquets deb i rpm per a la majoria de les distribucions, són fácils d'instal·lar però requereixen la instal·lació prèvia dels altres programes requerits.
* Com a distribució de programari completa de Linux, la qual ja conté tot el necessari: Como ara KnoppMyth (Basada en Debian) o Mythdora (Basada en Fedora Core)

## Radiografia

En una aplicació d'aquest estil, per a realitzar una radiografia del projecte no es pot tenir en compte només el codi escrit, ja que existeixen nombroses icones i fonts el desenvolupament dels quals pot considerar-se molt més costós que alguns blocs de codi. Els resultats obtinguts aquí poden entendre's como una cota inferior dels costos del projecte tenint en compte només el codi.
El paquet bàsic, a la versió 0.20, supera el mig milió de línies de codi font que identifica el SLOCCount, una xifra que segons el model COCOMO requeriria un esforç per a produir un programari d'aquesta mida de 150 persones-any. D'una altra banda, una altra estimació feta pel SLOCCount és la referent al temps que trigaria una empresa a tenir un programari com MythTV, que és de 3,6 anys. També s'ha obtingut que el nombre de col·laboradors que poden treballar en paral·lel és d'aproximadament 41, càlcul obtingut dividint les persones-any entre els anys.
Una vegada coneguts el temps i el nombre de col·laboradors necessaris, el càlcul de costos resulta senzill. Per a això, es considera el salari de 56.286 $/any, salari mitjà d'un programador als Estats Units, després es multiplica el resultat per 2,40, que inclou qualsevol despesa extra que no sigui el treball dels programadors, com per exemple infraestructures o màrqueting. Tot això dona una xifra de 20.363.190 $, uns 15.000.000 €.
Estat actual de MythTV :
| Pàgina web | http://www.mythtv.org |
| Inici del projecte | 2002 |
| Versió actual | 0,20(22/12/2006) |
| Línies de codi font | 549.787 |
| Esforç estimat de desenvolupament (persona-any / persona-mes) | 150,74 / 1.808,90 |
| Estimació de temps (anys) | 3,60 |
| Estimació del nombre de col·laboradors en paral·lel | 41,85 |
| Estimació del cost | $20.363.190 (15.000.000 €) |
Un altre aspecte a esmentar són els diversos llenguatges de programació utilitzats en el desenvolupament del projecte. Segons l'anàlisi realitzada amb SLOCCount, els llenguatges més emprats són ANSI C i C++, en una mínima proporció llenguatges interpretats com ara perl i shell o llenguatge ensamblador.
Llenguatges de programació utilitzats a MythTV 0.20 :
| Llenguatge | Línies de codi | % |
| ANSI C | 276.786 | 50,34% |
| C++ | 264.322 | 48,08% |
| perl | 4.160 | 0,76% |
| sh | 3.048 | 0,55% |
| asm | 1.471 | 0,27% |

## Estat Actual

El "mite de la convergència" que menciona Isaac Richards consisteix que un electrodomèstic sigui capaç d'oferir totes les característiques d'entreteniment de la llar. Aquest concepte està molt indefinit, però com a mínim comprèn totes les característiques que es poden trobar a MythTV.
Ja en l'actualitat, les grans empreses del sector comencen a lluitar per un tros del pastís que aquesta convergència ofereix. Iniciatives como ara els nous processadors multimèdia presentats per Intel i AMD, noves aplicacions per a gaudir al sofà incorporades als sistemes operatius comercials més importants (Apple Front Row y Windows Media Center) o capacitat multimèdia a les consoles d'última generació són indicis d'aquest canvi.
El futur portarà una lluita aferrissada per dominar aquest nou mercat, i és d'esperar que una aplicació com MythTV demostri allò que la comunitat del programari lliure pot proporcionar en aquest camp, com ja ho fa en d'altres.

## Vegeu també

* Reproductor multimèdia.
* HTPC.
* Windows Media Center
* Tivo
* Kodi (anteriorment XBMC)

## Referències

* ↑ «license» (en anglès). MythTV. [Consulta: 30 desembre 2015].

## Enllaços externs

* MythTV - Lloc web oficial
* MythTV a Github (anglès)
* MythTV.info Documentació i informació no oficial. (anglès)