Q: Remote control one XBMC PC by another XBMC PC?

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
xbmcg Offline
Senior Member
Posts: 152
Joined: Nov 2011
Reputation: 0
Location: Europe
Post: #1
Hallo,

I already saw awesome XBMC installations on youtube, where xbmc was remote controlled by smart devices / iPads etc with a complete library access interfac etc.

I am wondering, if there is a way to remote control one xbmc pc's in a distributed environment from another xbmc pc:

- eg select in the living room media in the library and send the corresponding commands to a xbmc pc elswere in the home, so it plays then the content (remote control one xbmc by another xbmc pc. This could be a box whithout any keyboard, mouse or remote, simple attached to a monitor - e.g a small arm box capable just to stream content over the network...)

I have seen a plugin for multi room sync playback of video / audio, but it seems broken and is not further maintained (based on VLC).

It would be great, if it would be possible to control any xbmc in the home from any display - to playback same media syncronized - or to start / stop playback, configure and control all xbmc players from any accessible UI in the home (wall-mount touch screen home automation pc running xbmc?).

I mean something like the sonos multiroom audio system - but for any kind of media on any kind of hardware - not just on iOS or Android, but also n the "normal" Linux / Windows environment...

I hope I could explain, what I mean.
Maybe a solution is already out there, but I have not found it yet...

I have tried terminal server client / remote desktop - but it does not work with the graphic overlay engine overlay used.

- It would be great to have a context menu on the content in the library/addons/files saying: play to (a list of configured / known xbmc devices around).

- During playback in the menu (accessed by the M Key) another button saying Add Room (on Click display a list of available xbmc devices in the home).

Thank you very much for any suggestions!
(This post was last modified: 2012-01-05 13:19 by xbmcg.)
find quote
xbmcg Offline
Senior Member
Posts: 152
Joined: Nov 2011
Reputation: 0
Location: Europe
Post: #2
Is there a way to split frontend (menu / library browsing) and backend (Media playback engine, Database engine, Scrapers) in a client / server architecture?

It seems to work for xbmc as the server part and Android / iOS for iPads and tablet PC's as a smart remote control. Can this UI be run on a Windows PC?

Thank you.
find quote
XMBC_FREAK Offline
Senior Member
Posts: 119
Joined: Oct 2011
Reputation: 3
Post: #3
Dont know if this helps.

I have done this and can control any xbmc station in my home but it took developing the web interface myself...

look for the thread about home automation or look up by user and look for my posts.

It can be done!
find quote
xbmcg Offline
Senior Member
Posts: 152
Joined: Nov 2011
Reputation: 0
Location: Europe
Post: #4
Hallo XBMC_FREAK,

thank you for your comment and your hints. Ihave read your threads.

By the way, nice home automation setup with the winCE devices and cameras.

I know the http web-server UI, there is a remote too and also webpages with static thumbs etc.

But this is not exactly what I am looking for. I want to have the complete dynamic openGL graphic xbmc UI as "remote control" in one room and launch the playback from this machine to a xbmc running in another room (contex menu play to room...). This implies, thal all xbmc instances have synchronized settings and all media locations use UNC share names instead of local drive letters.

I think, it could be douable to have a common location for the profiles on the network and a common database used by all clients.

What is needed is a discovery of the online status for each player and stored in the common config, so each player shows a dynamic list of available playback locations in it's context menu. the rest should be simple, just parse the computer name + the necessary parameters for the media and send the http request to the target, instead of launching the local playback.

it should even work with any kind of resources, including plug-ins.

With a "System Settings" extension one can also set the default target, if the xbmc remote controller pc is a tablet running windows and mainly used as a remote, so you do not need the context menu to select the target, but fire the playback by default on the main room xbmc box.

I think, this could be done just by some config changes in the xml files of the UI and some scripting without the need to dive deep in c++.
find quote
osli Offline
Member
Posts: 88
Joined: Jan 2010
Reputation: 0
Post: #5
This topic comes up from time to time in various formats. I wish I had the time and skills to actually get my hands dirty and learn how to contribute to make this happen instead of just asking questions and making vague high-level suggestions. I'll point to a couple of relevant past discussions (that I think you've already found)...

http://forum.xbmc.org/showthread.php?tid=34059

http://forum.xbmc.org/showthread.php?tid=6207

Here was my mockup of what I think you're perhaps envisioning...

[Image: homescreenf.jpg]

[Image: zones6.jpg]

And I think've you've posted in those threads, bringing them back into the light, so I'll not repost any pertinent comments from those threads here.
(This post was last modified: 2012-01-10 13:41 by osli.)
find quote
XMBC_FREAK Offline
Senior Member
Posts: 119
Joined: Oct 2011
Reputation: 3
Post: #6
Linux MCE does exactly what you want to do. It uses a dedicated server OS, mediaPlayers also can be pxe or localboot, and a remote control software called orbitor.

I used an early version of linux mce and the orbitor( Custom OS Touchscreen Remote) is the one that get all the info from every station.Orbitor also can turn on any tv in the house to the same or different media from anywhere in your home. It sends and gets the info and updates from the server.Linux mce also uses a gesture gyration remote and you can walk from room to room and using the follow me feature.

Unless XBMC developers decide to build a dedicated Server I dont think this could be made to work properly within XBMC current build. I know though this can be made into webpage very easily. Smile

One of the reasons I decided to use 10" wince tablets is, I can only do so much with XMBC. However using a lil web coding can make XMBC something completely unique.

Again I can control the entire house from my couch and turn on or off all tvs and play media from any xbmc station.

You did give me an idea though. I could use a few commands to ask XBMC its status on every machine and make the zoning much nicer. When I get time I want to redo and add a few features thanks to you.
(This post was last modified: 2012-01-11 00:00 by XMBC_FREAK.)
find quote
xbmcg Offline
Senior Member
Posts: 152
Joined: Nov 2011
Reputation: 0
Location: Europe
Post: #7
Yeah, thanks.

I have already seen this mock-ups. They are great, but also complex from the design. However this are just UI sugestions, not a (even partly) working solution. If this comes to live - it would be great - synchronous multi-zone playback!

But I want to start smaller. Just trying to find away to re-use what is already there in a different way. My first goal will be to split the UI part from the playback engine on two or more machines and to make a central dynamic autoconfiguration service as described above.

But before start coding I just want to grab what is already there in one or another way to prevent reinventing the wheel.

I also have found some how-to's describing a cental mySQL database and profile storage - configured in the local xml files.

This will be my starting point. Next thing will be to find a way to reload the profile in the background if something changes in the xml config files (when are the xml configs read - only on startup or during operations too?) .

Then I will try to write a windows service (or linux background process) that searches for xbmc services on the LAN and purges / fills the local mySQL DB of the player, patches the xml files with the available mount points and content artwork locations - so the player shows only the current online content on its display - automatically. I think I will start with searching for machines containing with xbmc in their name and having smb file shares with xbmc in the share name (eg: \\xbmc-server\xbmc-videos; \\xbmc-kids\xbmc-music...) key words will be configured in the xml config file like xbmc-music, xbmc-videos, xbmc-tvshows, xbmc-pictures, xbmc-settings). The db file for the resource will be placed on the root directory, so the discovery service can access it directly, open it read-only, copy the tables to the local database and add in a temp table a timestamp of the version read (last change), and the source unc. on subsequent scans it will check, if the file has changed and if not - will skip it - otherwise local db will be updated. If the source disappears - all content added by this source will be deleted from the current db. If one day xbmc can handle multiple db - it will be even not necessary to consolidate the content in one db on the player.

New players just need a default config + the discovery service and can immediately play anything available on the network nearby (including plugins).

However this scenario needs one dedicated storage for the defined config
to be allways online. It is possible to store the "last known good" config locally just in case this resource is down - and will be overwriten when it comes back online - but this will opt-out a ROM-only player option.

However it seems strait-forward, because it needs to be done from scratch - so the only issue will be to force somehow the player to reload its current profile - hopefully with no interruption of the current play-back.

When this is done I will try to hack the UI and add the remote invocation instead of local playback control. This needs some reverse engineering of the skins and their scripting / playback control interfaces (or to find a good documentation about the engine under the surface). This is the hardest part, because modifications will make it some harder to stay up to date with further development / nightly builds and changes under the hood.

Therefore it would be best if it could be realized by just pimping the skin/UI without patching the c++ stuff below.

My hope was, that someone else has already had done some deeper investigations / progress in that direction.

... and finally a even harder approach - synchronized Playback. This will be the hardest thing - achieveable by multicasting + time synch and other techniques. I would like to prevent using a hook-up solution with VLC or so, but have it natively built in instead. But this is a dream and far away.

I have used xbmc now for a year or so, but have not done any modifications to it yet - beside trying some live-tv extensions / custom builds with dvb viewer / tvheadend / MythTV on windows and linux. However the outcome was not very satisfying (hd / hd+ content playback and recording issues / artefacts, poor WAF for the UI...) - and because there are so many people developing in that direction - (and it is not a easy thing at all) - I keep away and will wait for the progress of these brave guys.

Btw. is there somewhere a good developer documentation / overview for all files / settings and interfaces to start from (for advanced reading do dig deeper without try & error and reverse engineering / reading of the c++ source code)?

Thanks!
find quote
XMBC_FREAK Offline
Senior Member
Posts: 119
Joined: Oct 2011
Reputation: 3
Post: #8
http://forum.xbmc.org/showthread.php?tid=118986 Give this a read when you can....
find quote
xbmcg Offline
Senior Member
Posts: 152
Joined: Nov 2011
Reputation: 0
Location: Europe
Post: #9
Hi xbmc_freak,

I have tried to install linuxMCE, but I had some hardware issues and have put it after a while away. XBMC UI was more attractive and I also do not have had that nice gyro remotes. During this tries I also was not willing to have my pc running 24/7 in the backend as sat receiver and home automation server. Meanwhile there are so cheep and low-power consuming devices out there, so maybe I have to rethink my initial decision.

I have a regular setup with clasic SAT PVR receiver + xbmc htpc' in various test hw. (zotac ion, gigabyte amd + nvidia card in a silverstone htpc case, intel msi and some older hw, a media server with a old Rocket RAID SATA2 controller and hard disks, notebook etc... ) and tried various linux distros / windows (xp / 7) etc. So far the latest windows seems to have less issues with the playback so I gave up the linux path a lttle - (also the new ubuntu gnome becomes terrible with its bloated UI since last 2 versions, even xfce gets more and more screwed up by the devs.). So after 5 years linux I am slowly moving back to windows now.

I can too control my home with my remote - I use a logitech harmony and a stand-alone IR/RF dongle for the lights, shades etc. - (443MHz Intertechno + 886MHz FS20 system actors using the lightmanager from jbmedia, "traditional" programmable wall-mount capacitive touch switches). There is also a programmer / usb device, so one can use a computer to radio-control all stuff from the PC, but I have no integration in the UI yet. I do not have any touch-screen controller yet - so home automation is done by the harmony's ability to run smart macros (activities, custom smart keys etc.) or by the FS20 System itself.

No cams in my house yet...

...Thanks for the thread - it was mine :-)

The initial intention was to have it modular - but is seems unlikely that the devs are willing to go that way - so this isthe aproach to keep the beast monolithic and realize the functions outside by extreme online patching of the config underneath while xbmc is running
(This post was last modified: 2012-01-11 01:12 by xbmcg.)
find quote
XMBC_FREAK Offline
Senior Member
Posts: 119
Joined: Oct 2011
Reputation: 3
Post: #10
To bad your hardware was an issue. Yes the UI is less polished but thats the skin that comes with it. There were many using custom skins could be made easy.

Linux mce is very powerful if you can get your machines in order setup a few stations and a server. There is sooooo many features and love the cube architecture being able to use any devices from anymachine, VMAIL was killer btw

I have a pet peeve with IR/ RF Remotes currently I banned them from my home Wink

And I like the idea of a regular remote but I am way to comfortable now with touchscreens that remotes seem old tech. I dont mean to sound mean either. I can pick up a wince touchscreen cheaper than most ir remotes and can do alot more with the tablets than with the remote. It just work for me as a better solution to what I have.

Well if you decide to code anything let me know I would love to help ya out.
find quote
xbmcg Offline
Senior Member
Posts: 152
Joined: Nov 2011
Reputation: 0
Location: Europe
Post: #11
Thanks.

If I would now start from scratch I would use the smart deices too, however they need to be charged every day because of power consumtion or wall-mounted.

It was a evolutionary built up, I have the harmony for many years to control all classic devices (amplifier, sat receiver, dvd player, tv set, pinnacle s200 media players, but they were not HD capable and are now replaced by xbmc boxes etc in 3 rooms - all stuff old-fashioned IR controlled only - no wifi/lan, all long before this tablets show up for a reasonable price (do they have IR transmitter?). I think, one day I will also move in that direction.

I loved the concept of linuxMCE too 2 or 3 years ago - but during this time I needed "just" a single htpc + storage and it was a little a overkill - beside the hw issues. Maybe I'll give it a second chance one day.
find quote