dilluns, 16 de maig del 2011

iTunes ("compartir en casa") + AppleTV2

La solució formada pel triangle Air video server - iPad/iPhone - (airplay) AppleTV2 funciona. Ara bé, depen d'un element que pot estar "offline" en algun moment. Ens podem trobar que esta enxufat carregant la bateria o bé sincronitzant informació amb el PC. I aleshores que??????? No podem veure res?. És una sol·lució totalment iPadependent.

Ara per ara, fins que Apple és decideixi a afegir més alternatives, utilitzant el ATV2 com a Media Center, només tenim les següents opcions:

  • Combinació AirVideoServer + iPad + Airplay 
  • iTunes ("Compartir en casa") + ATV2 
  • Fer el Jailbreak (alliberar) el ATV2 i instal·lar-hi un media center com el XBMC.
Combinació AirVideoServer + iPad/iPhone + Airplay.
D'aquest mètode ja en vaig parlar a l'anterior post. Vegeu aquí.

iTunes ("Compartir en casa") + ATV2 

El ATV2 permet beneficiar-se de la opció que incorpora el iTunes per a compartir biblioteques del PC o Mac. Simplement, hem d'activar al menú del ATV2 la opció "Compartir en casa" i accedir a la opció "Ordenadores" on hauria d'apareixer la biblioteca del nostre PC, si és que l'hem configurat correctament. 
Al PC hem d'engegar el iTunes i també activar la opció "Compartir en casa" associat al nostre compte d'Apple. Per tant, sempre que vulguem accedir a la biblioteca des del ATV2 hem d'assegurar-nos de  tenir el iTunes engegat.



Això va molt bé per a compartir la música, ja que el format més extés, el MP3, és compatible amb el iTunes. Ara bé, per a compartir la biblioteca de videos no resulta tan senzill. Hem de Transformar tota la videoteca en un format iTunes-compatible!!!!
Aquesta és potser la sol·lució més feixuga de totes. La que costa més feina en la seva fase de preparació però alhora la més segura ja que, en principi, utilitzarà elements més segurs almenys en la seva fase de visualització.

Aquí si em permeteu, faig un parèntesis per a aclarar un punt que sovint és confon. Es tracta dels codecs de video i els formats contenidors. 
Els còdecs de video són els programes ideats per a codificar/descodificar una senyal de dades digital. Consten d'uns algoritmes que intenten aportar un equilibri màxim entre factor de compressió i qualitat.
Alguns exemples de codecs: H.261, MPEG-1, MPEG-2, H.263, MPEG-4 part 2/H.264, MPEG-4 part 10, Sorenson 3, WMV, RealVideo, Cinepak.

D'un còdec se'n poden fer diverses implementacions que es diferenciaran pel nom del creador. Per exemple,
 del codec MPEG-4 ASP, hi ha les següents implementacions: 3ivx, DivX, Nero Digital, FFmpeg MPEG-4, Xvid, HDX4..., 
i del codec H.264/MPEG-4 AVC, tenim les següents implementacions: CoreAVC, Blu-code, DivX H.264, Nero Digital AVC, QuickTime H.264, x264

El mateix passa amb els còdecs d'audio. 

Un format contenidor és un format d'arxiu que pot contenir diverses tipus de dades, comprimides mitjançant diferents còdecs. Aquests formats permeten combinar diferents tipus de dades (audio i video), facilitar la seva sincronització al reproduir-los. Els més avançats incorporen metadades, capítols, subtítols. Els més famosos són:
AVI, MOV, MP4, Ogg, Matroska, ASF, RealMedia
Per tant, un fitxer amb extensió .AVI és un fitxer que conté dades de video i de audio comprimides, en els seus respectius còdecs. El video pot estar comprimit en un còdec DivX i l'audio en un còdec MP3 per exemple. 

Un cop fet aquest parèntesis, continuem. El programa iTunes només permet reproduïr uns formats contenidors determinats:
MOV, MP4 o M4V
i aquests contenidors han de tenir els còdecs del tipus Sorenson 3 (el de QuickTime) o H.264/MPEG-4 AVC per a que l'iTunes els pugui llegir.
Per tant, dit això està clar que, hem de convertir tota la videoteca a un format compatible. Evidentment hi han programes de conversió de formats pensats per a això. Com ara el mp4converter , que permet convertir en batch una sèrie d'arxius al format de ATV2 sense massa clicks de ratolí. En funció de la potència del vostre PC, les conversions tardaran més o menys, però mitja hora per un episodi de 350Mb no te la treu ningú.
Un cop tingueu tot convertit a partir d'aquí els podeu arrastrar al iTunes. Un cop els hagueu importat, els podeu classificar en Pel·lícules i Programes de televisió. Per a fer-ho, sel·leccioneu els arxius tots de cop amb shift-botó del ratolí i desplegueu el menú amb el botó dret. Seleccioneu la opció "Obtener información". A la secció 'Opciones' trieu el tipus de suport, 'Película' o 'Programa de Televisión' si és un film ó una sèrie de TV.
A partir d'aquí, hi ha aplicacions per a omplir automàticament les metadades dels fitxers per a l'iTunes, com per exemple, iFlicks i MetaX.
El problema d'aquesta solució ja la podeu veure. Cada cop que afegiu un fitxer s'ha de convertir, s'ha d'afegir manualment al iTunes i s'han de baixar les metadades també de forma semi-manual.

Fer el Jailbreak (alliberar) el ATV2 i instal·lar-hi un media center com el XBMC.
Aquesta solució la veurem en un proper post.

diumenge, 24 d’abril del 2011

AppleTV2 + Ipad o Iphone + Air Video Server + Airplay = Media center pràctic

L'operació de Jailbreak a un dispositiu AppleTV2 no surt sempre tan bé com un desitjaria. Si no us atreviu o simplement no en teniu ganes, podeu salvar la limitació dels formats de video de l'aparell amb una simple operació:
AppleTV2 + (iPad o iPhone) + Air Video + Air Play
L'app Air video, permet enviar video des del vostre PC (Macintosh o PC amb Windows o una Beta amb Linux) al vostre dispositiu iOs iPad o iPhone. Està doncs format per dues parts, d'una banda el Air video server que instaleu gratuitament al PC. La versio en Linux és una beta però funciona. I una app que podeu comprar a l'Apple Store per uns molt pocs euros per al vostre iPad o iPhone. Així doncs, al server li indiqueu quines carpetes ha de controlar del vostre disc dur, on hi haurà la vostra col·lecció digital i  a la pantalla de l'iPhone podreu triar quin arxiu voleu reproduir.
L'Air Video Server ja s'encarrega de convertir els formats en el format que els dispositius iOs entenen. I això si voleu ho pot fer mentre està reproduint que ho vagi convertint en viu, o posar en una cua de conversió i que ho faci en diferit al servidor. L'endemà per exemple ja tindreu llest una copia del fitxer per a reproduir directament. Si ho feu en viu, segons el fitxer, que sigui necessitareu un servidor més o menys potent. Per la meva experiència, amb un mini-itx ASUS AT5NM10 Atom D510 n'hi ha prou per reproduir fitxers .avi d'1Gb i mig sense cap problema. Ara, quan és tracta d'un .mkv HD 720p amb codec x264 no podia. També s'ha de dir que el pobre Atom té pics contínuos de 99%.

Fins aquí podeu reproduir-ho al iPhone i prou, ara be lo bo. Gràcies a la nova funcionalitat que incorpora el iOs 4.3.1, el AirPlay, que permet enviar video i audio des del iPhone/iPad a altres dispositius iOS com ara el AppleTV2, doncs sumem dos i dos i ja ho tenim. Ara bé, no és si no a la versió Beta 2.4.5-beta3 que incorpora la opció de fer AirPlay des de la app de Air Video quan està apunt de reproduïr.
Així doncs, com aniria el tema?
Suposem que el servidor ja està funcionant que ja és això el que ha de fer.
- Engeguem la TV i el Home Cinema
- Obrim al iPhone l'app AirVideo
- Triem la pel·lícula que volem veure
- Li donem al play i al botó de l'Airplay on es desplega la llista de dispositius on podem enviar el video.
- Triem el AppleTV2 i zas,... 
- La pel·lícula apareixerà a la nostra TV. És molt pràctic i funciona molt bé.
No cal interficie gràfica a la TV, ja la tenim a l'iPhone.
Hi ha però algunes coses a millorar, com ara que, en una conversió en calent no funciona gaire bé lo de guardar la posició on has parat, però no oblidem que és tracta d'una versió beta.

Arquitectures de Media center client-servidor

Com ja vaig comentar en el post anterior, el dispositiu de la casa Apple, AppleTV2, té les seves limitacions. Pel que sembla, només amb els formats MPEG-4 i MOV utilitza la descodificació per Hardware. Lo qual vol dir que en cas de Jailbreak, el XBMC no pot descodificar suficientment ràpid segons quins arxius produint-se incòmodes talls. Això ens obliga a replantejar-nos l'arquitectura del sistema. El client no pot ser l'encarregat de la tasca dura de descodificar segons quins arxius. S'ha de relegar al servidor. 
Tenim doncs, dos paradigmes d' arquitectura client-servidor. Entenem doncs, que el servidor és la font multimedia, qui conté tots els fitxers de video/audio centralitzats. I els clients són la interficie entre l'usuari (mitjançant l'aparell de TV) i el servidor.
Una arquitectura client-servidor en la que és el client qui és l'encarregat de la tasca més dura: (hard client) Descodificar els arxius de video i audio. I el servidor és un simple magatzem de dades multimedia, que serveix els fitxers via protocol SMB per exemple, i també pot ocupar-se d'altres tasques de manteniment, com ara  backups dels arxius.

 Una arquitectura client-servidor en la que el client és lleuger, (thin client) que rep les dades ja treballades i l'únic que ha de fer és reproduir-les i enviar-les a la sortida de video i audio corresponent. Ha de proporcionar també una interficie mes o menys sofisticada, que permeti a l'usuari seleccionar l'arxiu, i aturar, engegar la reproducció. El servidor és qui s'encarrega de descodificar els arxius i proporcionar-los al client en la forma més adequada per a que el seu processament sigui lleuger. Aquesta arquitectura lògicament és més adequada quan més clients hi hagi, doncs per sentit comú han de ser més barats al no requerir tanta potència. Un altre aventatge d'aquesta solució és la immediatesa d'accés. El client lleuger no costa d'engegar i no consumeix tanta energia, com tot un ordinador "normal" que, si no és vol deixar en hibernació, tarda en carregar el sistema operatiu i preparar el software de media center, actualitzar la llista d'arxius, etc...
Doncs bé, prou de teoria, el Apple TV2 és un thin-client vulguis o no, per tant necessitem un servidor més potent que li serveixi la informació una mica mastegada o adaptada si més no. 
Però bé, la cosa no és tan preocupant, qualsevol mini-itx ens serviria per a videos de definició normal. El problema és quan pujem a definició HD, (720p) aquí (també segons el format que hagi de traduïr mkv amb codec x264 per exemple) la cosa és complica.



dilluns, 11 d’abril del 2011

APPLE TV2


APPLE TV2 és un "Media Center" de reduït tamany, baix consum i 120 euros (baix preu , per ser Apple), que et cap a la mà. Diguem que els de Cupertino han aplicat el que han aprés amb la tecnologia del iphone i iPad i l'han convertit en un accessori per a dotar la TV de casa, d'un accés als serveis de xarxa i video, YouTube, streaming de video etc... i la possibilitat d'oferir lloguer de pel·lícules a un 'mòdic' preu. A més a més és l'extensió del iPhone i iPad amb la tecnologia AirPlay. Pots emetre des d'aquests aparells video o música directament a l'AppleTV i per tant a la tele.

L'AppleTV és molt simple. Una caixa on tot just hi cap, una connexió a la corrent, una sortida HDMI, un port MicroUSB, una sortida de sò òptica i una sortida Ethernet, i un comandament molt simple estil MAC.
El menú també és molt senzill:
  • un primer menú per llogar pel·lícules. Si són HD 720p, valen uns 6 euros. 
  • Un altre menú d'accés a Youtube, radios, partits de beisbol, trailers
  • un altre menú per a connectar-te a ordinadors de la teva propia xarxa i compartir fitxers de video i música amb iTunes. 
  • Un altre de configuració i poca cosa mes.
Quines limítacions té:
  • No permet reproduïr videos de 1080p, com a molt 720p. Sembla que és una limítació de hardware. Que no dona més de si.
  • Només permet formats de video dels que admet els aparells mòbils Apple, o sigui,  .m4v, .mp4, i .mov
Aleshores, si et mantens en un entorn completament Apple, (o sigui, donant l'esquena a la realitat que ens envolta) és "perfecte" però si estas acostumat a moure't amb fitxers de video de tots els formats possibles tindràs un problema.



diumenge, 27 de febrer del 2011

Gravar Imagenio amb VLC

A hores d'ara ja deveu haver trobat mil blogs on explica com veure Imagenio a l'ordinador utilitzant VLC. D'aquests mil, uns quants s'inclouen dins la cerca 'amb linux' i bastants d'aquests entrarien dins el subconjunt 'amb Ubuntu'. Ara bé,  quan busquem gravar ademés de veure, ja no hi ha tants exemples.
Imaginem que ja veiem Imagenio amb VLC i amb Ubuntu 10.10. (De fet, jo només he necessitat canviar a les adreces de cada canal el protocol udp per rtp i ja m'ha funcionat). Que s'ha de fer per a grabar. Resulta que el VLC incorpora més funcionalitats que les que a simple vista permet la seva interficie gràfica. Per accedir-hi, es pot fer mitjançant altres interficies que proveeix, com per exemple el telnet.
Per activar la interficie telnet, anem al menu del VLC : view -> add interface -> telnet.
Un cop activada, obrim una consola ssh i executem:

> telnet localhost 4212

localhost si és la pròpia màquina. La adreça IP si accedim des d'una altra.
Ara programem el que anomenen un broadcast, que seria com una emissió

> new el_meu broadcast enabled
 
Tot seguit li assignem una sèrie de propietats al nostre broadcast, primer el input que correspon a la adreça IP del canal de Imagenio que volem:

> setup el_meu input rtp://@239.0.0.42:8208

Desprès el output, que seria el fitxer de sortida on volem grabar:

>setup el_meu output /home/media100r/gravacio.mpeg

Molt bé, si ara volem començar a grabar en viu, executem:

> control el_meu play

i per parar:

> control el_meu stop

Però el que volem és diferir la gravació. Imagineu que juga el Barça per GolTV i quina mala sort! no hi podeu ser. Doncs, desprès de crear el broadcast que hem fet en els passos anteriors, hem de crear un schedule de la mateixa manera:

> new schedule enabled

També necessitarem dotar-lo d'unes propietats. La data d'inici de gravació seria una bona idea:

> setup date 2011/02/27-20:00:00

El format de la data és el següent:
(any sencer)/(mes)/(dia)-(hora):(minuts):(segons)
Lliguem el schedule al broadcast amb la propietat append, a la que segueix tota la sentència d'allò que vulguem executar, en aquest cas li donem al play:

> setup append control el_meu play

Quan arribi la data i l'hora, s'executarà la comanda i el partit del Barça es volcarà al fitxer que hem definit al broadcast: gravacio.mpeg
Però ademés també volem que pari. Hem de crear un altre schedule per a parar:

> new schedule enabled

La data que volem que executi el schedule:

> setup date 2011/02/27-22:00:00

i finalment afegim la comanda de parada:

> setup append control el_meu stop

i ja està. Un cop finalitzat tindreu el partit gravat. Sobretot no oblideu deixar l'ordinador i el VLC obert, es clar.

dimecres, 16 de febrer del 2011

Linux revolutions (3)

PC desktop: Efectiiiivament!!! Adéu a Fedora. Hola Ubuntu. Em va ser impossible canviar els drivers d'una tarja a l'altra i mantenir el Fedora (i el seny) al mateix temps. Potser soc jo que no ho se fer però me'n vaig cansar. Bé, com no hi tenia gran cosa, vaig reinstal·lar el Ubuntu amb la tarja ATI HD Radeon 4830. Desprès d'uns inicis un xic complicats, doncs no m'arrancava tampoc l'entorn gràfic, (vaig haver d'instal·lar els drivers propietaris des de la consola), finàlment me'n vaig sortir. Ara es qüestió d'anar configurant el Ubuntu i anar pulint els detalls.

Substitució de AirVideo per Windows.
Al NAS hi tenia instal·lat l'Airvideo, una aplicació que permet fer streaming/transcoding en temps real dels teus fitxers de video de l'ordinador (en qualsevol format) al iPad. Estava mooolt be i funcionava molt be. Aquí hi ha dues possibilitats: instal·lar la versió per a linux del Airvideo Server, ó instal·lar el Airvideo per a Windows i el Wine.
Finalment vaig optar per l'opció en Linux. Les instruccions les vaig trobar en aquesta pàgina.
S'ha de baixar el ffmpeg que ells mateixos han degut modificar i compilar-lo.
Va força be de moment.

diumenge, 13 de febrer del 2011

Linux revolution (2)

Com era d'esperar, arriba l'hora dels problemes. Com vaig dir el darrer cop, aparentment havia instal·lat un ubuntu 10.10 amb el XBMC i semblava anar tot be. Però a la que comences a escarvar una mica comencen a sortir els problemes. El problema és que quan no els solventen fàcilment intentes esquivar el problema i això genera nous problemes que es van escalant.
La situació és la següent:
Tinc una placa Gigabyte que du integrat la tarja gràfica (crec que és una ATI Radeon 3200 o quelcom similar perquè no ho diu enlloc) amb una sortida HDMI. I també hi vaig ficar una tarja gràfica PCI Express ATI Radeon HD4830 però que no té sortida HDMI. Fins ara, funcionava amb aquesta, amb un conversor de la sortida DVI a HDMI a la tele. Com que per aquí no es podia treure el so, només imatge, el treia per la sortida òptica S/PDIF de la placa base.

1er problema: No em funciona el so a la sortida òptica que va a la TV. Hi he donat mil voltes, els drivers hi son, em deixa escollir la sortida per pantalla el Ubuntu, però no es sent res. Es més, en les primeres proves he utilitzat un film que treu la sortida AC3 5.1 i jo diria que ha funcionat, però he passat a un altre film amb Stereo i ja res. He començat a toquejar opcions i ara ja no em funciona absolutament res. He buscat per internet en mil i un foros i res.

Per a solventar el problema 1 podria fer que enlloc de treure el so per la sortida òptica de la placa, ho faci per l'HDMI, això em solventaria dues coses, d'una banda el problema 1 i a més, podria arreglar una altra cosa que em molesta bastant, i es que quan canvío per la tele de la sortida de la TV normal o de la de Imagenio, a la del media center, he de canviar també la sortida de sò de la TV a la òptica pel comandament. Que tiquismiquis direu, però es que fer-ho a les fosques és una mica emprenyador. D'aquesta manera el so estaria unificat tot a través de la TV via els diferents HDMIs cap al Home Cinema.

Som-hi doncs:
  • Entro al setup de la Bios i canvio la assignació de la tarja gràfica. Enlloc de la PCI que usi la interna.
  • Trec el cable DVI i connecto el HDMI a la placa base.
  • Aplico els canvis de drivers des de l'escriptori mateix.
  • Funciona, ara la imatge surt per l'HDMI sense cap problema. També m'ha detectat la nova sortida de so sense problemes. Ja està!!!!
  • Ara ja puc treure la tarja PCI, no es necessaria i consumeix energia i fa més soroll. La extrec amb més o menys facilitat.
  • No, no està! :-( ara resulta que si canvio la sortida externa pel comandament de la tele, (quelcom que faig molt habitualment, per exemple, per veure que fan a la tele normal i torno a la sortida de l'ordinador, una mena de zapping entre les diferents sortides (Imagenio - TV - Media center), doncs es perd la senyal al tornar a l'ordinador. Tot negre. No es veu res. Recordo vagament aquest problema amb les tarjes ATI velles. Això ja m'ha passat abans. Busco i rebusco per internet i trobo molta gent que li passa el mateix, però no trobo cap sol·lució acceptable. Crec que la majoria han canviat de tarja.
  • Idea: la tarja gràfica de l'altre ordinador (el del despatx) si que té sortida HDMI. És una NVIDIA EN9400GT. Podria afegir-la i utilitzar aquesta enlloc de la integrada.
  • Obro l'ordinador del despatx i extrec la tarja sense problemes. Penso massa tard que en aquest ordinador al que acabo de extirpar-li la tarja, hi ha ara mateix dos Windows i un Fedora 14 que deixaran de funcionar. No l'engegaré fins que no hagi decidit no tornar-la a ficar. Així si em faig enrere no caldrà reinstal·lar res.
  • Instal·lo la tarja nova al Media Center.
  • Canvio el setup de la Bios per a que arrenqui amb la tarja NVidia.
  • Instal·lo els drivers de la NVidia a l'Ubuntu (els propietaris)
  • Quina sorollada que fa aquesta tarja. Ecsss.
  • El so no va. Era d'esperar, no hi ha cap lligam entre la tarja de so integrada a la placa i la tarja de video d'on surt la connexió HDMI.
  • S'ha d'afegir un cable de pins intern entre ambdos components. No em fa gens de gràcia. Son d'aquells cables que és poden col·locar de moltes maneres diferents.
  • Desprès d'estudiar l'esquema del manual de la placa base, connecto els pins a la sortida S/PDIF Out interna i la placa gràfica.
  • No va el so. Tot i que es sent un pet als altaveus que em donava esperança. L'icona de l'altaveu de l'Ubuntu està activa cosa que abans no. Però no va el so!!!!!!
  • A sobre que fa soroll, no va el so. Per lo menys no perdo la senyal al canviar la tele. Ho deixo està. El dilluns preguntaré a la botiga com va aquest cable o m'acabaré comprant una tarja nova? Segur q serà aquesta segona opció, però aixo no em garanteix que no porti altres problemes. grrrrrr.
  • Que faig amb l'altra tarja? La ATI Radeon HD4830. La fico enlloc de la del PC del despatx? S'haurà de reconfigurar. El Windows no hi haurà massa problema però el Fedora... Ja em veig reinstal·lant...