Simple Hacks for WD MyBookLive and Live Duo


Media Server

A media server is used to stream music, pictures and video to client devices like the WD TV boxes and Microsoft's Media Player.

Originally, the WD MyBook Live used the Twonky Media Server to stream content.  Later, it was replaced by the DLNA Access Server.


Twonky Media Server

Originally, the server could be configured using a web browser and connecting to:

http://192.168.1.5:9000

The latest updates have removed Twonky in favor of the DLNA Access Server.



DLNA Access Server

This server is a bit of a mystery and its origins are unknown.  I haven't found out who built it or where it came from.


The Services

The services can be controlled using the init.d script:

/etc/init.d/access  stop
/etc/init.d/access  start
/etc/init.d/access  restart
/etc/init.d/access  force-reload
/etc/init.d/access  status

The script starts two main background daemons:

/usr/local/bin/mpe_server
/usr/local/bin/dms_smm


Folders

Various scripts and configuration files are located here:

 /usr/local/dlna-access This is the main installation folder.
 /usr/local/dlna-access/xml Configuration files for media server.


Managing Virtual Folders

One useful configuration file controls the virtual folders which appear when a media device connects with the WD MyBook Live device.

/usr/local/dlna-access/xml/virtual_folders_list.xml

Edit the file using the  vi  editor.  It looks like this:

<?xml version="1.0" encoding="utf-8"?>
<virtualFolders>
  <Storage enabled="1">
  </Storage>

  <Image enabled="1">
    <All enabled="1"/>
    <Album enabled="1"/>
    <ByDate enabled="1"/>
    <ByYear enabled="1"/>
    <Folder enabled="1"/>
    <Datetime enabled="1"/>
    <Geotagged enabled="1"/>
    <Geoarea enabled="1"/>
    <Slideshow enabled="1"/>
    <LastPlayed enabled="1"/>
    <MostPlayed enabled="1"/>
    <RecentlyAdded enabled="1"/>
  </Image>

  <Audio enabled="1">
    <All enabled="1"/>
    <Artist enabled="1"/>
    <Genre enabled="1"/>
    <Album enabled="1"/>
    <Rating enabled="1"/>
    <Folder enabled="1"/>
    <ArtistAlbum enabled="1"/>
    <ArtistIndex enabled="1"/>
    <GenreAlbum enabled="1"/>
    <GenreArtist enabled="1"/>
    <Playlist enabled="1"/>
    <LastPlayed enabled="1"/>
    <MostPlayed enabled="1"/>
    <RecentlyAdded enabled="1"/>
  </Audio>

  <Video enabled="1">
    <All enabled="1"/>
    <Genre enabled="1"/>
    <Actor enabled="1"/>
    <Album enabled="1"/>
    <Rating enabled="1"/>
    <ByDate enabled="1"/>
    <ByYear enabled="1"/>
    <Folder enabled="1"/>
    <Coverart enabled="1"/>
    <Playlist enabled="1"/>
    <LastPlayed enabled="1"/>
    <MostPlayed enabled="1"/>
    <RecentlyAdded enabled="1"/>
  </Video>

</virtualFolders>
 

Setting  enabled="1"  to  enabled="0"  will disable a given feature.

To clean up the rather bloated list of video folders, for instance, set to zero all the entries under the  <Video section except for  <Folder  which should remain at one.

Once you have modified and saved this file, for the changes to take effect you must restart the DLNA Access Server:

/etc/init.d/access  restart

After this command completes, the list will be updated to reflect your changes.

Hiding Folders from the Media Server

By default, the media server scans all storage folders to find movies, pictures and music files which it offers up to connecting client devices.  If you have folders with content you don't want to have served up, it is possible to ask the DLNA Access Server to ignore them.

The configuration file which controls exclusions is:

/usr/local/dlna-access/xml/exclude.xml

Edit the file using the  vi  editor.  It looks like this:

<?xml version="1.0" encoding="utf-8"?>
<excludeList>
<entry>Recycled</entry>
<entry>$RECYCLE.BIN</entry>
<entry>Recycler</entry>
<entry>RECYCLE</entry>
<entry>.nflc_data</entry>
<entry>.Trash</entry>
<entry>_album_art</entry>
<entry>.AppleDouble</entry>
<entry>.AppleDB</entry>
<entry>.AppleDesktop</entry>
<entry>TemporaryItems</entry>
<entry>Software</entry>
<entry>_WDPROT</entry>
<entry>System Volume Information</entry>
</excludeList>


To have the server ignore a specific folder, add a new  <entry> </entry>  section to the bottom of the list and specify a folder name within it.

Example:

<entry>MyPrivateFolder</entry>

After modifying the file and saving it, the media server must be instructed to rebuild its list of media files.

/usr/local/sbin/cmdDlnaServer.sh  rebuild

After this command completes, the contents of the excluded folder will no longer appear in the media server's list.

Unfortunately, this list appears to only support folder names and not relative or absolute paths.  So you can not exclude, for instance,   /shares/Videos/vacation/secret   but you can exclude all folders named  vacation  or  secret  by adding entries for them.  In other words, to exclude a single folder it will need to have a unique name.

Comments