![]() |
Home Streaming Media Server
I want to build a home media streaming server, but can't seem to find a free solution that'll give me what I'm looking for:
- Runs on Linux (preferably Ubuntu) - Able to stream video and audio files. - Accessible via computer/laptop (Win and Mac), smartphone, Wii, Xbox, etc. The Wii and Xbox is not required, but would be a plus. - Able to transcode so the media can be played on any of the devices above. - Able to mount and play DVD files in ISO format automatically. - Able to automatically create/update media list as files are added to the library. - Web browser interface to browse and play the media from the server to avoid having to install specific software on the devices. Basically, I'm looking for an interface something like Netflix where you can browse for movies and play them directly in the web browser. This won't be available to anywhere outside my local LAN, so I don't have to worry about bandwidth issues. I just want to be able to have my media available anywhere in the house on any device. VLC seems like the closest thing so far. But, I don't think it mounts DVD ISO files, and everytime I add media, I'd have to update the "playlist" on the server. It's browser interface doesn't look like it will do what I want either. I may have to play with this to be sure. Opera Units also looks like a decent contender, but seems to require the Opera browser. I don't want to be tied to any specific software on the client - the server should be doing all the work. |
Wow, you really are asking for a lot with this one. Some day I want to set up a bad-ass system like what you're talking about so I'll be watching this thread. Sadly I don't have much to contribute...
|
Why must it run on linux? The free part?
I am in process of trying to do the same, with my windows home server... starting to look as though one program won't do it all, but I can run multiple media servers, just need to find the right ones. |
Yeah, Linux because it's free. Otherwise I'd have to shell out another $140 for a "system builders" license of Win7 Pro.
I've done more research on this and just can't seem to find what I'm looking for. I can't be the only one that wants something like this? Since I want the client devices to use a web interface via browser (which wouldn't require special client software), I suppose I could bite the bullet and get a Windows license. Then, I can install IIS, develop an ASP-driven site using the filesystem object to dynamically create the file listings. I could use Linux, Apache, and PHP to do the same, but I'm not nearly as proficient in PHP as I am in ASP. Anyway, streaming MP3's should then be fairly simple, but the video streaming is still a challenge. Since all my videos are in ISO disc-image format, I'd have to find a way to automate the mounting of the image and stream it from the virtual disc. And then, two people want to stream videos at the same time, the system would have to be smart enough to "know" that one virtual drive is already mounted/in use, and use the next available virtual drive. And I still don't know how to stream that video over HTTP protocol. I suppose I could stream the content using Flash (like YouTube), or Silverlight (like Netflix), but then I have to find something (preferably free or cheap) that does the transcoding. |
Not sure if it'll do anything with an ISO image, but you should check into FFMPEG for transcoding.
|
I can help with this!
There are several options available to you. However, there are some things that either aren't implimented yet, or aren't implimented well. This means you will have to run multiple background help apps or services to meet all yoru needs. First off, we should start with a Hometheater PC, or mini PC. Your best bet is to buy a Home Theater PC case that includes an IR Receiver. You'll also need a remote thats compatible with it. If I were you I'd look towards cases that are compatible with the Logitech Harmony line of remotes. Next you'll need your OS. Since you want to run linux cause its free that puts some forks in the road. You can use the maintained "Mythbuntu" system which is really just a version of Ubuntu that boots directly to a HTPC type interface. Mythbuntu has some codec incompatibilities due to licensing issues. But strangely Boxee and XBMC get around this despite both having their roots in Linux OSs. The other option is to run a basic linux system and run a HTPC program like Boxee, XBMC, or another application like that on top of it. Mythbuntu features/options/drawbacks Good support for multiple Server/Client installs. It supports a backend server that handles all transcoding and file server duties. It can also play DVD.iso's stored on the file server. Because it supports a back-end and front-end setup you can use a powerful system to do all of the transcoding/serving and hide it in a closet if its noisy. You can then have a relatively weak front-end PC thats hooked up to your home theater. Since the actual transcoding (the most CPU intensive HTPC task) is handled onthe back-end server its just streamed to the client HTPC. I recommend a wired gigabit network as a standard! To transode HD video you will need some serious back-end hardware if you want to maintain good framerates and avoid audio/video sync issues. This also supports "apps" like Pandora/Last.FM/etc.... Mythbuntu is not as easy to setup as Boxee or XMBC though. XBMC and Boxee type systems. These are much simpler to setup. But they aren't nearly as configurable and they don't support back-end decoding. So the client PC has to be much more powerful. Out of the box though they will play nearly every format out there, and both include tons of applications. XBMC and Boxee will run on Windows/Ubuntu/Mac installs and can reference file servers via SMB/AFP/NFS protocols, or local content. It "installs" just like a normal application. They also have android and iPhone based apps that can act as remote controls over a WiFi connection. That covers the basic HTPC type setup. Now onto your other requirements.
This is where it gets tricky because there is no "all-in-one" solution. What you will need to do is install multiple "services" that run in the background to handle these types of tasks. What you are looking for now is a webserver that can server up media content. You can look into the ORB software or Twonkey Media Server. The problem with both of these service apps is that they don't happily mesh with ANY existing media programs so their "ratings" and "smart playlists" don't transfer over. Aka if you rate a song, you will have to separately rate and create a similar playlist on another machine. This seems simple, until you get to massive libraries. Then it becomes a nightmare to keep ratings and playlists synchronised. They are also not free! This is my setup at home, and it works pretty well and is easy to keep sync'd up.
The Mac Mini hosts all Video files and has a duplcate of the iTunes library. The iTunes library that resides on my Macbook Pro is considered the Master library. Meaning if i want to rate a song, or create a smart playlist I do it on the Macbook Pro. It is the master simply because I use it more than any other PC I have. Whenever I make enough changes I run a bash script that will exactly duplicate the iTunes library from the Macbook Pro to the MacMini. The real way it works is it runs an Applescript that tells iTunes to quit if its open. Then it checks permissions, and finally it uses RSYNC to delete/copy files on the MacMini so its a perfect replica of the library that resides on my Macbook Pro. It runs fast, takes only 1 or 2 minutes to sync up the library. Now that seems complicated, but its really not. I'll happily post up the script if anyone wants it. Now, as for the MacMini's duties. Via the Connect360 helper application, it serves up the Video, iPhoto and Music libraries to all DNLA compliant devices (Xbox360, Playstation 3). iTunes itself is set to "share" its library. Using the iTunes remote control appliation from an iOS device I can remotely control iTunes on the MacMini meaning I don't need to use the TV to play my music playlists, I just turn the Home Theater receiver on and set it to the input the Mini is hooked up to. The MacMini also runs the Boxee application, which is set to run automatically at startup. This is the main video interface for the home theater. The Boxee application is configured to look at the iTunes library thats stored locally on the MacMini in /Users/%user%/Music/iTunes/ and it also is set to look at the USB 2TB external drive where i store ALL of the video files. Boxee can also play any DVD I put into the MacMini's drivebay. It can also play VIDEO_TS folders, and DVD iso files. Plays MKV, AVI and just about every video format out there. So on the surface its actually really easy to use. But there are several services/applications running on a single machine that provide a single interface to the home theater. Now here's were the iTunes libary sharing comes in. The iTunes program installed on my Linux machine via WINE looks on the network and finds the shared iTunes library hosted on the Mini. So I just connect to that and stream the music to the linux box when I want to play some music on the linux box. I also have a Mac Pro desktop that i use for video editing, ripping, encoding, photoshop...etc. If I have new movies, DVDs and such what I will do is connect to the shared folder on the USB2 drive hosted by the mac mini and simply copy the files over to the USB drive via the network. Boxee automatically recognises new files and adds them to its known library. Now why is the Macbook Pro laptop my "Master" library? Because my iPhone is synced to the iTunes app on the laptop, and I have the laptop with me at work and at home. So i'm more likely to add music, create a playlist, or rate music on the laptop. So if I make any big changes i just use the script I wrote which will duplicate the iTunes library onto the mac mini. Here's a copy of the script. Its Stupidly simple. the script is saved and I can execute it by double clicking it from the MacMini desktop or I can invoke it from the command line via SSH from any PC on my network. PHP Code:
|
Holy crap, BrianG will be a happy man on New Years Day!
|
Wow thirdgen, that's a lot of info! Thanks! It'll take me a bit to digest that...
|
Was thinking about this the other day. You pretty much want simplicity. XMBC makes a "live" distribution. Meaning its basically XBMC already setup on linux, runs straight off a DVD and can be installed.
http://xbmc.org/download/ If you already have the hardware you are going to run this on, just download the "live" iso from the xbmc site, burn it to DVD, then pop it in your computer and boot from it. Some XBMC interface pics. Yes, it does look like this on your HDTV. http://xbmc.org/wp-content/gallery/c...eenshot000.jpg http://xbmc.org/wp-content/gallery/c...eenshot003.jpg http://xbmc.org/wp-content/gallery/c...eenshot007.jpg http://xbmc.org/wp-content/gallery/c...eenshot002.jpg |
Thirdgen:
Again, thanks for all that info. I've actually used XBMC before and it does look/work great... if I wanted the media server right near the TV. However, my server will be sitting in the basement out of sight. As I said, I'm looking for more of a true "server" topology where the user opens a web browser to the server's URL/IP address, selects the media they want to view/hear, and the server serves up the content in whatever way the device supports. Basically, a modified version of a Netflix-like service. For greatest compatibility, transcoding into Flash might be the easiest/best, and would require the least amount of client horsepower. I'm still looking through the options you suggested though. There might be some command-line or developer API hooks that I can take advantage of in the way I want to run things. |
Quote:
Winamp had an implimentation of it running. Played everything. Worked on my iphone, mac, pc, everywhere I had internet. In-house too. |
Have you looked at TVersity yet?
Yeah orb was the other I was thinking of but could not remember the name. |
Quote:
|
A little update on this "project":
Well, after trying several solutions, it seems that either they don't offer exactly what I'm looking for, or seem to be cobbled-together workarounds and hacks. None of the solutions are wife-approved either (meaning: simple to use). So, I've decided to just designate the "server" as a simple HTPC. On that note, I thought XBMC would be the ticket, but there are some gotchas that I didn't care for; 1) Using netflix is a bit of a pain (it simply calls up IE/silverlight but the browsing and usage isn't as user-friendly for family use), and 2) the whole interface isn't user-friendly enough for everyone. Sure, they could "get used to it", but that's not acceptable IMO. So, I ended up tinkering with Windows Media Center and once I added a couple plug-ins to auto-mount ISO video files and install the netflix and internet TV plugins, it works swimmingly. The interface is fairly "pretty" and couldn't be easier to use, which should satisfy everyone (including my 3 year old). And, I can still share the music folder and connect via SMB on my smartphone to listen to music where ever I want. I'll probably install IIS (web server) and MySQL (or SQL Express) on that box as well and use it for some home apps I want to build. I started shopping around for the actual hardware, and figured on getting a base-system something like this, install Win7 Pro "system builders licence" ($140 for the full version), and slap in a TV Tuner Card (which includes a remote). I figure a quad-core ~3.0GHz CPU and 8GB DDD3 will have more than enough horsepower, and I'll partition a 1TB drive into ~100GB for the base OS and programs, and the other ~900GB for recorded DVR content. Later on, I may get a dedicated video card and install a couple of less taxing games on it as well - just to round it out. :smile: And a bit later on, get a couple of 2TB drives, configure them as Raid1 (for data redundancy) and start ripping all the DVDs we have as ISO files, particularly the movies watched most often. I'll probably dump all the media (like pics and music) on there as well. |
Quad core and 8 GB of RAM? Is this a media center or a F@H bot? :lol: I'm looking at doing something similar for a lower-power consumption alternative to running my gaming machine 24/7 as a file server and was going to run one of those little ~$30 Sempron CPUs unlocked to a dual core and 4GB of RAM. Doesn't need a whole lot of power, my 1.83GHz C2D in my laptop can run just about anything I need it to, and the Sempron will be faster once unlocked and should still run on very little power.
I haven't checked hard drive prices in a while, have they gone down? There was some serious flooding in Taiwan which caused HDD prices to spike, the 1.5TB WD Black I bought for $120 was nearly $400 last I checked... |
Yeah, 4-core and 8GB is a bit overkill for a HTPC, but since I plan to also use it as an intranet/data/SMB server and possibly for some lower-end games, the extra oomph might come in handy. Besides, the price difference between dual and quad cores isn't really that big, and has room for me to scale up its usage as things progress.
HDD prices are higher to be sure. But when you get those DIY packages at newegg, you get a discount which helps offset that. This is also why I won't get the 2x2TB drives for a while until the prices drop back down. |
Good point. Big thing for me right now is energy consumption. My Quad Core system pulls around 120 watts just piddling around on the internet, my laptop does the same thing at 10-12 watts. It runs $30-$40 per month just to leave my gaming system idling, if I could bring that down to $3-$4 that's a pretty significant savings in my book.
What do you think about this kit: http://www.newegg.com/Product/ComboB...t=Combo.752616 Should do HTPC, data, etc. for a handsome price point. Slap in some WD Caviar Green drives (unless you really need the speed of a 7200 RPM drive) and you're good to go. Home server for under $300 before OS isn't bad. |
That looks like a decent kit. Actually, if I wasn't looking for something with a bit more power, that would do nicely.
As far as power-consumption goes, I'm not too worried. We still have a CRT (gasp!) in the living room, so replacing that with a ~32" LED TV and the HTPC I'm looking at will have about the same net power usage. Actually, even better since we now use the Wii for netflix. |
Check out some of the Barebones kits on TigerDirect. They've usually got some deals, granted there's a lot of mail in rebates, but if you shop around a bit you can score a nice computer for cheap. If you're on a budget and want a quad core the AMD X3s usually unlock to an X4 with a compatible motherboard.
|
I've looked into TgerDirect before, but there's always other things I want to get at the same time which they don't carry, so I just end up going to Newegg who always have what I'm looking for at the same or better prices.
As far as O/C'ing or unlocking goes, I usually stay away from that for the most part for my main boxes. I value stability over anything, and I'd rather not take any chances that an O/C or other mod would compromise that. |
Quote:
|
I thought I'd post an update on this.
First of all, I decided to make this more of an home theater media center that will sit next to the living room screen. But, I also want to have IIS running on it and transcode all the video for the web (home intranet, not public internet). So, after shopping around for a good setup and came up with the following:
I already got the case, power supply, TV tuner card, and external 3TB drive, but am waiting for tax returns to get everything else. Plus, I notice prices on my Newegg wish list tend to drop by a few dollars daily, so hopefully prices will keep falling before I make the final purchase. |
With that motherboard, you might as well overclock, as much as you can without gaining any temperature increases.
AS for the power, I'd go with something SeaSonic rebranded, mainly because I just love them so dearly. I've heard a few OCZ flame-ups, but nothing huge. Might be better suited with a ~550-600 Antec/Corsair/Seasonic/PC&C.. etc. My opinions entirely. Your HTPC is going to be a faster build than my main gaming rid... sad. :no: |
Quote:
For Rsync the command would be: PHP Code:
If you run a scheduled task, it could probably run the batch file containing RSync. For Robocopy you would use this command: PHP Code:
/mir : mirrors source to destination, removes files that don't exist in source and updates altered files. |
Quote:
And don't feel bad, the HTPC if going to be faster than my main rig as well. But since it will be used for so many things, I felt the power is necessary. About the overclocking: I may or may not. At least I got the hardware so I can if I want. If I do, it won't be extreme - maybe something like a 5% O/C just for a little extra power. Quote:
I've already ripped around 70 DVDs, but man, this takes a while! I use DVDFab which is the easiest method I've found that rips only the main movies while being able to bypass all the encryption methods - event the newer ones. I used to use DVDDecryptor and DVDShrink, but they are getting long in the tooth and there are more and more DVDs they can't handle. |
Quote:
In gaming, the i5-2500k is the clear winner over the 2700k. But encoding, maybe not. :whistle: |
Quote:
But, in video encoding, even those logical hyperthreading "cores" make a substantial difference, hence the choice. |
Quote:
:intello: |
It's ok, you can go to bed now and let the grownups talk. :na:
|
Been quietly watching this thread as I have been contemplating a home media server myself. Been thinking of getting off cable for a while since almost everything I watch is via DVR and 99% of it available through the web. Also want to put my movie collection on hard drives so it's easier to pull up.
I think between Netflix, Amazon Prime, Hulu, and all the free crap on the web plus what I have in hand I am well covered in the media arena. My only concern is that I put the time in effort getting it all setup then some genius comes out with an all in one package that does it better and cheaper. Not that I am seeing it on the near horizon though, just that nagging thought. I assume you are still going with Windows Media Center Brian? Also which internet TV plugin are you using? I was looking at SecondRun.tv which looked very nice for although it costs 4 bucks and many are free. |
Quote:
http://www.boxee.tv/buy I run the Boxee app as my HTPC app. Except instead of having the actual box, i run the app on a Mac Mini hooked up to the TV via HDMI and TOSlink. Boxee is great, there isn't really anything I've found that it can't play. It'll play a DVD5 ISO directly, MKV, AVI, MOV, MPG...on and on. It also has apps built in for Pandora, Spotify, Hulu, Vudu, Netflix....again on and on. With the addition of a supported Tuner card it can also play TV over the air as well. This same MacMini also runs 360connect to share my iTunes playlists (not just the music, but the smart playlists as well) to the Xbox 360. And I can use the Remote app on my iPhone to remotely control iTunes so I don't even have to turn on the TV or sit in front of it to control it. I can control my iTunes from anywhere in the house. |
Yes, I will be using Win7 Pro and Windows Media Server for the main app. The plugins necessary for Netflix, automatic DVD iso mounting, etc are all free, and they work seamlessly with MC. The prime goal for the main system is simplicity and ease of use for any non-techie member of the family.
I'm not sure what I'll be using for the "TV Guide" service, but I did some quick searches for free solutions and there are a few. It'll take some playing around to find the one that works the best. My wife has a Tivo in the bedroom and I hate it to be honest. The UI sucks and it's expensive. For a basic media server, the hardware requirements aren't very high. A dual core CPU of any brand, integrated video, and 4GB of RAM would be more than sufficient (as long as the integrated video supports the native resolution of the HDTV you are using). The biggest expense is probably DVD storage at this point until drive prices drop. However, if you go with lower-end processing hardware, I would recommend getting a TV card with built-in hardware encoding so that recording TV shows won't hit the CPU nearly as much. Unfortunately for me, adding the ability to play PC games on the HTPC, and transcoding video in the background in real-time over the LAN requires quite a bit more power. This is the part that is going to require the custom web application, database, etc. When I get it all together, I plan to do it in stages and outline in simple terms how to do each depending on the user's goal. Then, once I get a workable transcoding method in place, I can even provide webserver/database installation instructions along with any scripts required for installing the database tables, stored procedures, etc. I don't plan on ever exposing this system to the public web (being able to stream a video to my phone while at work isn't one of my goals), so there won't be any special router configurations or dynamic IP mapping (allows a home DHCP machine to be mapped to a externally available domain name) to do. |
Quote:
|
Quote:
I have a 7" touchscreen HTPC cases for the media PCs running an i3 and fanless NVidia card, everything is networked and wired to an 18TB storage array in the basement. |
Thanks for all the tips.
And agreed, storage is the big issue right now. Hoping the pricing comes back down more. It does seem to be a little better than what it jumped to due to the flooding though. |
Quote:
This WD 1TB Black edition drive used to be $99. Its still $140. |
Quote:
|
Seagate's 3TB bare drives are $200. Oddly enough, their external 3TB drives can be had for ~$170 and they contain the same exact drive model as the bare drive. I've read a few places where people are getting the external version and ripping open the enclosure to get the drive.
|
Curious to see what comes up for the raspberry pi - It seems to be powerful enough to run unix and stream 1080p.
For $35 you cant go wrong. |
That Raspberry Pi seems an interesting device. Very small, inexpensive, and simple. I can see it being used as an internet device to connect TVs which don't have network functionality - something like a Roku but more versatile.
|
| All times are GMT -4. The time now is 07:01 AM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.