About the media hive

Hello, welcome to the media hive, my streaming media management project. With it, you can access your media collection from your web browser, and play your media from anywhere you have internet access.

Here are some reasons to use the hive:

  • It has a feature-rich playlist that you can modify as it plays.
  • It has powerful filtering and smart-playlist capabilities.
  • With it, you can play your stuff from anywhere you have an internet connection.
  • It supports both audio and video.
  • It keeps usage statistics, and can show you lists of what your favorite stuff was for the last week, month, or whatever dates you feel like looking at.
  • It can handle very large media collections.
  • It's really simple to install - just unpack and run. And if it's not what you're looking for, it's easy to remove it from your system - just delete the directory it's in.
  • It's very customizable. There are three different user interfaces available for it right now, so there's probably one that works the way that you want to.
  • It has Badges: images that you can embed in your website, blog, myspace page, forum sig, etc. They can show your favorite artists, albums, or songs, or they can show what's currently playing on your system. They can be any size, can show your favorites for different date ranges, and list as many (or few) items as you want. See the screenshots section for an example.

What's New in Version 0.9.1

Version 0.9.1 introduces iPhone support. Play your stuff on your iPhone! Or use your iPhone as a remote control for your media player or stereo by using the remote control plug-in (available in the downloads section). And of course you have access to all the media hive's catalog and playlist functionality from your iPhone.

More info after the screenshots.


The main menu


The catalog


Tap a catalog entry, and its contents are displayed,
including rating and last played date


The playlist


Tapping on a playlist entry shows usage info,
and lets you interact with it in a variety of ways



If you decide to try out the media hive's iPhone interface, be sure to check out the iPhone info in the Instructions section.

Here are some important points to keep in mind if you want to stream content to your iPhone.

The hive serves your playlist to the iPhone as one big file. This works pretty well, but occasionally the iPhone CoreMedia component doesn't like how a combination of entries fit together, and aborts the session. My experience so far is that this is an infrequent occurrance, and that the remote play capabilities of the hive are quite useable (and fun). Please let me know if you have any problems or suggestions.

Also, because the entire playlist is sent to the iPhone all at once*, it's not possible to do any resampling, so for the moment playing anything over AT&T's EDGE network is pretty painful. WI-FI is awesome, though.

Finally, no usage info (date played/times played) is captured, since the hive can't tell if the iPhone actually played all the way through the playlist.

The above issues should disappear as the iPhone gets better about handling streaming media, so stay tuned.

*CoreMedia is pretty good about fetching data at a reasonable rate, so it's not quite all at once.

Screenshots

The Glow skin supports drag and drop The playlist multi-function menu being used to rate an entry


The Everything Everything skin The Snowblind skin


The Lists screen shows your favorites The Fill Playlist screen lets you load saved playlists, or build a smart playlist


The User Settings interface The System Administration interface


A badge showing what you are currently playing. You can make your badges look however you want: choose the graphics, layout, and the usage info they show. Use it as a forum sig, on your myspace page, website, blog, or whereever.


The iPhone/iPod Touch interface. Supports full catalog access, streaming playback, and remote control functionality.

Requirements

If you're using Windows or OS X, you already have everything you need to download and run the media hive.

If you're running Linux, you need Java 1.4.2 or greater (the JDK, not the JRE). Sun's JVM is recommended; gcj won't work because it's missing some key media classes.

Downloads

The media hive is currently at version 0.9.1 (changelog). If you're upgrading from a previous version, be sure to read the readme.txt file for upgrade instructions.

Download the media hive for Windows (39M)

Download the media hive for OS X (11M)
Mac users: For this release, the media hive needs to be run from a command prompt. This means you need to open a Terminal (Applications > Utilities > Terminal), change to the mhive directory, and type "./mhive.sh" to start the application. Look for a proper application bundle next release.

Download the media hive for Linux (12M)
Linux users: The media hive won't run under gcj (slightly more info in the faq). Also, badges won't work if your system is headless.

Download the media hive for everything else (11M)


Remote Control Plug-Ins

Remote Control plug-ins allow the media hive to control your media player. When installed, clicking play/pause/etc. from the hive will control your media player.

Currently, only the source is available for the plug-ins. The XMMS version has been used a lot and is quite stable. The Windows Media Player plug-in has never been broadly used, although it is fully functional.

The plug-ins are released under the GPL. If you make any changes or improvements to a remote control plug-in that you would like to share, I'd be glad to host them, and will gratefully credit the contribution. (Currently, both versions of the plug-in are hard-coded to use port 5753; adding a configuration dialog would be a big improvement.) Or if you want to create a plug-in for a different media player, let me know - the socket protocol is extremely simple, as you'll see from the existing source.

For usage instructions, see the Instructions section below.

Remote Control plug-in for Windows Media Player 9 and above
Download the source code

Remote Control plug-in for XMMS
Download the source code

Instructions

Installation

Just unpack the file you downloaded and run mhive.bat (Windows) or mhive.sh (OS X and Linux). If you are upgrading from a previous version, take a look at the readme.txt file.


Configuration

Once the media hive is running, point your browser at http://localhost:8080 to log in.

The first time you run the hive, the catalog will be empty. Once you have logged in and selected a skin, you will be taken to the catalog configuration page, which looks like this:




You don't need to configure all the media types; only the ones that you want the hive to catalog. To configure a parser, simply type in the full path to the media files you want the hive to load.


Badges

Detailed instructions for using mhive Badges can be found in the badges.txt file, located in the mhive directory.


iPhone

First off, bind your settings! Go to the user settings page from your iPhone and click the "Bind these settings" link for the iPhone. Once you do this, any settings you change from the iPhone will only be used by your iPhone.

To configure the iPhone to play your playlists, make sure the "Spawn media player" check box is checked on the user settings page.

If you want to use your iPhone as a remote control, remote control plug-ins are available from the downloads section. Also, be sure to read the very next section.


Remote Control Plug-ins

First, install the plug-in in your media player. Then go to the hive's user settings page, and make sure the "Spawn media player" check box is not checked. While still in settings, go to the "Event Listeners" section, check the "Remote Control Event Listener" and then click the "Enable" button. Enter the host name or IP address of the machine that is running your media player, and the port (5753), and click "Save." Now whenever you use the play/pause/stop/skip buttons on a hive interface, it will tell your media player to perform the corresponding action.


Usage Tips

Anything in the Glow skin that has an orange triangle next to it is draggable.

The playlist multi-function menu is available in both the Glow and Everything Everything skins. To access it, click the number of the playlist entry you want to modify. (It will have a little underline symbol, and looks something like this: ) (Internet Explorer seems to require two clicks the first time you access it - I'll try to have that fixed in the next release.)

You can return to the top of any iPhone page by tapping the title bar (on, or to either side of, the time of day).

Skin-specific documentation is available here for Snowblind and Everything Everything. It is also available by following the ? link in those skins.

Contact

If you need any assistance installing or running the media hive, or if you have any suggestions about how to make it better, please drop me a line.


Your name
Your email address
(only required if you'd like a reply) 
Subject

Message



Frequently Asked Questions

? What's the difference between a media type and a media format?
A To the hive, a media type is a broad catagorization of media, like music or movies. A format, on the other hand, is the specific encoding or file format used by a media resource. Examples of formats would be mp3, avi, mpeg, etc.

? What media formats does the hive support?
A Technically, the hive can stream anything. But media resources must be loaded into the catalog in order to be accessable. Currently, the hive can load mp3 and ogg vorbis encoded audio. On the video side, it can import your tv library if you are using MythTV. A general-purpose movie parser is coming soon.

? The hive isn't starting. How can I tell what's going wrong?
A Check the log file. It's called mhive.log, and can be found in your system's temp directory.

? The hive is running, but I can't see anything.
A Make sure that you're looking at a media type that has stuff in it. Each skin has a drop-down list or control that lets you choose what media type to view.

? The hive is running, but I can't play anything.
A Check the user log file. It's called activity.log, and can be found in the hive's install directory, in the users/[username] directory.

? I've just installed the hive on my Linux box, but it won't start.
A The media hive has only been tested against Sun's JVM. Some linux distros come with gcj, which will not work as it is missing some media framework classes. If you have both the Sun VM and gcj installed, make sure the Sun executable is running by typing "java -version" from a shell prompt.

? How can I run the hive on a port other than 8080?
A The media hive defaults to port 8080, but that's easy to change. Simply edit your mhive.bat/mhive.sh file, and add "-port 80" (without the quotes, of course) to the end of the line that starts with "java".

? I'm running Linux, and I can't get badges to work. Any ideas?
A You're probably running a headless system, meaning you don't have a graphical desktop environment (X/KDE/Gnome) active. The media hive (or more accurately, Java) requires access to certain graphics libraries in order to render badges, and these libraries aren't available when running headless.

News

August 7, 2007

Version 0.9.1 is out. This release is all about the iPhone. See the What's New section for details.