Jump to content

MediaBrowser Server on my ARM based beloved Cubox-i


esseki

Recommended Posts

esseki

Hi,

 

i would like to share with this amazing community my project about the perfect low power media center i am trying to build.

 

Some background first :

I am a XBMC user since the begining when i was using it on my Xbox. At this time, HD content was just emerging and the Xbox did not have enough power to decode them.

Then i moved to a jailbroken AppleTV version 1 (the big white model) with Linux and a Broadcom Chrystal HD card. I was perfectly fine with this solution capable for HD contents (both 720p and 1080p). My only concern was only the power consumption of initial AppleTV, as it could not be turned off or even go to sleep. Moreover i wanted to benefit from my videos when i was away from home on mobile devices (phone or tablet). So i started to use DS Video (a nice solution by the way, provided with my Synology NAS). The problem was that i had to maintain two different libraries (one for XBMC and another one for DS Video).

 

Then i discovered the Cubox-i. It seemed to me that it could replace my old AppleTV as the perfect media center device :

  • really tiny form factor
  • totally silent
  • able to run linux distributions
  • capable of hardware accelerated video decompression
  • XBMC has been ported to the IMX6 Soc used in Cubox-i

I pre-ordered one last year immediately. The thing is this little box has so much horsepower (my i4Pro has 4 cores and 2 GB of RAM : around 4 times more than a Raspberry Pi) that it opens to a world of possibilities. Like hosting a centralized media server solution on top of delivering HD content to my video projector using XBMC. If that media server would be capable of transcoding video content on the fly when delivered to mobile devices, my goal would be achieved.

 

This is how i discovered MediaBrowser. Looking for the most appropriate Media server for my needs :

  • fully compatible with XBMC
  • having a linux version
  • having a version running on ARM devices (a big thank to DaBungalow who is maintaining the Archlinux package for MediaBrowser)
  • capable of transcoding
  • and maybe the most important : with a nice / reactive / efficient community (i have been following the forum for a while, i just started posting lately)

For people interested, here are the progress i did already :

  • i installed Archlinux on my Cubox-i4Pro
  • i installed MediaBrowser last stable version
  • i struggled to solve the "image not showing in the web client / libGL dependency" issue
  • i installed XBMC (Gotham 13.2 only for the moment, waiting for a release of Helix compatible with Cubox-i)
  • i struggled with XBMC to get the remote app working via editing config files via SSH (my cubox-i has no keyboard or mouse connected to it) 

and my plan for the future :

  • i have to get XBMC and MediaBrowser work together
  • i have to ensure that MediaBrowser does not transcode video content when it is not necessary
  • i have to update my library with MediaBrowser scrapper
  • i have to talk with MediaBrowser developers about hardware accelerated transcoding possibilities (i have seen one or two threads discussed already in the forum but the most advanced is focused on windows/Intel)

In case anybody would be interested in having more details about the steps I already achieved, don't hesitate to ask. But you should keep in mind that we are still at a really early stage with all the different pieces i mentioned :

  • Cubox-i is one year old only. This is young compared to Raspberry Pi for example. And even if the community is active, it is much smaller.
  • Linux on Cubox-i is not as much advanced as on Intel based computer or even Raspberry Pi. Linux kernel is older.
  • MediaBrowser has not support for ARM based device and Linux support is quite new
  • XBMC Helix, the first official version supporting IMX6 Soc, has been released a couple of weeks ago. The package in the main linux distributions is not available yet.

We are far from a plug and play solution. Every steps requires quite a bit of knowledge with Linux. You should not be afraid with getting your hand dirty. But the result may be worth the efforts.

 

Thanks again to all the persons working in the shadow on building those awesome pieces of software (MediaBrowser and XBMC). You are really doing an amazing work.

 

esseki

 

 

 

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Hi,

 

i have been playing with MediaBrowser for the past two weeks and i can only say : "Wow".

What an amazing work this community has done.

 

Here is what i had on my plate after my first post :

  • i have to get XBMC and MediaBrowser work together

It has not been as easy as i would have expected, nothing impossible though. I am still a bit confused between the "MBCon" and "MediaBrowser" plugins for XBMC. To avoid any doubt, i applied to both of them the settings for the server. It took me a while also to realize that having both services (MediaBrowser and XBMC are installed on the same device) starting automatically when Linux boots, was not a good idea. XBMC needs to be started a few minutes after MediaBrowser to retrieve the library.

It has been also a bit a disappointment when i started to use the Confluence skin ported for MB. It was working fine, but the experience was kind of old school. Then i discovered this other skin : 1080XF MB3. I have to admit that among all the XBMC skins i have been testing these past years, this one is by far the best for me. Well done @@im85288 !!! I love your skin. I didn't finish to set all the refinements offered by the skin but after launching it for the first time, i knew that the combo MediaBrowser server + XBMC was the best move i could have done since i jailbroke my first Xbox to install XboxMediaCenter on it.

  • i have to ensure that MediaBrowser does not transcode video content when it is not necessary

Let say that this part is still ongoing (for everything related to mobile devices). But i can already confirm that nothing gets transcoded when it is processed by XBMC. And that's the most important (for now).

To give you an idea, on the Cuboxi4Pro, here is a top when reading one full HD movie :

 

Vidéo

Codec : H264
Profil : High
Niveau : 41
Résolution : 1920x876
Ratio d'aspect original: 160:73
Anamorphique : No
Entrelacé : No
images par seconde : 23.97599
Débit : 8921 kbps
Profondeur en Bit : 8 bit
Format de pixel : yuv420p
Image de référence : 4
CABAC : Yes

Audio
Langue : eng
Codec : DCA
Profil : DTS
Répartition : 5.1
Débit : 1500 kbps
Débit échantillon : 48000 khz
Défaut : Yes

 

54bc1dfd68ed2_play.png

 

As you can see the load is acceptable.

 

Here is another top when the system is idle after a few minutes of inactivity

 

54bc1e3d47083_idle.png

 

Contrary to @@nekromantik, i dont feel the skin a bit slow on this ARM device, even when it acts as both the server AND the renderer (when movies are watched using XBMC in my case). 

  • i have to update my library with MediaBrowser scrapper

This is still an ongoing task. It takes a lot of time. I have almost finished scrapping my TV shows, i have to process the movies. Let's be direct : i love the metadata manager accessible via the web interface. There is no "out of the box" equivalent for XBMC. I think some plugin exists allowing to do the same, but MediaBrowser's metadata manager is freaking good. My only frustration at the moment : contrary to XBMC, i can not get the scrapper fill correctly the data related to season for a TV show. Mainly the summary is empty, as you can see on the screenshot below.

 

54bc2055e181e_metadata.png

 

This is a pity as my favorite views in the skin do expect this kind of content.

  • i have to talk with MediaBrowser developers about hardware accelerated transcoding possibilities (i have seen one or two threads discussed already in the forum but the most advanced is focused on windows/Intel)

Again, this is an ongoing task. But i am following with a lot of interest this post "GPU Transcoding (Intel QuickSync and nVidia NVENC)" from @@mjb2000.

I have also created a post "MediaBrowser Server - Switch from FFMPEG to GStreamer" but i couldn't dedicate to it as much time as i would i liked. This is still on my plate.

  • on top of the above, i have spent some time to install Kodi Helix to replace the version of XBMC Gotham 13.2 i was using. Talking about updates, i need to find a way to update to the last stable version of MediaBrowser server without losing either my settings or all the work i did on my library. In my case this is not as easy as updating a package as i need to compile it for the ARM based Cubox.

As you can see i still have a lot of fun for the coming weeks  ;)

Edited by esseki
  • Like 1
Link to comment
Share on other sites

What is MBCon? I've never heard of that.

 

In any event, welcome!

 

Only thing I would add is that with Kodi there are two options. You can use our add-on which will provide Media Browser features via customized skins. Or you can use Kodi stand-alone and just use the server to create nfo metadata. 

Link to comment
Share on other sites

Macburp

Well, I've heard this Cubox mentioned, but had up to now seen very little on it. Looks a very interesting piece of kit. I think I'd be more interested in running Android on it though - not a fan of XBMC.

Link to comment
Share on other sites

Hi,

 

What is MBCon? I've never heard of that.

 

@@Luke : MBCon is a XBMC plugin available in the MediaBrowser Beta XBMC repository (it is also available in the non Beta repository). It seems to be installed automatically (i'm not 100% sure about this) when MediaBrowser plugin for XBMC get installed. It asks for the same kind of settings (Server IP, account to login, etc) as the MediaBrowser plugin. See screenshot below :

 

54bc2693ec0de_IMG_1002.jpg

 

Only thing I would add is that with Kodi there are two options. You can use our add-on which will provide Media Browser features via customized skins. Or you can use Kodi stand-alone and just use the server to create nfo metadata. 

 

I know but even if this adds a bit of latency when browsing the library, i like the client/server approach. Mainly when i see the quality of customized skins like "1080XF MB3". By the way, you replied to my previous post before i finished editing it  ;)

 

@@Macburp : Cubox-i is an impressive piece of hardware. Even if the community is not as huge as Raspberry Pi's (two years older), i can easily get support and i can find a lot of help in well documented forums. I have never tried to install Android on my Cubox-i. Android can not fit my need : i need a server environment to execute different piece of software related to audio/video entertainment (and i'm not afraid of commands or shell). One year ago, when i bought the Cubox-i, i could read on the forum that versions of Android were poor for this device. I have no idea where they are at now but i don't think you should expect a plug and play experience with Android like on your smartphone.

Edited by esseki
Link to comment
Share on other sites

@@Luke : could the reason be that there is no French content available for the season summary on themoviedb ? See this link that shows the season scrapped in my screenshot above (The Simpsons - Season 6).

In this case is there any possibility to fallback to another language (english) when scrapping instead of having no content at all ? Did i miss a setting in MediaBrowser server ?

Link to comment
Share on other sites

yes that's the reason. it used to fallback and then themoviedb removed it. so if we want to have the fallback we have to add it ourselves.

Link to comment
Share on other sites

Macburp

@@esseki, having cast around a little bit it seems that there is not a huge support group out there for the cubox-i, which worries me. Did you ever consider an Asus chromebox? Seems to be the ideal hardware for a Linux media centre. Thoughts?

Link to comment
Share on other sites

@@Macburp : don't get me wrong, i'm not trying to convince people that my personal choice can suits everybody's need. You are right, there is no support for Mediabrowser on  Cubox-i or even on ARM devices yet. All of this is still at an early and experimental stage that should discourage the persons looking for a plug and play solution. I agree with you a Chromebox is definitively a better solution for people who can afford one. I just wanted to share my experience and the fun i'm having playing with those little computers (Cubox-i, Raspberry Pi)  :)

  • Like 1
Link to comment
Share on other sites

 

 

yes that's the reason. it used to fallback and then themoviedb removed it. so if we want to have the fallback we have to add it ourselves.

 

@@Luke : i found a solution to proceed the fallback manually by scrapping a second time my library for "missing information only" after having changed the metadata language in the server setting but :

- finally there are not that much content available on themoviedb.org for season's overview

- and it is a bit of work.

I'm wondering if it is worth the time i may spend.

That could be an idea of improvement for a future version of the server : offering different languages to fallback when metadata are missing like the do in XBMC. 

 

By the way ay suggestion how to backup my servers settings and my library before i try updating to the last stable version of MediaBrowser ?

 

Thank you in advance.

Link to comment
Share on other sites

mjb2000
  • i have to talk with MediaBrowser developers about hardware accelerated transcoding possibilities (i have seen one or two threads discussed already in the forum but the most advanced is focused on windows/Intel)

Again, this is an ongoing task. But i am following with a lot of interest this post "GPU Transcoding (Intel QuickSync and nVidia NVENC)" from @@mjb2000.

I have also created a post "MediaBrowser Server - Switch from FFMPEG to GStreamer" but i couldn't dedicate to it as much time as i would i liked. This is still on my plate.

 

 

Hi esseki - There is an ffmpeg with QuickSync that is ready to go on Linux - But I am unable to compile it because it requires a whole bunch of hearers which I understand come from having Intel graphics drivers installed, which I understand involves messing around with kernel headers which is all way beyond me. But if you can get it it compile then that might be easier than switching the entire transcoding engine?

Link to comment
Share on other sites

Hi @@mjb2000,

 

i understand your point. Willing to change the entire transcoding engine can sound like ambitious or maybe useless considering the huge work you have already done.

The thing is on the low powered ARM devices that i am fond of (Cubox-i or Raspberry Pi) there is no Intel chip. So no way to benefit from your work.

There is an hardware H264 encoder and decoder that can be useed, but it has nothing in common with Intel or NVidia chip.

I don't know if it is easily feasible but could we imagine different solutions to handle harwdare accelerated transcoding on as much hardware as possible ? After all this seems to be the philosophy of MediaBrowser developpement team : having their software working on as many OS / devices as possible.

For example we could imagine giving the possibility to users to have :

  • FFMPEG accelerated with QuickSync on Windows / Linux for Intel owners
  • FFMPEG accelerated with NVenc on Windows for NVidia owners
  • Gstreamer accelerated for Bradcom chip on Linux for Raspberry Pi owners
  • Gstreamer accelerated for Freescale chip on Linux for Cubox-i owners
  • and certainly tons of other combinations if we succeed in porting MediaBrowser to Gstreamer

I know this won't be an easy challenge, but i think this would widely open the transcoding possibilities of MediaBrowser to as many users as possible ,whatever the hardware they owe.

Edited by esseki
Link to comment
Share on other sites

thefirstofthe300

Hi @@mjb2000,

 

i understand your point. Willing to change the entire transcoding engine can sound like ambitious or maybe useless considering the huge work you have already done.

The thing is on the low powered ARM devices that i am fond of (Cubox-i or Raspberry Pi) there is no Intel chip. So no way to benefit from your work.

There is an hardware H264 encoder and decoder that can be useed, but it has nothing in common with Intel or NVidia chip.

I don't know if it is easily feasible but could we imagine different solutions to handle harwdare accelerated transcoding on as much hardware as possible ? After all this seems to be the philosophy of MediaBrowser developpement team : having their software working on as many OS / devices as possible.

For example we could imagine giving the possibility to users to have :

 

* FFMPEG accelerated with QuickSync on Windows / Linux for Intel owners

* FFMPEG accelerated with NVenc on Windows for NVidia owners

* Gstreamer accelerated for Bradcom chip on Linux for Raspberry Pi owners

* Gstreamer accelerated for Freescale chip on Linux for Cubox-i owners

* and certainly tons of other combinations if we succeed in porting MediaBrowser to Gstreamer

 

 

I know this won't be an easy challenge, but i think this would widely open the transcoding possibilities of MediaBrowser to as many users as possible ,whatever the hardware they owe.

There is a thread in the feature requests forum for porting to Gstreamer and Luke said that if someone who knows Gstreamer well can be found, he is willing to work with them to make a port happen.

 

Sent from my Nexus 7. Pardon my spelling. :)

Link to comment
Share on other sites

mjb2000

Apologies esseki - I thought you were looking for QS on a Linux server and that little box was for playback - now I see you are planning for the box itself to be the server.

 

I think what you say makes sense and if there are alternative ways of accessing hardware functionality it would be great to investigate these as long as things don't get too fragmented.

 

Are you sure the CuBox has a hardware h264 encoder? - I have seen many mentions of its h264 hardware decoder, but not an encoder. Do you have a link to an example of how to use hardware encoding on the CuBox? Maybe it would be possible to integrate that library in to ffmpeg in the same way I've added both QS and NVENC to the Windows build?

 

M

Link to comment
Share on other sites

@ : i know the thread you are mentoining (http://mediabrowser.tv/community/index.php?/topic/16869-mediabrowser-server-switch-from-ffmpeg-to-gstreamer/), i'm the one who created it ;)

 

I thought you were looking for QS on a Linux server and that little box was for playback - now I see you are planning for the box itself to be the server.

 

@@mjb2000 : actually i don't have anymore at home a PC (with Intel CPU and NVidia GPU) acting as a server that could execute MediaBrowser server. I like the power efficiency and silence of low powered devices. So my setup is composed of :

  • a Synology DS 411 Slim NAS
  • two cubox-i : one running Volumio for high def audio, the second one running MediaServer + XBMC
  • a laptop that i start when i need it
  • mobile devices : tablet an smartphone (that's the reason why i'm interested in transcoding :rolleyes:)
  • a 1080p video projector
  • a Raspberry Pi that i use for experiments

 

Are you sure the CuBox has a hardware h264 encoder?

 

Absolutely. Check below the spec from the official website (http://www.solid-run.com/products/cubox-i-mini-computer/cubox-i-specifications/) :

Video Decoders: MPEG-4 ASP, XVID, H.264 HP, H.263, MPEG-2 MP, MJPEG BP, VP8, Sorenson-H263.
Video Encoders: MPEG-4 SP, H.264 BP, H.263, MJPEG BP
Image Codecs: JPEG, BMP, GIF, PNG.
Audio Decoders: AAC, AACPlus, MP3, Vorbis, FLAC, WAV
Audio Encoders: SBC, MP3.
Speech Codecs: G.723.1, G.726, G.711, G.729AB,NB/WB AMR.

 

Do you have a link to an example of how to use hardware encoding on the CuBox?

 

Sure, you can have a look at the thread mentionned by DaBungalow : http://mediabrowser.tv/community/index.php?/topic/16869-mediabrowser-server-switch-from-ffmpeg-to-gstreamer/

If you want to save some time, here are some links i took inspiration from to start this Cubox-i based media center :

Edited by esseki
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 8 months later...
esseki

Hi there,

 

I would like to share with this community some feedbacks after a bit less than 9 months of usage of Emby with my Cubox-i 4Pro :

 

1. first of all since i have updated Emby to the latest stable version (3.0.5724.6 + Mono 4), i have to admit that it is extraordinary stable :

  • i have no more errors in the server logs when launching and running emby. This makes a huge difference with all the previous versions i have been trying since January.
  • for the first time, i could run the "chapter images extraction" task. Before, the usage of FFMPEG to retrieve images was so much intensive that the Load Average of the Cubox was sky rocketing and the server was finally crashing. I had to deactivate the task in the server settings. Don't get me wrong, I don't think that "chapter images extraction" is a killing feature, and i did not miss it in the past months. But the fact that FFMPEG does not crash anymore the server when being used is for me a very positive sign of stability for this platform. In the end, it took 12 hours to scan my 2TB library but it finished properly and now i have chapter images for every movie. So I decided to reactivate the task in the server setting. I will monitor its behavior in the coming days.
  • The server does not lag anymore when trying to serve the movies artworks. Before, just by browsing my library in a browser (by the way i'm a big fan of the web client UI), the Load Average of the Cubox-i was going up and it was lagging to render the movies thumbnails (in the list views). Today, list views are rendered very quickly and the little box does not suffer anymore. 

Globally, i have now the impression that the software is as stable as it could be on a windows computer. Considering that the Cubox-i is running Linux (and Mono to execute the .Net code) on an ARM CPU (not even a X86), it sounds like an impressive achievement to me. So congratulation to the Dev Team !!!

 

2.  then I wanted to give some feedbacks about the two items that were left on my list back in January :

 

2.1  "i have to get XBMC and MediaBrowser work together"

 

For this one, i have to admit that the development team made again a miracle. I have always been a big fan of XBMC. So when the development team announced a new XBMC plugin to synchronize the local XBMC library with the remote Emby library, i have been part of the first ones to try it. Now after several months, i can say that this new plugin was definitively the way to go (compared to the skin approach from the beginning). It works like a charm and it is being improved at a pace that does not even let me try all the new features. Developers are adding features even before i realize that i need them. My only advice to people : try it, you won't be disappointed.

 

2.2  "i have to ensure that MediaBrowser does not transcode video content when it is not necessary"

 

This is the topic that made me the busiest during all these months. Just to explain my setup, i have a video projector connected to a XBMC box in the living room, but i have always wanted to be able to stream my same contents (the one i watch in my living room in high quality) to mobile devices (mobile and tablet, iOS and Android). The problem with mobile clients was that the server was always transcoding the movies. I quickly forgot about the official iOS and Android mobile apps as the only type of content that they could render without transcoding was H264 movies. So i have focused on DLNA clients, as there are a lot of settings available on the server side to control transcoding. But after so many attempts and months of effort, i have to admit that DLNA mobile clients do not match my expectations  (no metadata about the movies, user experience that is very poor, library synchronization that is slow, etc).

 

I was kind of stuck and wondering if Emby was the appropriate solution to my needs, until ... the latest version of the Android native mobile app. The one that started to include the libVLC. And it changed everything. All my movies are now streamed without any transcoding to my Android devices. I could not believe it when i tried, but for now i have to admit that it works exactly as i was expecting it (considering that my mobile devices have the horsepower to handle the rendering of the different files format).

 

So i'm now anxiously waiting for the new native iOS app, visiting daily the forum topic looking for some news from the dev team. I hope the new iOS native mobile app will be able to render movies without transcoding like the Android one. If this is the case, i sweare in front of this community i will take a lifetime subscription to reward the development team and their hard work to make this amazing piece of software that i'm having so much fun to play with.

 

esseki

Link to comment
Share on other sites

Unfortunately the ios app won't have that as it will be using the native player. But if you like the direction emby is headed in then supporting the project is the best thing to do as it gives us more ability to continue to improve the apps.

Link to comment
Share on other sites

  • 1 month later...

As a cubox-i user (I run OpenELEC on it, but I'm looking for a change), I'm very interested in this project! I've been trying to figure out how to run XBMC/Kodi AND Plex AND transcode my library to my Android devices all while using the cubox-i as the hardware platform to pull it off. Needless to say, I've had no luck... until I discovered this thread! Now I'm just hoping a flashable SD card image will be released and BAM! Off to the races!

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...