Thanks for starting the thread, Jon.
There are two main categories of media server at this point in the state of the technology.
- Standalone hardware with embedded software. Output: digital and/or analog audio.
- General computer hardware running software package(s). Output: both audio and network stream.
There are real differences (and subsequent pros and cons) between these categories. However, ultimately both of these platforms are actually computers, running a software package called a server that is designed for media file playback. From here on, I will refer to category one as 'fixed function' and category two as 'general purpose'.
It is important to keep in mind, however, that both are actually computers.
Just what is a 'server'? A server is actually a software program that
runs on a computer. It is
not a computer. Unfortunately, the term server has often been used to refer to a computer in another location.
Your computer's web browser is a server that is running on your local computer. It accesses web pages on computers running web server software somewhere else in the world, feeding your browser the actually data composing the web page.
The location of the computer that the server software runs on is only relevant to the way the server software is designed to be implemented. It can be run on a computer that resides in the same room as the user. A user listening on an iPod, playing a song on iTunes is an example of a server operating on a local computer. Yes, an iPod is a computer and iTunes is actually a media server. This is an example of the 'fixed function' category.
A server can also be run on a computer that is on the other side of the planet. An internet connected computer playing internet radio is an example of this.
Before we leave this basic discussion of severs, let's describe what a media server software package does. Regardless of platform category, all media severs must have the following functionality.
Functions:
- Recognize the location of secondary storage. This includes recognizing when storage has been added to the system. Ascertaining the availability of storage space is also a requirement.
- Add media. In computer terms, this means accessing a database to add a new item, then open a newly created file and write it to secondary storage. On a total one-box standalone system with built in secondary storage, the database is proprietary and part of the server software. If secondary storage is on external hard disk, it is usually the NTFS file system.
- Read and play the media. In computer terms this means it must locate the file, and stream the contents of the file to the specified output in the correct file format. That output format could be digital audio (PCM) for direct distribution to an audio system. It could also be in a streaming media file format such as WAV, FLAC, MKV, etc. for distribution over a network.
- Provide a user interface that gives the user the ability to add media, and then find and play that media.
With the basics covered, let us look at a general description of each platform category.
Standalone Hardware with Embedded Software.
Output: direct audio (either analog, digital or both).
This is the one stop shop of media file servers. It comes with all of the hardware that you need (with the possible exception of storage for your media).
Some of these devices come with on-board secondary storage, some do not. Either way, it also comes with the server software embedded in its memory. You select a unit that (hopefully) has all of the functionality that you want, buy it and connect it to your audio system.
This is still a computer, but it is designed with very specific function in mind. The computer's software is embedded into non-volatile on-board memory (NVRAM). The advantage to this approach is that such software is written in a very low level language, such as C, assembly, or a combination of the two. These languages run very fast (when compared to high level languages used to write most media servers written for general purpose computers). Also, the user interface (which is largely what the software implements) is very fast since it is already loaded in memory. On a general purpose computer platform, the server software must be retrieved from secondary storage, then loaded into RAM. Only then, can it respond to a request to play media.
That does not mean that file access is faster on a 'standalone' platform than on a 'computer' based platform. Media files are often humongous, and are stored on hard disk drives in both cases.
Media file storage and access times depend on the speed of these disks (and to a degree on how they are interfaced with the computer) regardless of the category of media file server ('fixed function' or 'general purpose' based).
Note that
the system here is also essentially a closed one. Functional addition may be possible through firmware updates, but are limited due to the fixed amount of on-board memory. When OPPO added .iso file support to the BDP -93, (for DVD-Video, DVD-Audio, and Blu Ray), it was through a firmware update. The term 'firmware' refers to the fact that software that is already loaded (embedded) in non-volitile memory is being updated.
Note the large difference between computers that store all of their application software in embedded memory (NVRAM), and computers which store software on secondary storage (hard disks, or SSDs). I know of no standalone media server that has a way to add memory. So space for a larger server program that adds function has a limit on standalone hardware. Since the server software resides in secondary storage on a 'general purpose' platform, there is virtually unlimited space available to add functions to the server program.
Also, there may be functional limits due to hardware design on a standalone platform. For example, The as LizardKing points out, the OPPO BDP-83 has hardware limitations with USB drives. While a general purpose platform can have hardware limitations, most computers can have hardware upgraded easily.
Computer Hardware Running Software Package(s)
Required Hardware: Any computer running any Operating System that has at least an analog or digital audio output.
Optional Hardware: A computer to audio system interface. A wired or wireless based network capable AVR or preamp/processor. A smartphone that has an available app to control playback.
Software: Any software package (or multiple packages) that can run on your OS to play media files.
Software Categories: 1. Streaming (DNLA 1.5) file server. 2. Computer Media File Playback Server. 3. File conversion software.
General description:
This is the most open platform which could, at least in theory, have the greatest functional capabilities as a media server. It also has much less limitation as to the ability to add secondary storage.
For example, the OPPO BDP-93 (as of now) does not support hard drives larger than 2 TB. A general purpose computer running a modern OS has no such limitation.
Furthermore, a general purpose computer can usually have a greater number of locally attached secondary storage disks than a standalone hardware unit. Again, citing the OPPO BDP-93, there are two USB inputs and one eSata input for directly adding storage. The USB or the eSata interfaces can be used, but not simultaneously. Some users have reported the ability to add powered USB hubs to add drives to the BDP-93, but the more drives you add, the longer it takes the OPPO to 'see' the drives. Adding a hub increases this time as well. My Macbook Pro also has only two USB ports, but it also has a Firewire port and a Thunderbolt port. So I could add many more drives to it than I could add to the OPPO.
Note that I am referring to directly attached secondary storage, as opposed to Network Attached Storage (NAS). Both the OPPO and a general purpose computer can access NAS drives. However, NAS immediately adds another level of complexity. Also, some servers cannot support some file formats when accessed over a network. Again, this is one of the limitations of the OPPO BDP-93. It can't accept .iso files streamed over a network. A general purpose computer has no such limitation, assuming the file server running on it can read the file.
Paradoxically this configuration is both the most daunting platform to create and use, yet it may be where a newbie should start in his or her quest to learn about media file servers.
At this point, I need to make a quick disclaimer: I feel it important to show that I have computer and audio chops. I am not trying to brag, nor am I seeking employment. I want to give a little context to my experience, opinion and point of view. That's all.
I have a background in software quality assurance (at Kodak) and technical support (Apple and GTE), and am about to complete an Associate's degree (AAS) in programming Java, C++, with a database programming certificate. My GPA is 4.0 . I also have a one room recording studio, with over 30 years of pro audio experience as a semi professional engineer.
I have found learning how to create a multiple function media server on a general service computer to be a real PITA.
Why? You must first decide between the myriad software options. Then, once you get a package installed and working, you realize that there are more functions than you want (or need) to learn how to use. More frustrating, is that often you can't figure out why a needed function doesn't work for you.
Then the server version changes. You check the list of changes in the new release. Maybe there is a bug fix that solves your earlier problem, so you install the update. If you are lucky, the fix works. Then you find out that something that was working has just broken. It can be absolutely maddening.
Let's say everything goes hunky-dory and everything you want from your server works as it should.
But now you want to add support for additional file formats which are not supported in your present server. Adding a second media server can have unintended operational consequences. For example, both servers want to be the default program for specific file formats that they support. Watch out, there is inevitably duplication! Sometimes you can get both to work with only the files you want, but sometimes low level files get messed up and for one of these file formats the default program's low level file gets trashed. Now neither server works without some real attention.
At the very least, if you chooses the open system path, expect to spend a lot of time pursuing this goal. Have patience. Do some research. Get to know one software server. Learn to use it thoroughly before adding a second.
Do not think I am totally against this approach. It simply has a steep learning curve.
So why on earth would I suggest anyone might want to start his or her quest for a media server on this platform? Actually, I tried this approach first, and was really frustrated. So why have I not changed my mind?
- I think it is the best way to really learn about the different media file formats.
- Media on the internet is available in many different file formats. You can't simply limit yourself to one or two formats without limiting the downloadable music that is available to you.
- If you learn about how to work a media server, and understand the details of file format differences, learning file conversion software is much more easy.
- You will need some general purpose computer skills to arrange the files on your hard drive so that you can find specific music you want to play.
- Much downloaded media comes compressed. You need to learn the software to expand files compressed in .rar format (for example).
So let's say you decide to buy a Pioneer Elite N-50 standalone hardware media server. Here's a link to a description.
http://www.audiostream.com/content/pioneer-n-50-elite-networked-audio-player
It has no on-board media storage. Its function is simply as a file input/read/output to audio device. It can input media from a network via computer. Or it can take a USB storage device. But you still have to organize the media in files and folders, so you need a computer and some basic skills. Note also that it has limited file format support. In fact the list of supported file formats is really short. So if you buy this device, you better learn how to use file format conversion software.
Check my list. Even though the N-50 is relatively easy to use, you still need a computer and many of the skills that are listed above to get the most out of it.
Actually, starting with either approach leads directly to both approaches. I now use my OPPO exclusively as my media playback server, but I do all of my file structure work, file conversion work (mostly for video, not audio), and media addition on my Macbook Pro.
By the way, this has practical implications that I did not appreciate as a newbie when I first got the OPPO. The OPPO was inside my audio system cabinet. So accessing the rear USB input was not fun. I use a two bay enclosure which came with a mini-USB terminal on one end, and a standard USB terminal on the other. The cable was short, and I wanted the enclosure on the ground behind the audio system cabinet where its fans would not be audible.
When I wanted to add some new files, I had to unplug everything and move over to the Mac in the other room. Buying a longer cable so I could move the enclosure to where it was easier to access would cost $50. So I lived with the hassle. Now I've filled the drives in this enclosure, and I've bought a 4 bay enclosure with a standard USB cable. It is quieter and much easier to move back and forth from room to room.
This also brings up a practical advantage to streaming over a network. Drives and their enclosures can be located in a closet where noise is no issue.
If you plan to do this, use a network bridge to add drives. Connect your computer, modem and router to the bridge as well. Do not connect the drives directly to the router. I am only barely competent when it comes to basic networking, but this is advice I received from fellow students that were networking gurus.
I will be adding a wired ethernet output from my bridge to my OPPO soon, to test some of the streaming capabilities of my OPPO. I'll report on the results when there is news.
So far, I have only discussed some of the topics listed above; most in very general terms. I have not, for example discussed much of anything about what file formats there are, which software packages I've used and would recommend, or anything about what audio hardware one might want to add to interface between a general purpose computer and your audio system. Nor have I made any reference to the implications of music file servers for quadraphonics or other mulch-channel audio formats. (LOL: my spell checker says it should be quadrophonics!)
I also haven't gone into which OS I'd choose, or why I'd choose one over another as an OS for my media server. The simple answer is: choose a single OS based on what you already have to start with. Note that any modern computer can run multiple operating systems under programs such as Virtual Box and Parallels.
I will post more on these topics if there is further interest in them.
Finally, I have discussed a lot, and posited some opinions. If anyone finds inaccuracy in the information, please say so. I'm no expert. I make mistakes, and can be misinformed. Much that I have learned on this subject came from the net, so I expect some info may be incorrect.
Also, by all means, feel free to disagree with my opinions. I share them only as I've had a lot of experience in audio. They are by no means definitive. I look forward to hearing from other members as they also opine on this sbject.
Steven.