Archives for category: Plex

An idea that’s been in the back of my head for a while has been to get rid of the home server and have everything hosted somewhere else…

(somewhere with a nice big internet connection)

I’m about 3/4 of the way through planning this, and am at the stage where I want to test out some providers.

We won’t mention names yet, but if it all pans out, there will be a big post about the solution.

The idea is to outsource a server that holds all the new stuff (fresh episodes of TV shows, movies that I want to watch but have not committed to yet, etc), as well as a good chunk of the archive of HD content.
The CPU will be powerful enough to enable this server to become my personal Netflix, with the added bonus of being able to share personal media with friends…

Of course, everything will be available via the RasPi, iOS devices, Android devices, and laptops. This change will also means that having a super huge connection at home becomes less of a priority, which might even make the whole thing cheap while it makes it more stable and more convenient.

There are thousands of seedbox companies now, and since the technology lines up extremely well (raw HD space on a very fast internet connection) it makes the cost of something like this almost trivial once I can find a company that lets me have terabytes of space in trade for the small amount of constant processing this server will need.

Having a media server in the cloud just feels like the right choice.

Android 4.0 is coming!

Sounds like a whole other angle of promise for turning the raspberry in to a “Connect it to every TV in the house” unit; The youtube videos are promising with youtube HD playback, a silky interaction with the UI, and mouse support.

Paired with Plex, and the Android Plex app, it sounds like a win-win.

I’m curious as well; what would the remote situation look like? I doubt there’s “Android Plex app remote” for iPhone… Maybe it registers as a myplex player; that would be spectacular. 🙂

We obviously want speed when accessing files over the network; I would even say that for just the media files, it’s the only thing that we care about. (Security is only a factor when dealing with personal media, or when letting everyone add and delete from the folders) I take care to make sure that the home network is secure, and set unique passwords or use encryption keys when necessary – This serves not only the function of making sure the kids only watch what’s rated for them, but also a test bed for the smaller business clients that I work with. Unfortunately, large file access has continued to be an issue – there’s no true cross-platform file system that allows files over 4GB (which is small for a HD movie), and cross-platform network file access is also rocky, with SMB/CIFS being the ‘standard’ because a lot of work went in to reverse engineering what windows uses so that admins could run linux and not have everyone burning their doors down because of how much things changed.

Samba (SMB)

Of course, SMB is notoriously slow and bloated as a protocol, but it’s also built in to every major operating system and very simple to configure, making it the obvious choice. CIFS, which speaks the same language, is the preferred choice in many cases, but it’s like organizing a piled-high room without taking anything out of it. Better, but not good. (note: in many cases, SMB and CIFS are terms that are used interchangeably, and the differences are in specific situations)Unfortunately the raspberry pi, with it’s lower powered cpu, starts to reveal just how bloated this is, leading to slow scraping, slow directory lists, and even buffer issues in some cases. My media server is set up for SMB since it shares to all number of devices, but now we have to look ahead a bit further.

Apple Filing Protocol (AFP)

AFP is great for communicating between Macs running OSX, but is not at all cross-platform. Again; the work being done by countless dedicated volunteers means that we can set up Linux to be an AFP file server (it takes some doing), but it’s far from cross-platform. Thankfully as of XBMC 11, we have support for connecting to AFP servers so we can do some testing.

Network File System (NFS)

The only open standard that I would still consider as a ‘standard’ method of accessing files, and seems to be the preference for many people using XBMC on low-cpu machines. I’ve not been in any scenarios where it was a valid option for deployment, so have not taken the time to dive in to it. On the surface, it’s very obviously designed by people who value organization and covering all bases with complexity; great for large scale and high-availability server situations, but not so much fun just so I can (hopefully) shave the directory listing times down to something reasonable and test out the buffer issues (which means rebuilding the library), but worth testing.

Special Mention: Plex

Plex, since it split off from XBMC has taken many user experience and user interface cues from Apple, and has shifted from XBMC’s Everything and the kitchen sink on your desktop (and all the desktops) to a server-client model. This means that the library and the files are all kept in one place, and the Plex client simply asks for them in a sane way, with the server transcoding the content when it’s the right choice. Why I mention it here, is that having a native Plex client on the RasPi would mean I don’t have to even think about network file access, nor do I have to think about making sure that the kids don’t press play on any R-Rated movies… But, we’re not there yet. Interestingly enough, this Raspberry Pi project, while exposing me to the current stage of XBMC (which I have not run for a few years) has really made me long for certain functionality and control in Plex that is not there. I’ve mentioned before that my ideal setup is Plex media server. I’ve added Pseudo TV to the wish list, and I’m now realizing that without a TV-like experience, TV gets taken too seriously and a lot of the content is never actually watched. It’s like having a walk-in closet full of clothes and being comfortable in the same 4 outfits.. Triply so when it comes to reconciling the tastes of 4 kids with a netflix subscription… The lowest common denominator is the one that’s always on.. With TV, there were many unexpected enjoyable family watchings of the food network or documentaries that cropped up, and even the stuff that’s not first pick, but worth at least 15min never gets touched when the choice is always active.

Thanks to

hippojay

We now have PleXBMC V2

Post: http://forums.plexapp.com/…/page__view__findpost__p__276659

Download: https://github.com/…/plugin.video.plexbmc-V2.zip

Features added:

  • myplex integration (this is the only way to connect to remote servers)
  • Fixes for TV section library refresh
  • Fixed for Plugins (I’ve tested a fair few and they seem to work)
  • Some fixes for non-refreshing artwork – however not 100% sure I have this one down (as XBMC waits 24 hours between checks)

Preliminary testing also shows that for analog RasPis, PleXBMC will transcode audio properly: voices are intact, the quiet parts are not too quiet, and the loud parts are not too loud on a 5.1 TV show.

Now is the perfect time to kick start a project to get a very simple Plex client on Linux on the Raspberry Pi.

Similar functionality to the iOS app, and likely based on the work done by the OpenELEC team.

Unfortunately, I am not the person to do it: even the hour or so every few days to work on my own setup is scraping focus from other projects. I know that there are some great people and great teams out here that could find their voice through a project like this, so I’m happy to release it in to the wild. 🙂

Here’s Why:

The release of the Raspberry

  • We’re now passing the 75,000 unit mark.
  • Another shipment of 100,000 is already in the works and set for fall delivery.
  • No signs of slowing down.
  • More similar boards getting in to the game.

x264 Scene releases

  • The groups that allow us to device-shift content we already have recorded chose on Feb 20,2012 to change the encoding from Mpeg4 to x264 on all shows being released.
  • This cuts out a bunch of older device support, and pulls many people towards a new device (Devices left in the dust: Wii, Original Xbox, VCD players, lower-powered computers, and more I’m not thinking of).

Crowdfunding options (See: KickStarter)

  • RasPi has a huge mindshare, not least of which is because of the video showing it running XBMC way back when.
  • Media centres are common, but finding the right client for Plex has been tricky; there’s no Plex box, and as far as I am aware, there is no Plex client on any device that has an RCA video connection in addition to HDMI.
  • I have seen numerous posts about people being willing to pay for something that works.
  • IMO; Plex has the right idea from a user interface and interaction standpoint; MyPlex is awesome, streaming to all devices with synchronized play counts and transcoding when needed? Yes please.

Outsourcing Options

  • It’s easier than ever to hire great developers, there is even an option of having some of the stars of the forums on the payroll through something like odesk.com.
  • Once the UI is pared right down, the basics of the Plex Client make it an attainable short-term goal.

There’s even some money to be made

Sell Pre-loaded SD Cards

There has always been a market for people who take technically complicated solutions and package them in a simple way; selling an accessory kit with two options: “SD” (3x RCA output) or “HDTV” (HDMI), a preloaded (and approved) SD card with automatic updates, and a decent remote.

Even sell just the accessory kits: Partner with a drop-shipper so the only stock to be maintained are blank SD cards, and even that can be outsourced since it’s just a matter of imaging the card, testing it, and putting it in an envelope.

So, what could this look like?

Visually, I think the Plex team has done some amazing work, with a lot of thought behind everything, so I would definitely suggest teaming with them or at least getting their consent to shamelessly rip off the iOS version‘s design.

For functionality, these are some suggestions for starting points:

  • MyPlex Support (find servers and shows the device as a media player so that the plex iphone/ipad app can be used as a remote)
  • Animations to a minimum (700Mhz ARM after all)
  • Intelligence regarding SD card size (<2GB: disable caching by default, 8GB+; cache as much as possible in RAM-friendly formats, etc)
  • PMS needs to transcode audio from some HD files while leaving the video intact (DTS decoding chokes the CPU when it’s not doing passthrough)
  • Free download installer (a la OpenElec or Raspbmc)
  • On-device updates for Plex, and the RasPi kernel
  • And, maybe; access to overclocking profiles from within the advanced settings (changes the config.txt file with a warning of what happens when it’s flaky, as well as how to change it back if the device fails to boot)

Imagine your name in lights, and TVs around the world literally glowing with the work that you contributed to!

Since this is post #1, I’m going to say a few things so you don’t have to hear them later, and for us to set the goals.

Thanks

Thank you to everyone involved in this entire process: all the way from the people who created XBMC years ago, everyone who still commits code to any of the branches and forks, the designers builders and pushers of RasPi, the stars of the forums, and the online communities that they are a part of, the countless people who work unofficially behind the scenes; metadata miners, admin staff, open source software producers of all kinds… The list is really endless, and I won’t pretend to think that I could voice the respect and gratitude that is due to everyone involved.

A special shout out to people who take action in order to make their visions come true; you are inspiring in every moment.

First of all

…this entire blog is entirely as a work station to work towards my ultimate goals; I’m making it public just in case other people find it useful – I’m very open to being told I’m wrong (if you can back it up), or to new avenues of thought that I had not considered.
If some part of you simply wants to be more right than me; use that to fuel your own search, and don’t put any unnecessary energy in to letting me know.

Where we’re going

A Raspberry Pi that sits comfortably connected to the TV, with no extra storage of it’s own, getting all it’s information from another computer on the network.

The ability to watch “TV Channels” (Not live TV, but from the amazing work done by PseudoTV)

The ability to use a physical remote, as well as iPhones, iPads, and any other compatible device

Kid-friendly: All PG13+ material locked away

Repeatable; Anyone should be able to do this by following step by step instructions, and adding additional Raspberry Pis (Raspberries?) should be as easy as getting the parts and plugging them in.

What we have so far

  • CANADA
  • Mini-ITX server with Ubuntu (currently 12.04 headless)
    • Sickbeard on port 8081
    • SABnzb+ on port 8080
    • a VIP subscription to NZBMatrix
    • Software setup with the help of daemox at ainer.net
    • Plex media server, connected to the automated system and serving every other device in the house
    • 4TB of storage (more storage is always a consideration)
  • Raspberry Pi
    • A KICKASS Minecraft style case made out of Lego (Thank you, Seth 🙂 )
    • Class 10, 8GB SD Card (last tested using “hdparm -tT /dev/mmcblk0” at  40.26 MB/sec reads, and 16.36 MB/sec writes)
    • Small, flexible, wired keyboard
    • Logitech travel mouse
  • an Analog TV with (count em!) 2 RCA Inputs
  • an iPhone 4
  • an iPhone 3GS
  • an iPad generation 1
  • a Macbook Pro
  • an old Mac Mini (G4)

Current Opportunities

Right now, the raspberry feels very sluggish. Based on youtube videos of other people running OpenELEC, my performance is similar, but definitely slower.

No physical remote; using the XBMC remote on the iPhone has a nice tactile feel that’s missing in most other remote apps, but it’s still not very happy with the setup. Also, while apps are cheap, handing an iOS device to a 5 year old and doing something else for an hour is not ideal.

Media Scraping is brutal: Using SMB to point OpenELEC to the same folders that Plex uses has a habit of breaking pretty consistently: thumbnail issues, metadata not properly grabbed when the unit crashes as I test different videos never seems to recover, many episodes are missing and don’t re-scrape, etc.

I’m entirely open to the idea that I’m not being patient enough with the scraping, but I have left it overnight on a few occasions.

PLEX: While I’m over-happy the the state of Plex media server, the metadata, how the iOS devices work, and everything else, there’s very minimal work being put towards an open-source linux solution, which means the best we can do right now is PleXBMC.
While the work done on PleXBMC is to be entirely respected, there’s a lot lost in translation: Any remote app does not show the Plex media since Plex media is not pulled in to the library, and it feels very much like XBMC is getting in the way every time I interact with it

I fully expect no one to be reading this in any sort of time frame, so I’m cutting the salutation – go read a post already! 🙂