Zelfbouw Software Media Center : Intro

Door CJ_Latitude op maandag 14 november 2011 11:43 - Reacties (17)
Categorie: media center, Views: 10.117

"Waarom?" is de vraag die ik vaak gekregen heb toen ik bekenden/vrienden/collegea vertelde dat ik zelf mijn eigen media center software aan het schrijven was. En terecht natuurlijk.

Want er zijn best veel goede, kant-en-klare mogelijkheden: Plex, XBMC, Boxee, Windows Media Center om er maar een paar te noemen. Niks mis mee, zou je zeggen. Ik zag echter wel wat tekortkomingen. Toen ik begon met deze operatie (maart 2010...) voldeed er geen aan ieder van deze eisen:
  • Bedienbaar zonder het aanzetten van de TV.
    Ik vind het zo suf als ik om een liedje te luisteren de TV aan moet zetten. Leuk zo'n 10ft interface, maar daar heb je niks aan als de TV niet aan staat
  • Bedienbaar met smartphone / tablet / touchscreen
    Ik heb nog een 15" industrial touchscreen liggen die ik in een muur wil bouwen, zodat er wel een vast controle-punt aanwezig is naast de smartphones en tablet die in het huis liggen
  • Interface op scherm, beeld naar TV
    Nog zo'n nadeel van de 10ft interface als je dat touchscreen wil gebruiken: het is niet te doen om op het ene scherm de browse-interface te hebben en dan de media (film / foto) naar de TV te laten sturen
  • Goede Spotify integratie
    Ik wil goede integratie. Ofterwijl: als ik mijn lokale lijst van Simon & Garfunkel nummers zie, moeten de nummers die Spotify van hen heeft erbij komen te staan, zonder dat ik daar iets voor hoef te doen
  • Aansturen van versterker
    Versterker automatisch aan/uit zetten (us ben zuunig!), speakers/sub schakelen
  • Aansturen van TV
    Dmv EPG op control-device zappen en automatisch zappen als programma begint
  • Mogelijkheid tot afspelen en bedienen BR-discs
    Niet alleen rips, maar ook de echte schijfjes
  • Automatisch tonen van media van USB device
    Inpluggen en de drive verschijnt in de interface, klaar om de media te tonen. Geen gedoe met kopiëren.
Veel van deze eisen komen op één punt neer: dat je niet van je luie reet af hoeft te komen om ook maar iets te doen zoals apparaten schakelen.
En daarnaast moet het ook bedienbaar zijn door de vrouw des huizes :)

Ondertussen hebben de bestaande pakketten ook niet stilgezeten en ben pas nog verleid tot het proberen van Plex met de nieuwe Plex App voor iPhone/iPad. Mooi spul, bovenstaande punten blijven veelal hierboven kunnen niet afgevinkt worden. Belangrijkste nadeel was dat de Spotify intergratie matig was (niet geintegreed met de lokale muziekbestanden) en dat Spotify niet eens op de remote werd getoond.

Nu zijn we dus al 1.5 jaar verder en hebben we nog niet eens een beta, laat staan een final versie. Vanwege veranderende eisen en problemen die ik tegenkwam zijn we nu al met de vijfde iteratie bezig. Een kort overzicht:
  1. Rails app met webinterface op OS-X Maar: touchscreen werkte niet goed op OS-X, geen BR discs in OS-X)
  2. Rails app met webinterface op Windows Maar: Rails werkt traaaaaaaaag op mijn machine op Windows, deze iteratie van webinterface was ook te traag)
  3. Monolitisch C# windows applicatie Maar: liep vast op niet goed uitgedachte architectuur, geen zin om meerdere clients te schrijven voor tablet/smartphone/touchscreen
  4. C# server met webinterface & websockets Werkt eigenlijk best goed, zag er super uit (Remote app van Apple nagebouwd), maar is net niet snappy genoeg en de websocket verbinding managen op de iPad / iPhone is lastig
  5. C# server met DACP Digital Audio Control Protocol: protocol van Apple die gebruikt wordt door hun native Remote app. Ofterwijl: de native app gebruiken voor m'n eigen server ipv iTunes / AppleTV. Pluspunt: er zijn ook Android client implementaties (zoals TunesRemote)
Nu dus bezig met nr. 5 en de potentie is torenhoog.

Het is een lang en soms frustrerend proces. Voordeel: ontzettend veel geleerd en wijzer geworden. Ik zal op dit blog verslag doen van mijn ervaringen, leermomenten en natuurlijk gewoon gaaf spul laten zien en code delen waar anderen hopelijk ook nog wat aan hebben.

Volgende: Wat kan je met OS-X, iTunes, Ruby on Rails en AppleScript? 11-'11 Wat kan je met OS-X, iTunes, Ruby on Rails en AppleScript?

Reacties


Door Tweakers user Blokker_1999, maandag 14 november 2011 11:51

Ik zou niet vragen "waarom?" maar waarom werk je niet mee aan 1 van de bekendere projecten om iets bestaands uit te breiden tot iets wat ook voor jouw werkbaar is. Belangrijkste pluspunt is dat je dan niet alles vanaf 0 moet gaan zoeken/bouwen.

Door Tweakers user Rowdy.nl, maandag 14 november 2011 11:54

Hehe, bij het lezen van de titel dacht ik; "Nee hè? Niet wéér iemand die verteld hoe je een Mediacenter in elkaar moet knutselen"... Verkeerd gelezen dus.

Klinkt iig erg interessant, vooral de nifty dingen waar je tegenaan gelopen bent en de manier hoe je ze hopelijk opgelost hebt vind ik als programmeur natuurlijk uitermate interessant...

Door Tweakers user CJ_Latitude, maandag 14 november 2011 11:59

Blokker_1999 schreef op maandag 14 november 2011 @ 11:51:
Ik zou niet vragen "waarom?" maar waarom werk je niet mee aan 1 van de bekendere projecten om iets bestaands uit te breiden tot iets wat ook voor jouw werkbaar is. Belangrijkste pluspunt is dat je dan niet alles vanaf 0 moet gaan zoeken/bouwen.
Een valide punt, Blokker. Ik zou natuurlijk ook kunnen gaan meewerken aan XBMC bijvoorbeeld. Reden dat ik dat niet doe is tweeledig: ten eerste kan ik geen C++ ;) Daarnaast vind ik het proces van ontwikkeling juist het leukst en het uitzoeken van die details. Ik haal daar erg veel voldoening eruit.

Daarnaast kost het vanaf de grond afbouwen natuurlijk veel tijd, maar om in een bestaand systeem zoals XMBC te komen zodat je er zelf mee bezig kan is ook geen sinecure.

Mocht je overigens projecten weten waar ik mijn kunde wel in kwijt zou kunnen (C#, Rails, JS/CSS/HTML), dan sta ik altijd open voor suggesties :)

Door Tweakers user Morphogenesis, maandag 14 november 2011 13:26

Bookmarked. Ik ben zeer benieuwd naar het vervolg :)

Door Tweakers user warcow, maandag 14 november 2011 15:04

Meeste van de punten die je noemt werken ondertussen ook al in XBMC of zijn daarvoor in ontwikkeling. Het aansturen van tv/versterker is nog niet helemaal klaar maar zelfs daar zijn ze al mee bezig.
Aansturen met je smartphone/tablet werkt al heel erg goed, en ook diensten als spotify / airplay zijn al werkende.
Als je dan ook nog de voordelen van een mooie skin als bijvoorbeeld Aeon mq3 ziet dan is het lastig daar mee te competeren.

Neemt niet weg dat het een erg leuk project kan zijn waarbij je in ieder geval voor jezelf misschien wel de ideale software hebt. :)

Door Tweakers user br men, maandag 14 november 2011 15:37

Een interface voor tablets en telefoons zou je kunnen maken doormiddel van een web interface, dan hoef je maar 1 interface te maken en die kan werken voor zowel tablets, mobieltjes als remote pc/laptops.

Door Tweakers user br men, maandag 14 november 2011 16:20

Wat gebruik je trouwens om films af te spelen?
Laat je je eigen software praten met een bestaande media speler (bijvoorbeeld vlc)? of ga je zelf ook het beeld afspelen regelen?

Door Tweakers user CJ_Latitude, maandag 14 november 2011 16:31

br men schreef op maandag 14 november 2011 @ 15:37:
Een interface voor tablets en telefoons zou je kunnen maken doormiddel van een web interface, dan hoef je maar 1 interface te maken en die kan werken voor zowel tablets, mobieltjes als remote pc/laptops.
Die weg heb ik inderdaad al bewandeld en daar ligt opzich wel een mooi stukje werk. Echter haalt het het toch net niet bij de UX van een native app. Hoe deze webinterface er dan uit ziet, komt uiteraard nog aan bod in dit blog :)
br men schreef op maandag 14 november 2011 @ 16:20:
Wat gebruik je trouwens om films af te spelen?
Laat je je eigen software praten met een bestaande media speler (bijvoorbeeld vlc)? of ga je zelf ook het beeld afspelen regelen?
Nee, beeld afspelen dat laat ik lekker door MPC doen. Die is makkelijk te starten met command line parameters en goed aan te sturen met gesimuleerde keystrokes.
Enige probleem is dat 'ie niet BR discs af kan spelen. Daar gebruik ik dan weer Arcsoft TotalMedia Theatre voor. Waarom niet Arcsoft voor alles? Omdat dat soort programma's (zo ook PowerDVD) enorm zwaar zijn (zeker voor een Atom 1.6GHz dualcore).

Door Tweakers user SPee, maandag 14 november 2011 17:02

Volgens mij bestaat XMBC veel uit Python.
MediaPortal uit .NET (C#?)

Maar het lijkt me dat het wel veel tijd kost om iets van zulke omvang te maken.

Door Tweakers user CJ_Latitude, maandag 14 november 2011 17:17

SPee schreef op maandag 14 november 2011 @ 17:02:
Volgens mij bestaat XMBC veel uit Python.
MediaPortal uit .NET (C#?)

Maar het lijkt me dat het wel veel tijd kost om iets van zulke omvang te maken.
De XBMC core is C++, met Pyhton scripts voor de add-ons. Ik heb al eens in de add-on documentatie gekeken, maar kon er helaas niet snel wijs uit.

MediaPortal is inderdaad C#. Ik kan me nog herinneren dat ik die ooit geprobeerd had en het zwaar ruk vond. Maar wie weet is het verbeterd en kan ik er nog wat van leren / inbrengen.

Door Tweakers user i-chat, maandag 14 november 2011 18:38

CJ_Latitude schreef op maandag 14 november 2011 @ 11:59:
[...]

Een valide punt, Blokker. Ik zou natuurlijk ook kunnen gaan meewerken aan XBMC bijvoorbeeld. Reden dat ik dat niet doe is tweeledig: ten eerste kan ik geen C++ ;) Daarnaast vind ik het proces van ontwikkeling juist het leukst en het uitzoeken van die details. Ik haal daar erg veel voldoening eruit.

Daarnaast kost het vanaf de grond afbouwen natuurlijk veel tijd, maar om in een bestaand systeem zoals XMBC te komen zodat je er zelf mee bezig kan is ook geen sinecure.

Mocht je overigens projecten weten waar ik mijn kunde wel in kwijt zou kunnen (C#, Rails, JS/CSS/HTML), dan sta ik altijd open voor suggesties :)
BINGO! media portal, volgens mij is dat C# bovendien zitten daar al redelijk wat zaken goed in verkwert wat tv en epg bedrijft, ook poorten naar multi-monitor was geloof ik al eens een stukje aan begonnen en daar zijn meen ik ook vrij aardige api's voor. en er zijn voor zover ik weet in middels ook al wel remote apps..

Door Stouten, maandag 14 november 2011 19:18

Veel van wat je wilt kan ook al met Plex. Remote app op je iDevice of Android (met browse interface) zorgt er al voor dat je daarmee je muziek kan afspelen op zowel je mobiele device als je mediacenter. Spotify integration is er ook, in hoeverre dat is met je eigen muziek durf ik niet te zeggen, maar dat is een punt waar je het al op zou laten hangen? Spotify wordt bij mij wel op mijn iPad / iPhone getoond.

Voor de rest van de punten zou je met een paar plugins knutselen best ver moeten kunnen komen dacht ik zo.

Voor de rest gebruik ik een Harmony, welke geconfigureerd is voor Muziek, TV kijken of HTPC. Alles gaat automatisch aan met 1 druk op de knop op de juiste kanalen. De Harmony gebruik ik ook als remote voor de Mac (in Plex).

Ik hoef niet meer van de bank af te komen om de dingen te doen die ik wil.

Door Tweakers user CJ_Latitude, maandag 14 november 2011 19:40

Stouten schreef op maandag 14 november 2011 @ 19:18:
Veel van wat je wilt kan ook al met Plex. Remote app op je iDevice of Android (met browse interface) zorgt er al voor dat je daarmee je muziek kan afspelen op zowel je mobiele device als je mediacenter. Spotify integration is er ook, in hoeverre dat is met je eigen muziek durf ik niet te zeggen, maar dat is een punt waar je het al op zou laten hangen? Spotify wordt bij mij wel op mijn iPad / iPhone getoond.

Voor de rest van de punten zou je met een paar plugins knutselen best ver moeten kunnen komen dacht ik zo.

Voor de rest gebruik ik een Harmony, welke geconfigureerd is voor Muziek, TV kijken of HTPC. Alles gaat automatisch aan met 1 druk op de knop op de juiste kanalen. De Harmony gebruik ik ook als remote voor de Mac (in Plex).

Ik hoef niet meer van de bank af te komen om de dingen te doen die ik wil.
Plex dus geprobeerd: maar was op de machine traag en instabiel (zou best kunnen omdat het maar een Atom is). Spotify plugin heb ik geprobeerd, maar die speelde niks af. Waar in de iPhone app wordt Spotify dan getoond?
Spotify integratie met mijn eigen muziek vind ik wel een belangrijk punt inderdaad. Kan je mierenneukerig noemen, maar ik ben nu eenmaal een perfectionist :p

Door Tweakers user LeonM, dinsdag 15 november 2011 10:01

I don't get it.

Eigenlijk kun je al je eisen vervullen met XBMC.

Bediening zonder tv aan zetten / remote controll:
- Bediening kan via webinterface
- DNLA ondersteuning
- Bediening kan met je mobiele telefoon (zijn tal van apps voor)
- Ondersteund Airplay, dus je kan streamen vanaf je iDevices naar je XBMC

Spotify:
Geen ervaring mee, maar er zijn plugins voor die goed schijnen te werken

Versterker/TV bedienen:
Beetje afhankelijk hoe je deze wilt bedienen, maar blijft piece of cake met Linux, je kunt een IR transmitter gebruiken, met externe I/O de voedingspanning uitschakelen van je versterker/tv of (als je een moderne amp/tv hebt) via TCP/IP je apparaten bedienen

Autoplay USB/bluray
Zit er in

Door Tweakers user CJ_Latitude, dinsdag 15 november 2011 10:21

LeonM schreef op dinsdag 15 november 2011 @ 10:01:
I don't get it.

Eigenlijk kun je al je eisen vervullen met XBMC.

Bediening zonder tv aan zetten / remote controll:
- Bediening kan via webinterface
- DNLA ondersteuning
- Bediening kan met je mobiele telefoon (zijn tal van apps voor)
- Ondersteund Airplay, dus je kan streamen vanaf je iDevices naar je XBMC

Spotify:
Geen ervaring mee, maar er zijn plugins voor die goed schijnen te werken

Versterker/TV bedienen:
Beetje afhankelijk hoe je deze wilt bedienen, maar blijft piece of cake met Linux, je kunt een IR transmitter gebruiken, met externe I/O de voedingspanning uitschakelen van je versterker/tv of (als je een moderne amp/tv hebt) via TCP/IP je apparaten bedienen

Autoplay USB/bluray
Zit er in
XBMC is op mijn machine te traag. Webinterface doet niks bij mij. DLNA is niet relevant, m'n TV kan niet 1080p over DLNA gooien. Airplay boeit me niet, want data staat op server.

Spotify: zelfde punt, geen goede integratie met mijn eigen muziek.
Amp: onder Win met LIRC en een IR transmitter werkt ook uitstekend inderdaad.

Maar nogmaals, een tijd geleden waren de paketten nog niet zo ver als nu. Tuurlijk zijn er nu goede alternatieven, maar feit blijft dat er nog niet één is die mijn boot doet schommelen.

En mijn hobby is niet bestaande software goed laten werken ;)

Door Tweakers user FlowinG, dinsdag 15 november 2011 22:06

Wellicht kun je alsnog kijken naar MediaPoral zoals hierboven genoemd, maar kijk dan eens naar versie 2.0. Momenteel is die in pre-alpha, maar begint redelijk stabiel te worden (voor een alpha dan). Deze versie is van de grond af opgebouwd en heeft een zeer flexibele en goed doordachte core. Misschien kan je niet met alles uit de voeten bij MP2, maar het kan zeker interessant zijn om eens te kijken hoe het is uitgedacht... Wellicht overbodig om te melden: MediaPortal is opensource, 2 dus ook. Ze hebben bij het uitbrengen van v2 ook veel aandacht besteed aan technische documentatie.

Door Ruudjaj, zaterdag 19 november 2011 16:51

Inderdaad jammer dat alle media center software zo ontzettend kut is. Toen ik laatst nog eens een rondgang maakte, was het echt om te huilen. Alsof de tijd stil heeft gestaan sinds Napster. Het enige waar ontwikkeling in heeft gezeten is codecs.

Ik denk dat er veel potentie is voor een nieuw project MCS. Alleen dan weer onbegrijpelijk dat je C# gebrukt, dat snapt de browser niet.

Reageren is niet meer mogelijk