xbmsd project is a file sharing server.
Version: 1.1.1xbmsd project is a file sharing server implementing the Xbox Media Streaming Protocol (XBMSP) supported by the Xbox Media Center (XBMC). URLs in XboxMediaCenter.xml that start with "xbms://" use this protocol. xbmsd also supports the XBMSP Server Discovery Protocol (XBSDP).
Operating System: Linux
The main features of xbmsd besides normal file sharing is mapping files to arbitrary local files or HTTP files/streams, the possibility of generating "synthetic" mplayer configuration files according to file extension and the possibility of specifying file processing filters by file extension. Mapping files to HTTP locations is useful because XBMC does not support HTTP locations natively.
Synthetic configuration files mean that files ending in a specified extension will all have a file-specific mplayer configuration file visible through xbmsd. If one does not already exist (real or mapped), it is mapped to the file specified in the specification command. Filters work so that if a file has the specified extension the filename is given as an argument to the specified command and the command output is sent to the XBMSP client as a stream.
Let's assume that we have a HTTP server running on localhost port 3000 that provides access to DVB TV channels via files /ts/channel. These are interlaced MPEG transport streams (TS), so we want to map these to local files and then create synthetic deinterlacing configuration files for them.
First we create a mplayer configuration file (/etc/xbmsd/deinterlace.conf) that turns on linear blend deinterlacing and sets the cache to a lower value so that the buffering does not take so long. The contents of the file is:
Then we create the xbmsd configuration file that maps the DVB streams to local files and configures the above file as a synthetic configuration file for files ending in ".ts". We use an empty root directory since we don't want to do anything else at this time:
map ch1.ts http://localhost:3000/ts/1
map ch2.ts http://localhost:3000/ts/2
map ch3.ts http://localhost:3000/ts/3
conf ts /etc/xbmsd/deinterlace.conf
When xbmsd is started with this configuration the root directory of the server contains six files: ch1.ts, ch1.ts.conf, ch2.ts, ch2.ts.conf, ch3.ts, ch3.ts.conf.
What's New in This Release:
· Added IFACE configuration option (Linux only)
· Bugfix: the server discovery socket now listens to INADDR_ANY (or in6addr_any) and not the address specified by LISTEN, as it needs to receive all broadcasts.