- Michael J. Hammel - https://www.graphics-muse.org/wp -

Raspberry Pi: Kodi vs PiBox use case comparison

PiBox is part of miot. [1]

pibox [2] is a member of miot, which is a brand I'm using for a variety of solutions I'm working on for the raspberry pi [3]. “miot” stands for “My Internet Of Things”.

I've been working on PiBox [4] now for a couple of years.  The immediate goal is a consumer-oriented device for video [5] playback while not connected to the Internet.  In other words, play movies while camping.  I have longer term goals for it, but that's where the project is aimed currently.

At home I used to use XBMC (now known as Kodi) [6] on a big-metal server sitting behind my big screen TV for media services.  It's primary use was to play the 500+ movies I've ripped to ISO images.  That machine hasn't run in quite some time as it got quite hot behind the TV and I think it basically died.  Instead, we have a Roku [7] hooked up to that TV and we stream hulu [8], Netflix and amazon [9].   The problem with the roku [10] (and other streaming boxes and sticks) is that none seems to support playback of locally stored videos.  So I still have a use for xbmc [11] (re: kodi [12]) type software.

I could use PiBox for this but because the omxplayer doesn't support ISO images I would have to rip all my ISO's into MP4s.  That's doable, but my wife likes to have the dvd [13] menu system and the ability to add and remove subtitles.  So MP4s by themselves are not sufficient for this use case, at least not without external subtitles ripped separately.

So I installed OpenELEC [14] on an sd card [15] and brought it up on a Raspberry Pi Model B+ [16] with a wifi [17] dongle.  Setup was simple enough and I was able to connect to my nfs [18] export video collection quite easily.  They even do an NFS query something akin to an SMB query.  I didn't know you could do that.  Anyway, it automatically found my exports and I was able to configure them without any fuss.  I then did a library update [19] and had all the posters I needed, though some are incorrect.  Those can be fixed later if necessary.  The update found all the ISO images plus the mp4s, since both are on the NFS exports.

I then tried to play a movie ripped as an ISO.   The Pi was not overclocked [20] and loading the initial videos leading to the menu took quite some time.  Eventually the loaded and played, albeit with lots of jumpy behaviour.  I didn't have audio hooked up at the time.  I tried to jump the DVD menu but this never displayed correctly.  I was unable to play the movie.

Next I tried overclocking the Pi.  The lead-in videos didn't play and I was only able to see the text for “Play Movie' from the DVD menu.  I managed to start the movie and it played modestly well but still with too many freezes and jumps.  Due to the nature of the video playback [21] I never tried testing the audio playback.

What this tells me is that the ISO use case is not well supported on the Pi.  At least not the Model B+.  The Model 2 [22] might fair better.  I don't have one yet and won't be getting one for a while due to changing jobs.  It also tells me that the trailer use case – the use case for PiBox – would be much simpler to use if I just used PiBox and ripped everything to MP4s.  However, I will have to add configuration support for using separately ripped subtitle [23] files.  The VideoFE app, which wraps omxplayer, doesn't have this yet though omxplayer apparently supports it.

So my design of PiBox with the specific use case of MP4s seems to be a better solution than Kodi if all you want to do is playback your locally ripped videos on a Raspberry Pi.  That's good to know.  I like Kodi and use it on my desktop.  But it's not necessarily the right app for a device like the Pi given all use cases.  As a side note, I designed the VideoFE to use whatever playback tool you choose, so it could be used on my desktop as well.  I would just swap out omxplayer with xine or mplayer [24].  I haven't tried that yet, but intend to before too long.