Adding unRAID UPnP How-To


Recommended Posts

Wooohooo figured it out.

 

Open up your config.xml file using something like notepad++

 

Find

<protocolInfo extend="no"/><!-- For PS3 support change to "yes" -->

 

change to

 

<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->

 

Find

 

    <!--
       Uncomment the lines below to get rid of jerky avi playback on the
       DSM320 or to enable subtitles support on the DSM units
    -->

 

after that you want to add the following

 

<custom-http-headers>
<add header="transferMode.dlna.org: Streaming"/>
<add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=017000 00000000000000000000000000"/>
</custom-http-headers>

 

Now I use Divx files so I needed to uncomment the avi line

 

find

 

<!-- <map from="avi" to="video/divx"/> -->

 

Change to

 

<map from="avi" to="video/divx"/>

 

If all that is to confusing and you can't seem to get it to work right just cut and paste the following over writing what you have in your config.xml file. Of course I would make a copy of your original just in case. You can also add a mkv line if you like if you use mkv files.  <map from="mkv" to="video/mpeg"/>

 

<?xml version="1.0" encoding="UTF-8"?>
<config version="1" xmlns="http://mediatomb.cc/config/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/1 http://mediatomb.cc/config/1.xsd">
  <server>
    <ui enabled="yes">
      <accounts enabled="no" session-timeout="30">
        <account user="mediatomb" password="mediatomb"/>
      </accounts>
    </ui>
    <name>MediaTomb</name>
    <udn>uuid:eeef6a9b-b864-4547-8c03-d7a5963f71e9</udn>
    <home>/boot/mediatomb/config</home>
    <webroot>/boot/mediatomb/usr/share/mediatomb/web</webroot>
    <storage>
      <sqlite3 enabled="yes">
        <database-file>mediatomb.db</database-file>
      </sqlite3>
    </storage>
    <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
    <!--
       Uncomment the lines below to get rid of jerky avi playback on the
       DSM320 or to enable subtitles support on the DSM units
    -->
   




<custom-http-headers>
<add header="transferMode.dlna.org: Streaming"/>
<add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=017000 00000000000000000000000000"/>
</custom-http-headers>
<!--
    <manufacturerURL>redsonic.com</manufacturerURL>
    <modelNumber>105</modelNumber>
    -->
    <!-- Uncomment the line below if you have a Telegent TG100 -->
    <!--
       <upnp-string-limit>101</upnp-string-limit>
    -->
  </server>
  <import hidden-files="no">
    <magic-file>usr/share/file/magic</magic-file>
    <scripting script-charset="UTF-8">
      <common-script>/boot/mediatomb/usr/share/mediatomb/js/common.js</common-script>
      <playlist-script>/boot/mediatomb/usr/share/mediatomb/js/playlists.js</playlist-script>
      <virtual-layout type="builtin">
        <import-script>/boot/mediatomb/usr/share/mediatomb/js/import.js</import-script>
      </virtual-layout>
    </scripting>
    <mappings>
      <extension-mimetype ignore-unknown="no">
        <map from="mp3" to="audio/mpeg"/>
        <map from="ogg" to="application/ogg"/>
        <map from="asf" to="video/x-ms-asf"/>
        <map from="asx" to="video/x-ms-asf"/>
        <map from="wma" to="audio/x-ms-wma"/>
        <map from="wax" to="audio/x-ms-wax"/>
        <map from="wmv" to="video/x-ms-wmv"/>
        <map from="wvx" to="video/x-ms-wvx"/>
        <map from="wm" to="video/x-ms-wm"/>
        <map from="wmx" to="video/x-ms-wmx"/>
        <map from="m3u" to="audio/x-mpegurl"/>
        <map from="pls" to="audio/x-scpls"/>
        <map from="flv" to="video/x-flv"/>
	<map from="avi" to="video/mpeg"/>
        <!-- Uncomment the line below for PS3 divx support -->
        <!-- <map from="avi" to="video/divx"/> -->
        <!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
        <!-- <map from="avi" to="video/avi"/> -->
      </extension-mimetype>
      <mimetype-upnpclass>
        <map from="audio/*" to="object.item.audioItem.musicTrack"/>
        <map from="video/*" to="object.item.videoItem"/>
        <map from="image/*" to="object.item.imageItem"/>
      </mimetype-upnpclass>
      <mimetype-contenttype>
        <treat mimetype="audio/mpeg" as="mp3"/>
        <treat mimetype="application/ogg" as="ogg"/>
        <treat mimetype="audio/x-flac" as="flac"/>
        <treat mimetype="image/jpeg" as="jpg"/>
        <treat mimetype="audio/x-mpegurl" as="playlist"/>
        <treat mimetype="audio/x-scpls" as="playlist"/>
        <treat mimetype="audio/x-wav" as="pcm"/>
        <treat mimetype="audio/L16" as="pcm"/>
        <treat mimetype="video/x-msvideo" as="avi"/>
      </mimetype-contenttype>
    </mappings>
  </import>
  <transcoding enabled="no">
    <mimetype-profile-mappings>
      <transcode mimetype="video/x-flv" using="vlcmpeg"/>
      <transcode mimetype="application/ogg" using="vlcmpeg"/>
      <transcode mimetype="application/ogg" using="oggflac2raw"/>
      <transcode mimetype="audio/x-flac" using="oggflac2raw"/>
    </mimetype-profile-mappings>
    <profiles>
      <profile name="oggflac2raw" enabled="no" type="external">
        <mimetype>audio/L16</mimetype>
        <accept-url>no</accept-url>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>no</accept-ogg-theora>
        <agent command="ogg123" arguments="-d raw -f %out %in"/>
        <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
      </profile>
      <profile name="vlcmpeg" enabled="no" type="external">
        <mimetype>video/mpeg</mimetype>
        <accept-url>yes</accept-url>
        <first-resource>yes</first-resource>
        <accept-ogg-theora>yes</accept-ogg-theora>
        <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
        <buffer size="14400000" chunk-size="512000" fill-size="120000"/>
      </profile>
    </profiles>
  </transcoding>
</config>

Link to comment
  • 6 months later...

I know this is quite an old thread but...

 

Now that I've got my unRAID Sever up and running next on my list is to get a UPnP server installed as I've got a couple of streaming devices around the house that I used to use with my old NAS and TwonkyMedia.

 

How is everyone handling the shutdown of their unRAID server with MediaTomb already running? It sounds a bit scary that there's potential data loss if you try to initiate a Powerdown whilst MediaTomb is still being used.

 

It seems a bit of a faff to have to login to do a killall mediatomb before powering the server down and something I'm sure I'd end up forgetting to do eventually.

Could the killall comand be added to the start of the Powerdown script?

 

Sorry if this sounds really obvious but I'm fairly new to Linux.

 

Link to comment
  • 1 year later...

Hi all,

 

I know an od thread, but I guess I will ask here inly rather to start a new thread ......

 

I got a peculiar problem ... I managed to install MediaTomb on Unraid, when I started it via prompt by typing

 

# mediatomb.sh    ........... the server started but bounded itself with my Himachi VPN ip ..... instead of unraid IP.

 

I thought maybe himachi was running at the background so this happened. I then stopped and terminated himachi completely.

Killed mediatomb and then restarted ..... but to my surpise, MediaTomb again bounded to himachi IP ...... I even tried

--ip or -i parameters to manually bind the correct ip but mediatomb always just sticks to himachi ip .  ....

 

How can i resolve this ...kindly guide ..

 

Regards

Sammy

 

Ok I even have tried putting <ip>192.168.x.y</ip> tag in the config.xml file to manually assign the ip ....still does not work .....

 

I need to ask is there a way to temporarly disable the Himachi ham0 adapter so that mediatomb only has eth0 to take the ip from .......

Link to comment
  • 8 months later...

Hi,

 

I extracted to /mnt/cache/.apps/mediatomb instead. The server starts fine manually, but not automatically. I have these lines at the go script end :

 

cd /mnt/cache/.apps/mediatomb

echo "./mediatomb.sh"  | at now + 1 minute

 

is the cache drive mounted when this command run?

Link to comment
is the cache drive mounted when this command run?
If you are asking if this command will mount the cache drive if it isn't already, then the answer is no. If you are asking if the cache drive is already mounted when the go script is run, the answer is maybe. On my system, I need about a 5 or 10 second wait to ensure it's done mounting. You could either test for the presence of the file before calling it, or just add an arbitrary delay and see if that works.

 

The other thing to consider is permissions and users, the go script is not executed by the same user that you log in with.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.