Let op: Tweakers stopt per 2023 met Tweakblogs. In
dit artikel
leggen we uit waarom we hiervoor hebben gekozen.
Zelfbouw Software Media Center : Intro
"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:
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:
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.
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.
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:
- Rails app met webinterface op OS-X Maar: touchscreen werkte niet goed op OS-X, geen BR discs in OS-X)
- Rails app met webinterface op Windows Maar: Rails werkt traaaaaaaaag op mijn machine op Windows, deze iteratie van webinterface was ook te traag)
- Monolitisch C# windows applicatie Maar: liep vast op niet goed uitgedachte architectuur, geen zin om meerdere clients te schrijven voor tablet/smartphone/touchscreen
- 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
- 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)
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.
11-'11 Wat kan je met OS-X, iTunes, Ruby on Rails en AppleScript?
Reacties
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.
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...
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...
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++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.
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
Bookmarked. Ik ben zeer benieuwd naar het vervolg 
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.
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.
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.
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?
Laat je je eigen software praten met een bestaande media speler (bijvoorbeeld vlc)? of ga je zelf ook het beeld afspelen regelen?
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 blogbr 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.
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.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?
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).
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.
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.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.
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.
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..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
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.
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?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.
Spotify integratie met mijn eigen muziek vind ik wel een belangrijk punt inderdaad. Kan je mierenneukerig noemen, maar ik ben nu eenmaal een perfectionist
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
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.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
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
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.
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.
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