Mac workflow: házimozi HOWTO

Ma Mac Mini alapú media centert pakolunk össze és körbejárjuk az általam kedvelt hozzávaló software komponenseket.

A vas

Nálam egy 2. generációs Mac Mini látja el az otthoni média server feladatát. Ezt a perfekt kis Mac-et az Apple épp az elmúlt hetekben tuningolta meg: unibody házba került, vaddisznó GPU-t forrasztottak az alaplapra, akár 8 GB RAM is belefér, 1.3-as, audio jelet is szállítani képes HDMI portot integráltak bele, de ami a legfontosabb: idle állapotában 10 Wattot eszik a kis dög! Sajnos az itthoni ára ijesztően magas (240kHUF), ellenben gyönyörűséges egy szerkezet:

Mac Mini mid2010

A CEC pofon

Ha már szó esik az új Mac Miniről, nem állhatom meg, hogy ne osszak ki a gyártónak egy virtuális sallert a CEC kompatibilitás hiánya miatt 2010-ben - ezt nézzük meg kicsit belülről.

A HDMI három kommunikációs csatornát definiál: ezek sorjában a DDC, a TMDS és az opcionális CEC:

  • A DDC (=Display Data Channel) a megjelenítő eszközök paramétereit cipeli, mint kontraszt, fényerő.
  • A TMDS (=Transition Minimized Differential Signaling) hordja a képet és a hangot.
  • A CEC (Consumer Electronic Control) lenne felelős az egy HDMI láncba kötött eszközök közös vezérléséért.

HDMI_Connector_PinoutA CEC lényegében egy egy lábas soros busz a HDMI madzagban (a 13. láb az övé, a 17. láb pedig a GND-je), ami arra lenne hivatott, hogy a különböző gyártók készülékei egymás között ezen a buszon beszélgessenek és bármelyikük masterként a többit utasíthassa slave funkciók elvégzésére. Humánra fordítva ez kb. úgy hangzik, hogy a master HDMI eszközöd (jellemzően a TV) távirányítója az összes többi, a HDMI láncba kötött eszközt instruálja, azaz mondjuk a TV távirányítóján levő REC button utasíthatja a HDD rekordered, hogy kapcsoljon be, álljon be ugyanarra a csatornára, amit a TV-n nézel és kezdjen el rögzíteni. Vagy egy másik példa: legyen elég egy darab OFF button megnyomása ahhoz, hogy minden komponens (erősítő, HDD rekorder, TV) kikapcsoljon.

Csak hogy lásd, a mocsok gyártók milyen szinten sz@rnak a próbálkozásra, ami a XXI. században eljuttatná a világot a single remote Nirvánába, íme a lista a HDMI-CEC támogatás jelölésére a különböző márkák készülékein:

  • Anynet (Samsung)
  • Aquos Link (Sharp)
  • BRAVIA Sync (Sony)
  • HDMI-CEC (Hitachi)
  • Kuro Link (Pioneer)
  • CE-Link, Regza Link (Toshiba)
  • RIHD (Remote Interactive over HDMI) (Onkyo)
  • SimpLink (LG)
  • HDAVI Control, EZ-Sync, and VIERA Link (Panasonic)
  • EasyLink (Philips)
  • NetCommand for HDMI (Mitsubishi)

Klassz. Ezek után bármilyen eladót kérdezhetsz, ha nem kellően kocka, fogalma nem lesz arról, ki fia-borja az a HDMI-CEC.

A CEC dróton (13. láb) tehát bőszen küldhetnénk a Mac Miniről a TV felé a "bekapcsol + csatornát vált + hangerő beállít" commandokat, amint felébresztjük a házi almás media playerünket, de sajna az Apple-t ez egyelőre nem hatja meg. Ha a TV-n van soros port, akkor még mindig nekiállhatunk izmozni némi vezérléssel (egyszer majd lesz erről is post, ígérem), azonban amíg ez nincs, addig marad a Logitech Harmony univerzális távirányító, ami pöpecül képes vezérelni az általam is favorizált media center software-t, a Plexet is (HOWTO erre).

A software

A korrekt média gyűjtemény összeállításához az alábbi alkalmazásokat állítjuk csatasorba:

  • RipIt - egy klikkes DVD archiválás
  • FairMount - DVD mounter, ha nem kell nekünk a RipIt
  • Handbrake - videó formátumok egymásba konvertálása
  • Plex - media center a Mac-re
  • Air Video - video streamer iPhone/iPad-re
  • Rivet - az Air Video kihívója: video/audio/photo streamer iPhone/iPad-re

Mindegyikről érdemes pár szót ejteni, nézzük őket szép sorjában!

RipIt
RipIt
A RipIt rém egyszerű alkalmazás: app elindít, DVD bedug, némi pörgés azt már meg is kaptuk a másolatot a DVD-nkről. Az app jelenleg az 1.5.1-es verziónál jár, a fejlesztő srácok folyamatosan mennek utána a DVD gyártók által alkalmazott másolásvédelmi trükköknek és adják ki az újabbnál újabb release-eket (saját site-jukon áll, hogy ha találnak egy nem rippelhető DVD-t, abból beszereznek egyet és beépítik az alkalmazásukba a fixet, amint lehet).
A RipIt képes a DiscIdent DVD azonosító szolgáltatását használni ahhoz, hogy felismerje az épp rippelés alatt álló lemezt. A fejlesztők most kezdenek integrálni bele egy "Compress" névre keresztelt (egyelőre beta) feature-t, ami lényegében a DVD leghosszabb trackjének egy darab MP4 file-lá való konverzióját teszi lehetővé.
Azzal sincs gond, ha inkább a full DVD copy mellett maradnál és nem konvertálnád a lemezeidet, akkor megkérheted a RipIt-et, hogy csapja hozzá a DVD folderéhez a .dvdmedia kiterjesztést, amitől OS X alatt a folder tartalmát azonnal az óperenciás rendszerbe épített DVD Player nyitja meg.
A RipIt talán legnagyobb vonzereje, hogy a media centernek használt Mac-en futtatva "zsinórban" etetheted az alkalmazást a még be nem grabbelt lemezekkel: az esetek nagy százalékában (=amikor nincs gondja a rippelendő lemezzel) nem kell ránézned az UI-ra, mivel a kiköpött diszkről már látod, hogy adhatod neki az újabb korongot (nota bene: a RipIt a sok cimborám által gyűlölt Growl notifikációra is képes, ami meg akár értesít a munkagépen, ha kész a rip, sőt, push üzenetet küld a telefonomra a Prowl.app segítségével ha kérem, de ez majd egy másik workflow post témája lesz ;)).

FairMount

A FairMount egy olyan DVD mounter app, ami bármely DVD-t olvasó alkalmazás számára lehetővé teszi a lemez hibamentes olvasását. A FairMount fejlesztői készítik DVDRemaster nevű ripper alkalmazást is - ennek egy része a FairMount, mely a DVDRemasterrel ellentétben ingyenesen szedhető tőlük.
A FairMount-tal felcsatolt DVD lemez tartalmát tehát nagy esélyyel akár egy Finder copyval is lemásolhatod a HDD-re - onnantól pedig semmi nem állíthat meg, hogy meg ne etesd a Handbrake-kel.

Handbrake

A keresztségben a "Kézifék" nevet kapó app az igazi MP4 generátor harcos! Létezik neki remekül scriptelhető, CLI-only verziója is.
A HandbrakeCLI hajtására számos script született - ez például rekurzívan végigmegy az inputként specifikált folderben és az ott található összes VIDEO_TS mappa tartalmát könyörtelenül átzúzza mp4-be - cool.
A 0.9.4-es Handbrake kiadásban megjelent a várva várt soft subtitle támogatás, melynek segítségével kikapcsolható feliratokat (akár többet is) rendelhetünk a mozi mellé, ráadásul úgy, hogy a felirat jöhet egy külső SRT file-ból. Na, erre nemsokára varrok egy scriptet és közzé is teszem itt, csak türelem :)

Plex

A Plexről, mint a Mac-es media centerek királyáról már írtam bőven a Logitech Harmonys postban - ami mégis ide kívánkozik, az a Plex "scraper" funkciója, amivel a media librarynk metaadatait lebányássza a netről.
Nálam a filmek a /Volumes/video/film/a-film-imdb-syntax-szerinti-neve/filmcim.mp4 hierarchiában laknak. Ez a struktúra ideális a Plex scraper számára, aki szépen a háttérben gyűjtögeti a libraryban megjelent mozikhoz a metaadatot. A folder nevében az invalid folderneveket generáló karaktereket (ilyen OS X alatt a kettőspont) egyszerűen elhagyom - a Plex scraper így is megtalálja őket az adatbázisban:

Újmagyarul mondva a /Volumes/video folder a NAS-ról felmountolt AFP share. Igenám, csakhogy mind a Mac Mini, mind a NAS néha bealszanak, a NAS-t firmware update esetén újrabootolom (hosszabb áramszünet esetén az UPS teszi vele ugyanezt), azaz az AFP mount elmúlik. Így volt ez egészen Mac OS X Leopard-ig, amikor jött a megváltó automount! Az automount minden esetben megcsinálja a mountot, amint valamely alkalmazásunk az automount-ra jelölt folder tartalmához nyúlna. Nézzük meg, mi kell a fenti /Volumes/video AFP share automountjához.

Első lépésnek csinálj egy bejegyzést a /etc/fstab file-ban (sudo nano /etc/fstab):

mynas:/mozi /Volumes/video url automounted,url==afp://username:password@mynas/mozi 0 0

A fenti példára az alábbiak igazak:

  • mynas: a gép neve, ami a network share-t biztosítja
  • mozi: a network share neve a mynas gépen
  • /Volumes/video: a helyi folder neve, ahova mountoljuk az AFP share-t (=mount point)
  • username: a felhasználó neve a mynas serveren
  • password: a felhasználó jelszava a mynas serveren

Ezután már csak egy sudo automount -vc kell és már kész is a csoda: innentől kezdve az AFP share magától mountolódik, valahányszor szükséged van rá.

Air Video

Az Air Video volt az első streaming app, amire rátaláltam. Ez az alkalmazás arra képes, hogy egy tetszőleges Mac-en levő videókat iOS alapú eszközökre (iPod Touch, iPhone, iPad) streameljen. Amennyiben nem a natív H.264 kódolású videót kéred tőle, úgy képes a host gépet megkérve konvertálni, sőt, akár on-the-fly konverzióval azonnal rendelkezésre tudja bocsájtani a streamet.
Az Air Video iOS alkalmazása fizetős. A konverziót FFmpeg végzi, így a server oldal ingyen van. Az FFmpeg backendnek köszönhetően létezik belőle Linux oldali streaming server port, így háttérMac hiányában is remekül használható az app.

Rivet

A végére maradt a frissen felfedezett üdvöske, akinek a server oldala egyelőre még csak trial módban fut a munkaMac-en.
A Rivet-et ugyanaz a The Little App Factory készíti, aki az előbb már emlegetett RipIt alkalmazást. A Rivet az Air Videohoz képest zenét és képet is kiszolgál a saját iOS kliensének, ráadásul a képeket hajlandó a hagyományos folderen kívül iPhoto és/vagy Aperture libraryból is szedni - ez kell nekem!
Számtalanszor fordult már elő, hogy este megmutatnék pár napközben készült képet a családnak, amelyek a frissességükből fakadóan még nincsenek archiválva és csak a munkaMac-en laknak - erre a helyzetre tökéletes megoldást látszik kínálni a Rivet. Licencelés szempontjából a Rivet esetében fordított a helyzet: az iOS kliensek ingyenesek, míg a Mac-only server pénzes.

Air Video vs Rivet

Ha videóról van szó, még sokáig marad az Air Video a nyeregben: az UI egyszerűen átgondoltabb / átláthatóbb, a streaming hihetetlen zökkenésmentes. A Rivet esetében sajna ugyanezt nem tudom elmondani: a bufferelés lassú, a videóknál hajlamos valami torz aspect ratio-t használni és a kép minősége is hagy kívánnivalót maga után.
A Rivet ennek ellenére még marad: ezidáig ő az egyetlen eszköz, amivel a workMac-en lakó fotókat mutogathatom a famíliának.

13 thoughts on “Mac workflow: házimozi HOWTO

  1. Mefi

    Szokas szerint remek iras ez is. En anno sima HTPC-rol irtam bejegyzest, de amint az anyagiak engedik, vegre valtok egy mac mini es hdtv kombora.

    Ehhez meg a nirvana a utorrent automatizalasa: sorozatokat magatol letolti este pedig csak klikk and play.

    Egyebkent Apple reszerol ertheto ez, hiszen ha ilEt akarsz, vegyel apple tv-t. Megint mas hogy az kb. semmiee nem jo.

  2. Pingback: Mac workflow: Mac-iOS cross notifications « eFi.blog

  3. Pingback: Media center szent grál saga: ne vegyél most TV-t! « eFi.blog

  4. Koós Miklós

    szia,
    PLEX-et üzemelek be éppen. az iMdB kompatibilitás azt jelenti, hogy pl.

    /Volumes/video/film/the-visitor/the-visitor.mkv ?
    Igy kötöjelekkel a könyvtár és a fájlnévben is? Ponttal is müködik?
    előre is köszönöm

  5. Koós Miklós

    köszönöm, meg fogom nézni. Közben arra jöttem rá, hogy a videofájlt tartalmazó mappának kell az eredeti imdb cimet tartalmazni, akkor megtalálja, bár ez sem volt 100 %-os.

  6. eFi Post author

    Az XBMC parsere szinte mindent megtalál, mindenféle átnevezgetés nélkül.

  7. Koós Miklós

    még egy kérdés: idővel az egész filmgyűjteményt át fogom költöztetni máshová (valószínüleg egy NAS-ra és az lenne a TV médiaszervere is majd). A PLEX (xbmc) beállításai (pl. gyűjtemények, egyedileg hozzáadott adatok, képek) tárolódnak valahol, amit át lehet vinni, vagy ezt kezdhetem majd újra? Mac-et használok.

    Nagy mennyiségű képem van, azt látom hogy azokat is tudja indexelni, de hogyan lehet az egyes mappáknak (almappáknak) leírást és pl. mappaképet adni, vagy ezt inkább mással oldjam meg?
    Köszönöm előre is a válaszaidat!

  8. Koós Miklós

    jó hasznát vettem a kapott linkeknek, köszönet érte, de valamit még nem értek, számos magyar nevű filmet (ahol a fájlnév illetve a mappa is magyar nevű volt) a Plex felismert, ebből arra következtettem, hogy magában a filmben (is) tárolódnak adatok, amiket a scan-neléskor a program felismer, hasonlóan az mp3 ID tag jához, vagy rosszul gondolom? Csak azért kérdezem, mert akkor ezt valahol szerkeszteni is tudni kellene, hasonlóan az ID tag szerkesztőkhöz...

  9. eFi Post author

    Fogalmam nincs, engem ez nem érdekel ennyire. Mint korábban említettem, már nem használok Plex-et. Ott van a wiki: http://wiki.plexapp.com/index.php/Main_Page vagy a fejlesztői fórum http://forums.plexapp.com/index.php/forum/42-channel-development/ - ezeken a helyeken talán találsz infot arra vonatkozóan, hogy milyen metódus alapján honnan szedi a Plex parsere az adatokat.
    Annak kevés esélyt adok, hogy a nem vásárolt filmfile-ok bármiféle egységes metaadatot tartalmaznának. Esetleg azt tudom elképzelni, hogy a film folderében lakik valami leírófile, amiben a parser megtalálhatja ezeket.
    A Plexes srácok biztosan nem fognak egy dedikált külső metaadat editort írni, de lehet, hogy ezt más megteszi. Ez ügyben is körül kell nézni a fejlesztői fórumot.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.