Thursday, August 2, 2012

Wanna Stream? (updated).

Traditionally if you wanted to use multimedia content, you would download the media and then play it with a local program. That is all fine and well, but what if you have several systems such as the ps3, xbox360, Roku, and a host of other devices. Instead of copying the files all over the place, we can use a server and keep the media all in one place.


One way to serve the media is to use what is known as upnp. This protocol now comes pretty standard on most servers. Think that Roku uses something called Plex, Plex can also be installed on traditional servers last I looked. What usually happens you point your device to the upnp server and the server will list the media files for access. Pretty nifty!



Don't usually have much video to store, but lately I have been downloading quite a few files. Wanted a way to take advantage of upnp. We use XBMC to view or listen to media. Xmbc will even go to the internet to allow you to view video. We also make our own videos that we would like to access. Now to decide what to use. As I said most servers now support upnp.  We have a file server that uses Freenas. It is perfect place for us to store all the videos.


Time to traverse the intranet to see what the freenas server has. Forget what I called the system. No problem as I have a couple of programs that will find the system for me. Let use see what computers are up on the net and then see what IPaddresses (internet telephone numbers) are listed in the router's phone book, Source code for the programs is available.

$ pingall.sh
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=0.557 ms
64 bytes from 192.168.1.99: icmp_req=1 ttl=255 time=5.12 ms
64 bytes from 192.168.1.115: icmp_req=1 ttl=64 time=0.073 ms
64 bytes from 192.168.1.128: icmp_req=1 ttl=64 time=0.525 ms

$ nslookup.sh
1.1.168.192.in-addr.arpa    name = softserv.
10.1.168.192.in-addr.arpa    name = router2.
20.1.168.192.in-addr.arpa    name = router3.
31.1.168.192.in-addr.arpa    name = oesrvr1.
98.1.168.192.in-addr.arpa    name = printerland.
105.1.168.192.in-addr.arpa    name = oeorgan01.
106.1.168.192.in-addr.arpa    name = typo1.
115.1.168.192.in-addr.arpa    name = oedt01.homelinux.com.
122.1.168.192.in-addr.arpa    name = chumbino.
125.1.168.192.in-addr.arpa    name = amd800.
127.1.168.192.in-addr.arpa    name = oemsrvr01.
128.1.168.192.in-addr.arpa    name = freenas.homelinux.com.

Freenas there it is. "128.1.168.192.in-addr.arpa    name = freenas.homelinux.com"  I'll just use the ipadress to save typing.
 Logged in.

Ok now I can log in.  We want to add the service for having the server deliver content to media clients.  There it is upnp.


Let's click the enable button and then add the additional required information.  Most all upnp servers will require this same information. What do we want this system to be know as on the network?  We can use the default port of 49152. Where do we want to keep the listing of files of what iis on the server. Usually you want this separate from the files themselves for more security.  Where do we want to keep the files on the server?  Yes we probably want transcoding. in other words we want the server to make the media content ready for what our media devices can handle. Etc. etc. We can push the save and restart the server button. (Make sure no one is use the server when you do this or they could lose data.)


That was easy. No cryptic commands to type in. You just point clock and add a little information. Now just go back to your streaming device and choose the server for the media you want to access.



Have fun!

Note: the latest version of Freenas is version 8. We are running the server on an old Pentium II with Freenas 7 which is good enough for our needs. You will want to use something newer in terms of equipment. IF you have one of the recent off the shelf from a retail store nas units, they should have support for upnp and maybe eve Firefly.




Update:

Another popular streaming protocol is Daap. This is generally used with devices that support itunes. You can can actually get this software for the major platforms (OS/x. MSWindows, Linux, generic java client and etc). I.e You need to stream to your Apple Idevice, all you need is Firefly. It is also known as MT-daapd. There is now a newer version that not only  serves music ,but also supports other media. One thing I like about mt-daapd is that you can use a low resource machine to run it under linux.



One other server of which I have no experience is the Soundbridge server from Roku. There is plenty of information on the net. One aside though, XMBC can be  a server as well as a client.

Normally you play music on the local machine. There is a music server called mpd where you can have speakers on the server running mpd and control it remotely. So you can use an old pc like a remote control stereo. Control it either from another computer or even a touchpad. This is really special if speakers are at a premium or you only want one audio source.



No comments:

Post a Comment