YouTube naar XBMC

Sinds de komst van XBMC op mijn Raspberry Pi heb ik ook een paar appjes op mijn Android telefoon geprobeerd, om XBMC mee te kunnen besturen. Een van de leukste features van die apps is eigenlijk dat je een filmpje op YouTube met een druk op de knop af kunt laten spelen op XBMC op een andere computer.

Deze functionaliteit wilde ik ook op mijn laptop, want ik zit vaker met de laptop op de bank te surfen dan met m’n mobiele telefoon. Wat zoekwerk leverde wel wat dingetjes op, namelijk in de vorm van een Firefox-extensie en een bookmarklet, maar beide werkten niet naar behoren.

Het idee van een bookmarklet sprak me wel aan, dus ben ik zelf aan het stoeien gegaan. Hieronder vind je het resultaat.

XMBC (we hebben het over versie 12, a.k.a. ‘Frodo’) heeft een JSON-RPC API, die het mogelijk maakt om de applicatie van buitenaf te besturen. Via Settings -> Services -> Remote control -> Allow programs on other systems to control XMBC kun je deze API inschakelen. Daarnaast moet de YouTube video add-on geinstalleerd zijn.

De code

javascript:(function(){var%20h='raspi';var%20v=document.URL.match(/v=([^&]+)/);if(v){var%20vid=v[1];var%20url='plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid='+vid;var%20request=JSON.stringify({jsonrpc:%20"2.0",method:"Player.Open",params:{item:{file:url}},id:1});var%20url='http://'+h+'/jsonrpc?request='+escape(request);var%20w=window.open(url);}else{alert('No%20video%20ID%20found');};})();

Gebruiken is simpel. Maak een nieuwe bookmark in je browser, en op de plaats van de URL voer je de bovenstaande code in. Vervang daarin de hostname van mijn XMBC computer (de waarde ‘raspi’ in de variable ‘h’ aan het begin van de code) door de hostname of het IP-adres van jouw XBMC.

Surf vervolgens lekker rond op YouTube, en als je een filmpje ziet waarvan je vindt dat iedereen het moet zien, klik dan op de net aangemaakte bookmark. Als het goed is, begint XBMC direct met het afpelen van de video. Getest en werkend bevonden in Firefox en Chrome.