(Aviso: este post es muy friki)
Desde que hace año y medio nos mudamos al nuevo piso en La Haya y decidimos no conectar nuestra televisión a antena o cable alguno, ver los anuncios cuando vamos a España se ha convertido en algo que incluso nos parece divertido. Quién nos lo iba a decir.
Así que, queridos fricomaníacos, hoy vamos a ver como construir nuestro propio Media Center Automatic for the People siguiendo unos sencillos pasos. Manos a la obra:
En primer lugar necesitamos un mini ordenador silencioso y con mando a distancia para poder ponerlo junto a la tele. Un ASUS EeeBox por ejemplo, que solo cuesta unos 300 euros.
Un disco duro externo silencioso también puede venir bien. Lacie es una marca interesante. Lo siguiente es un software que nos permita acceder a los contenidos fácilmente con el mando a distancia. Yo uso el Windows Media Center, que viene con Windows 7, con el plugin Media Browser para las películas y series de televisión. El resultado es algo así:
Una vez tenemos esto, hay que descargar los contenidos. Para esto puede servirnos JDownloader, pero si realmente queréis un Media Center Automatic for the People que os permita descargar automáticamente capítulos de series de televisión de esta temporada conforme van siendo emitidos y/o que los contenidos se organicen automáticamente con el mínimo esfuerzo, hay otras opciones mejores.
En nuestro caso utilizaremos un cliente de BitTorrent (uTorrent es perfecto) configurado para descargar automáticamente contenidos que nos interesan y luego ejectutar un script al terminar cada descarga desde el que llamamos a otras herramientas para realizar otras tareas:
- TV Rename nos permite gestionar nuestros archivos de series de televisión de forma que sigan una estructura del tipo
D:\TV Shows\House\Season 8\House - 8x01 - Twenty Vicodin.avi
que es la que le gusta al Media Browser, al que solo tenemos que decirle que mire en la carpeta TV Shows para que nos muestre los contenidos de la forma que hemos visto en la primera imagen.
- Media Center Master lo utilizo basicamente para lo mismo que TV Rename pero con las películas. Además de renombrar y mover los archivos automáticamente también se baja carátulas y resúmenes de las películas para facilitarle el trabajo a Media Browser.
- FileBot es un sencillo programa que no consigo hacer funcionar para renombrar y mover los archivos (y así usarlo en lugar de los dos anteriores), pero que cumple su función a la hora de descargar subtítulos automáticamente.
Ahora veamos como configurarlo todo. En primer lugar utilizamos las funciones Feeds y RSS Downloader de uTorrent, que nos permiten suscribirnos a uno o más feeds RSS con enlaces a torrents y luego filtrar los contenidos que nos interesen asignándoles una etiqueta. Yo uso el RSS
que va actualizando EZTV; también podéis afinar más
mediante búsquedas o simplemente
seleccionando la serie que queráis (en ambos casos hay que usar la URL que os de "Search-based RSS Feed").
A continuación configuramos la opción "Options - Preferences - Advanced - Run this program - Run this program when a torrent finishes" para que uTorrent ejecute un script cada vez que termine una descarga, pasándole como parámetros la etiqueta, el tipo de descarga (una carpeta con archivos o un archivo individual), la carpeta y el archivo (en su caso):
C:\Scripts\uTorrent.vbs "%L" "%K" "%D" "%F"
Este es el código (es libre, y se agradecen sugerencias) de nuestro script uTorrent.vbs:
Set args = WScript.Arguments
label = args.Item(0)
multisingle = args.Item(1)
folderName = args.Item(2)
fileName = args.Item(3)
If multisingle="single" Then
folderName = "C:\Downloads" 'The folder where uTorrent downloads your files from RSS subscriptions
End IF
Dim tvShowsFolder, moviesFolder
tvShowsFolder = "D:\Video\Downloaded" 'The folder where we copy TV shows to be renamed/moved
moviesFolder = "F:\Data\Video\Movies" 'The folder where we copy movies to be renamed/moved
If label="TV" Then
processDownload label, multisingle, folderName, fileName, tvShowsFolder
ElseIF label="Movie" or label="Pelicula" Then
processDownload label, multisingle, folderName, fileName, moviesFolder
End If
Sub processDownload(label, multisingle, folderName, fileName, downloadFolder)
Set WshShell = WScript.CreateObject("WScript.Shell")
Set filesys=CreateObject("Scripting.FileSystemObject")
If multisingle="multi" Then
mediaTarget = copyFolder(folderName, downloadFolder, filesys)
ElseIf multisingle="single" Then
mediaTarget = copyFile(folderName & "\" & fileName, downloadFolder, filesys)
End IF
If label="TV" Then 'For TV shows we download subititles and then rename/move files
WshShell.Exec "%COMSPEC% /k java -Dapplication.deployment=msi -Xmx256m -jar ""C:\Program Files\FileBot\FileBot.jar"" -get-subtitles """ & mediaTarget & """ --lang es --output srt --encoding windows-1252 --log all"
WshShell.Exec "%COMSPEC% /k ""C:\Program Files\TVRename\TVRename.exe"" /scan /doall /createmissing /hide"
ElseIf label="Pelicula" Then 'For movies in Spanish we just rename/move files
WshShell.Exec "%COMSPEC% /k ""C:\Program Files\Media Center Master\MCMStubLauncher.exe"" /single /process /t"
ElseIf label="Movie" Then 'For other movies we first download subtitles and then rename/move files
WshShell.Exec "%COMSPEC% /k java -Dapplication.deployment=msi -Xmx256m -jar ""C:\Program Files\FileBot\FileBot.jar"" -get-subtitles """ & mediaTarget & """ --lang es --output srt --encoding windows-1252 --log all"
WshShell.Exec "%COMSPEC% /k ""C:\Program Files\Media Center Master\MCMStubLauncher.exe"" /single /process /t"
End If
End SUb
Function copyFolder(source, target, filesys)
Dim sourceFolder, targetFolder
If filesys.FolderExists(source) Then
Set sourceFolder = filesys.GetFolder(source)
If Not filesys.FolderExists(target & "\" & sourceFolder.Name) Then
filesys.CreateFolder(target & "\" & sourceFolder.Name)
End If
Set targetFolder = filesys.GetFolder(target & "\" & sourceFolder.Name)
sourceFolder.Copy targetFolder, true
copyFolder = target & "\" & sourceFolder.Name
End If
End Function
Function copyFile(source, target, filesys)
If filesys.FileExists(source) Then
Set sourceFile = filesys.GetFile(source)
filesys.CopyFile source, target & "\", true
copyFile = target & "\" & sourceFile.Name
End If
End Function
Con este código, cada vez que termina una descarga en uTorrent copiamos los archivos a otra carpeta, de forma que uTorrent pueda seguir con el seed de los arthivos descargados, que luego podemos ir eliminando pasado un tiempo si nos hace falta el espacio (si no, cuanto más tiempo los dejemos, mejor para la comunidad BitTorrent). A continuación, y dependiendo de si se trata de capítulos de series de televisión o de películas y del idioma en que estén, nos descargamos los subtítulos y renombramos y movemos los archivos a las carpetas que tenemos configuradas en el Media Browser.
Para que esto funcione también con series que bajemos directamente (y no a través del RSS), así como con las películas, basta con asignarle la etiqueta correspondiente a cada torrent antes de que termine de descargar.
Pues eso es todo, fricomaníacos. Ahora nuestro amigo Borja nos enseñará como plantar una secuoya en el balcón de casa. El secreto está en utilizar el compost adecuado.