WIP XRPC - A web based JSON-RPC controlled XBMC Database Explorer
#1
Lightbulb 
XRPC
A web based JSON-RPC controlled XBMC Database Explorer

Description:
This JSON-RPC controlled web based interface lets you or anyone with the access to the XBMC view the video/audio library. It is being developed using HTML+PHP+JS+CSS

Goal:
The goal is to implement most of the XBMC JSON-RPC controls to a web interface that can be used on any platform. This can also be used as a showcase of all the media on XBMC.

Status:
Complete
  • Basic Remote (Complete)
  • Movies (Complete)
  • TV Shows (Complete)
  • Play/Stream/Download (Complete)
To Do
  • Meta Editor (In Progress) (Suggested by gabsaole)
  • Music (Pending)
  • System Settings (Pending)
  • Advanced Remote (Pending)
  • Login (Pending) (Suggested by Portmerchant)
  • Change View type (Pending) (Suggested by Portmerchant)


Screenshots:
Remote:
Image

Click on Fanart to display Seasons
Image

Click seasons to get episodes
Image

Click episodes to get episode details
Image

Play / Download the episode
Image

06/09/2013 (Latest) Wrote:
  • Added basic metadata editing to the movies (no escaping of bad characters done, very beta version )
  • Made the episode browsing better
  • Cleaned up some comments and css

Quote:06/08/2013
  • Fixed the navigation bug
  • TV Show episodes are displayed in a cleaner, better layout
  • TV Show titles on left pane now warps to new line
  • Added counter to the top showing the "current/total" for TV Shows
  • Added Movies along with information and streaming/download like TV Shows

06/07/2013
  • Added navigation to TV Shows. Now you can see the show,season, and episode details. (like in BigFan sub-theme of Aeon)
  • Added Play/Stream/Download button for episodes.
  • Uses Flowplayer for playing the streaming files (mp4 only, hence the "Download" and "Stream" buttons)
  • Play the file in XBMC
  • Eliminated separate page for remote. Remote control now floats on top or tucks away.
  • Fixed tvdb 403 error by grabbing the artwork from xbmc local db

06/06/2013
  • Added functional Remote Control (more buttons to come, keyboard available but hidden and non-functional)
  • Added Menu
  • PSD files for the Remote Control Buttons

06/03/2013
Feature Status:
  • As of now only TV Shows can be viewed
  • No XBMC controls added
  • Themed like Aeon's XBMC theme (BigFan)
  • No mobile theme at present, only desktop
  • Image display fade can be smoothed (manually in the script.js file)
  • Settings menu to be added. For now some are available in the settings.php file
Issues/Bugs:
  • Some show's images do not show up. (403 message from tvdb) (Fixed: 06/07/2013)
  • Next and previous buttons takes one extra click to change directions (Fixed: 06/08/2013)

Download/Source:
http://toodlydo.github.io/xrpc/

Installation:
  1. Download the repo using the "ZIP" button on github or clone it.
  2. Extract the archive to the webserver root.
  3. Modify the settings.php and provide the username, password, ip and port of the XBMC web interface (find it in XBMC: "System>Services>Webserver" and make sure the "Allow control of XBMC via HTTP" is enabled).
  4. Start web server
  5. Navigate to the page
I use the portable version of XAMPP (link (7zip)) on windows:

Detailed Windows Instructions:
  • Extract xampp archive to c:\. The path should now be "C:\xampp".
  • Extract the zip from github to inside "C:\xampp\htdocs"
  • Modify the settings.php and provide the username, password, ip and port of the XBMC web interface (find it in XBMC: "System>Services>Webserver" and make sure the "Allow control of XBMC via HTTP" is enabled).
  • Run "xampp-control.exe" and click "Start" next to Apache. (Note that Apache requires port 80 to be free. If there is a conflict, there are workarounds and you can find them on google.)
  • If you plan on using xampp often then I suggest to run it and go through the security page of the local installation to secure it i.e.: http://localhost
  • Navigate to the webpage: http://localhost/xrpc (or http://localhost/xrpc-master if you downloaded the zip from github)

Suggestions welcomed.
Reply
#2
Looking very nice.

Are you planning to keep this as library explorer only, or to have all the json-rpc features in it ?

It looks like xbmc is slowly adding or changing more features that will make running xbmc as a headless server a viable option, so maybe through the json-rpc one could change the settings, edit and scrap the library and etc.
Would you include such features in XRPC if these would be added (if aren't included yet) to the json-rpc ?
Reply
#3
Thanks.

Initially I would like to implement all the Video and Audio library features.

My goal is to use all the XBMC JSON-RPC features available and implement it to this web interface. There is not much detailed/specific documentation of the usage of these JSON-RPC requests but I am figuring them out by trial and error.

The intent of the project was to actually familiarize myself with the JSON-RPC requests, so as for adding features that are not available through JSON-RPC, I highly doubt it. But if anyone wishes to contribute and add them in, I would have no qualms.
Reply
#4
Updated with functional remote control. Some buttons are not included but will add them soon. Still trying to figure out the layout for the remote. To add all the possible functions to the remote and not result in a cluttered layout, some of the functions might be put into a secondary remote. The virtual keyboard will be the tertiary remote, if needed.

Looking for suggestions or ideas on the remote control layout.

Thanks.

PS: Remote control buttons are available in a single PSD file (not well named layers) if anyone wants to modify and re-use them.
Reply
#5
I'd really like to able do edit metadata, especially the synopsis and summary for TV shows and movies, so I woudln't have to run an extra app.
Reply
#6
(2013-06-09, 21:44)gabsaoleo Wrote: I'd really like to able do edit metadata, especially the synopsis and summary for TV shows and movies, so I woudln't have to run an extra app.

The XBMC JSON-RPC API supports editing metadata and that is exactly what I am working on right now. It might be ready in a few days. I am not sure if you can bulk process like an app could but lets see how it comes out. I'm still fiddling with the interface for inputting the metadata information. I aiming for it to be easy to use and simplistic, similar to the way XBMC does.
Reply
#7
I have added basic movie meta editing (not artwork). I would like some feedback on the interface.

How it works:
  • Click the Edit button to the movie of choice.
  • Simply check the box next to the item you want to edit and it turns into a input field.
  • Leave it checked and confirm the edit or uncheck to restore to original value. Only the checked items will be changed.

Image
Reply
#8
Toodlydo....

What can I say but AWESOME....

XRPC opens XBMC to be a viable alternative to Plex Media Server...I sorta like PMS but it's too resource intensive and options are sparse (MAC is not my favorite beverage). If I may humbly suggest a few options that may be possible to implement in the future:

1. Login (mmmm Security is Nice)
2. Views List (Thumbnail or Details would be Exquisite)

Using this app with Apache Server...Hopefully you can also implement AVI and MKV streaming as well

Thanks again for this Great Application...Not a Coder but willing to help, articles for WIKI or Beta Test

Portmerchant
Reply
#9
(2013-06-11, 19:15)portmerchant Wrote: Toodlydo....

What can I say but AWESOME....

XRPC opens XBMC to be a viable alternative to Plex Media Server...I sorta like PMS but it's too resource intensive and options are sparse (MAC is not my favorite beverage). If I may humbly suggest a few options that may be possible to implement in the future:

1. Login (mmmm Security is Nice)
2. Views List (Thumbnail or Details would be Exquisite)

Using this app with Apache Server...Hopefully you can also implement AVI and MKV streaming as well

Thanks again for this Great Application...Not a Coder but willing to help, articles for WIKI or Beta Test

Portmerchant
Thank you for the compliments.

I haven't used Plex so I have no idea what it actually does. I thought it was similar to XBMC.

As for your suggestions,
  1. Login - Sounds like an great idea. There can never be enough security. I will start thinking of ways to implement it. I will have to use an SQL or MYSQL database. On top of my head, I am thinking that converting this project into a Wordpress theme/plugin could be nice.
  2. View Lists - This is something I have been thinking too. Restricting to one type of view is not good. I will split the mashed up css files and so that I can modify them easily to enable different view types
Streaming avi and mkv files were my intention since I myself have very little mp4 files and not to mention most of the releases are in mkv and avi. If you look at the stream.php file there is an "embed" tag which uses vlc plugin. VLC plugin is only available on Firefox and it can play any file type. This is again restricting the user to a single browser which is not what I had intended. As of now the VLC plugin is overshadowed by the Flowplayer.

But, since the latest HTML5 video revision still hasn't implemented multiple audio tracks and subtitles, I am strongly leaning towards the VLC plugin. But that is for a later discussion.

I don't know if I am going to make "nighty" and "beta" channels for my release. I don't have much time to dedicate to this project and maintain multiple branches. I spend couple of hours on this and am doing this because I like programming and XBMC. If you like to use the bleeding edge versions, then you can checkout the latest builds from git.

Thanks again for your interests and helpful inputs.
Reply
#10
Great!!! Just can't wait once it edits metadata!

Thank you so much!!!!!!!!!!!!!!!!!
Reply
#11
(2013-06-12, 00:52)gabsaoleo Wrote: Great!!! Just can't wait once it edits metadata!

Thank you so much!!!!!!!!!!!!!!!!!

Thank You. I've been caught up at work and didn't get to complete the media data editing for movies. Once that's done it easy enough to replicate it for TV Shows. The question I find asking myself is to just enable editing of certain fields or do a full fledged scraping. There are a lot of good media scraping softwares and I don't want to add another one. I think I will do the basic editing first and later, if time permits or with enough interest, I can add scraping.

If I manage to get around to it again, I should have the complete basic editing for movies and TV shows by this weekend. Some small edits might just seep through in the days before.
Reply
#12
Toodlydo...

Plex Media Server is a fork of XBMC but is much more MAC like...

Try it out at www.plexapp.com ...there is also a Plexbmc Plugin to allow XBMC as a Plex Client
available here: http://forum.xbmc.org/showthread.php?tid=92310

Plex Media Server (PMS) is the only decent Media Server out here right now other than TVersity. They both transcode video (I believe) to allow for the differences in the video container formats.

Plex will stream directly from the web or to a client.. TVersity seems to be browser only...

Just some ideas for input....

Thanks Again,

Portmerchant
Reply
#13
Toodlydo ...

You mentioned WordPress Themes as a possible venue in your earlier post

12 Top Free WordPress Video Themes
http://slodive.com/freebies/wordpress-video-theme/

Video
http://templatic.com/freethemes/video

"Video" seems like a great candidate ... tell me what you think?

Signed,

Portmerchant
Reply

Logout Mark Read Team Forum Stats Members Help
XRPC - A web based JSON-RPC controlled XBMC Database Explorer0