[WIP] Installing SubSonic on the MBL

So, I have ‘successfully’ installed and mostly configured SubSonic media server on the MBL. It has been quite an adventure, to say the least. The hardware is… somewhat… limiting, and the OS structure is… unconventional. This limits the multimedia capabilities. The real hit is the single-core design. It really does not work well on servers. The PPC architecture is not as much of a problem as I had feared - the Debian community has a well-stocked repo for PPC packages.

A guide will likely be forthcoming, but here’s what I have so far:

  • SubSonic is installed and running, accepting clients and serving media.
  • I was able to install it with the standard Debian package from subsonic.org, after installing openjda-6-jre.
  • UI is… sluggish at times. I’m not sure why. It seems random.
  • It will not work if mediacrawler is active. I just kill -9 it. Doesn’t seem to have a negative impact on basic NAS servicces.
  • Currently has to run as root, working on changing that. I’d rather have it set up with a dedicated daemon user, but that has proven challenging for some reason.
  • Java is a FREAKING FATTY-FAT McFATSO. It eats more than half of the available resources when subsonic is streaming MP3 audio to a single remote client. I do not know if this scales linearly, or what the scaling factor is yet.
  • Transcoding video is going to be a no-go. I am able to shoehorn a current version of ffmpeg in, so it’s physically possible to do it. However, it transcodes at ~2 FPS, since Fatty McJava is hogging all the resources. So, streaming video isn’t going to happen.

Any alternate suggestions? I’d like to have streamable video transcoding available.

1 Like

Yeah the single core is very limiting indeed. The things I have installed so far run pretty good on the MBL but it sounds like SubSonic may not be worth any more effort due to hardware limitations. I dunno if there is anything out there that would transcode audio/video on this little box but I could be wrong.

Will give you a shout if I find anything

ffmpeg seems to be barely holding its own transcoding FLAC on-the-fly. It transcodes faster than it streams, at least. There’s definitely a bottleneck somewhere, but I haven’t been able to nail it down yet. I’ll keep working on it, because… well, I’m a professor and it’s final exam week. I have nothing better to do.

Although now I have a larger concern - heat. Even if I can get stable transcoding/streaming going, this box was not intended to handle heavy loads. The CPU generates a lot of heat, but there isn’t any active cooling. Or even decent heatsinks. While it may not really cook it, it will definitely shorten the lifespan.

So the next question is… how moddable is the hardware…

If you get REAL bored, try getting Ajenti installed and the admin page to load. I messed with it for a couple of days and could get it installed but could never get the dashboard to load in the web browser

http://ajenti.org/

Do you know if the My Book Live Duo has the same hardware that the single disk MBL, or if it’s different?

*sigh* Unfortunately unlikely… Ajenti in Verbose mode

MyBookLive:/etc/ajenti# /usr/bin/ajenti-panel -v29.04.2013 19:10 standalone.py:93 INFO Ajenti 0.6.3
29.04.2013 19:10 standalone.py:101 INFO Using config file /etc/ajenti/ajenti.conf
29.04.2013 19:10 standalone.py:116 INFO Detected platform: debian
29.04.2013 19:10 plugmgr.py:318 INFO Plugins loaded.
29.04.2013 19:10 components.py:123 DEBUG Registered component: health-monitor
29.04.2013 19:10 components.py:123 DEBUG Registered component: confmanager
29.04.2013 19:10 confmanager.py:102 DEBUG Registered configurable: ajenti <ajenti.plugins.config.main.AjentiConfig object at 0x1059c8d0>
29.04.2013 19:10 confmanager.py:107 DEBUG Registered configuration hook: <ajenti.plugins.recovery.api.RecoveryHook object at 0x1059ceb0>
29.04.2013 19:10 components.py:123 DEBUG Registered component: updater
29.04.2013 19:10 standalone.py:130 INFO Listening on :8181
29.04.2013 19:10 standalone.py:140 INFO Using HTTP server: gevent
29.04.2013 19:10 standalone.py:158 INFO Starting server
29.04.2013 19:11 application.py:262 DEBUG Dispatching /
192.168.0.22 - - [2013-04-29 19:11:24] "GET / HTTP/1.1" 200 3496 1.038971
Segmentation fault

 So… http request = segfault. Not sure where to start with that one.

Timmy1024 wrote:

Do you know if the My Book Live Duo has the same hardware that the single disk MBL, or if it’s different?

I believe its the same hardware

@ addchild314 Well that explains why I was having such a hard time with it

Timmy1024 wrote:

Do you know if the My Book Live Duo has the same hardware that the single disk MBL, or if it’s different?

Not quite, but close. The Duo has the extra RAID hardware and sata lane for the second drive. The mount points are a bit different as well, I believe.

Oh, plus the onboard USB controller. MBL Solo doesn’t have one of those. I wish it did, but it doesn’t.

Actually raid is software based on the DUO… No raid controller hardware

nfodiz wrote:

Actually raid is software based on the DUO… No raid controller hardware

My apologies, I was referring to the extra SATA hardware necessary to connect the second drive.

To follow up on the temperature thing, /usr/local/sbin/monitorTemperature.sh runs scripts based on the system temperature. I could have it stop all of the heavy processes when it gets too hot.

Hi Child,

Any (good) news with this project? :slight_smile: Would you please post at least a draft on how to install them so I can try to reproduce it on my device and share the results?

I know I’d HATE to have running Java (I hate Java) or my poor little device, but I’d really like to have streaming audio capabilities to my Android device. I’m currently streaming via SFTP with a file called ES File Explorer which features a built in media player and manages the streaming by itself, but I’d like to change that app (use another file manager) and also avoid the gaps between track changes (like 5 ~10 seconds) in which it seems to start downloading the next file. The good thing about it is that it works on native SFTP and doesn’t require any extra overhead for that!

Thanks

i have it working and (pretty) stable. Java uses a TON of resources, but the MBL seems to be able to handle it. The guide is going to take a couple days - final exams just ended and now I have to grade them… Hopefully will get it up this weekend.

For reference: it can transcode and stream FLAC audio fast enough to stream nicely. And there isn’t a noticeable playback gap

Great about the FLAC transcoding! In which client are you testing it? Windows, Android?

On the Android client over 4G, it takes a moment to download enough of the song to play at first. But it caches it, so that isn’t a huge problem.

It works beautifully on the web client, both remotely and from LAN.

Great :D, I’ll wait for your guide then.

Got subsonic up and running in about 5 minutes. The GUI is slow as…

When you mean GUI… what do you mean? Via Web? Or what is this GUI?

Care to throw a draft of the steps to install it? No fear to brick it - my device already is :P. Hopefully it won’t use Apache or PHP because they don’t work!

Yeah the SubSonic webpage… I used lame for the transcoder at first, now I’m switching over to ffmpeg to get flac transcoding working. Will post back results