1 июн. 2013 г.

Mediatomb DLNA + Samsung TV

Хоть и записывал два с половиной года назад тонкие места настройки DLNA-сервера Mediatomb для корректной работы с телевизорами Samsung, все равно, когда пришлось снова повторить настройку - убил добрый час на проблему ошибки проигрывания mkv. Поэтому - оставлю полный конфиг.
cat /etc/mediatomb/config.xml

<?xml version="1.0" encoding="UTF-8"?>

<config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd"><!--

    Read /usr/share/doc/mediatomb-common/README.gz section 6 for more

    information on creating and using config.xml configration files.

   -->

 <server>

   <ui enabled="yes" show-tooltips="yes">

     <accounts enabled="no" session-timeout="30">

       <account user="mediatomb" password="mediatomb"/>

     </accounts>

   </ui>

   <name>MediaTomb</name>

   <udn>uuid:5b7694f1-16e9-4f84-bf86-13d9a273f58d</udn>

   <home>/var/lib/mediatomb</home>

   <webroot>/usr/share/mediatomb/web</webroot>

   <storage caching="yes">

     <sqlite3 enabled="yes">

       <database-file>mediatomb.db</database-file>

     </sqlite3>

     <mysql enabled="no">

       <host>localhost</host>

       <username>mediatomb</username>

       <database>mediatomb</database>

     </mysql>

   </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="X-User-Agent: redsonic"/>

     <add header="transferMode.dlna.org: Streaming"/>

     <add header="contentFeatures.dlna.org: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01500000000000000000000000000000"/>


   </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>

   -->

   <extended-runtime-options>

     <ffmpegthumbnailer enabled="yes">

       <thumbnail-size>128</thumbnail-size>

       <seek-percentage>2</seek-percentage>

       <filmstrip-overlay>yes</filmstrip-overlay>

       <workaround-bugs>no</workaround-bugs>

     </ffmpegthumbnailer>

     <mark-played-items enabled="no" suppress-cds-updates="yes">

       <string mode="prepend">*</string>

     </mark-played-items>

   </extended-runtime-options>

 </server>

 <import hidden-files="yes">

   <scripting script-charset="UTF-8">

     <common-script>/usr/share/mediatomb/js/common.js</common-script>

     <playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>

     <virtual-layout type="builtin">

       <import-script>/usr/share/mediatomb/js/import.js</import-script>

       <dvd-script>/usr/share/mediatomb/js/import-dvd.js</dvd-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="mkv" to="video/mpeg"/>

       <map from="mka" to="audio/x-mkv"/><!-- 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"/> -->

       <map from="vob" to="video/mpeg"/>

       <map from="ts" to="video/mpeg"/>

       <map from="mpg" to="audio/mpeg"/>

       <map from="m2ts" to="video/avc"/>

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

       </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"/>

       <map from="application/ogg" to="object.item.audioItem.musicTrack"/>

     </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"/>

       <treat mimetype="video/mp4" as="mp4"/>

       <treat mimetype="audio/mp4" as="mp4"/>

       <treat mimetype="application/x-iso9660" as="dvd"/>

       <treat mimetype="application/x-iso9660-image" as="dvd"/>

       <treat mimetype="video/x-msvideo" as="mkv"/>

       <treat mimetype="audio/x-msaudio" as="mka"/>

       <treat mimetype="video/x-mkv" as="mkv"/>

       <treat mimetype="video/avi" as="avi"/>

     </mimetype-contenttype>

   </mappings>

   <online-content><!-- Make sure to setup a transcoding profile for flv -->

     <YouTube enabled="no" refresh="28800" update-at-start="no" purge-after="604800" racy-content="exclude" format="flv" hd="no">

       <favorites user="mediatomb"/>

       <standardfeed feed="most_viewed" time-range="today"/>

       <playlists user="mediatomb"/>

       <uploads user="mediatomb"/>

       <standardfeed feed="recently_featured" time-range="today"/>

     </YouTube>

     <Weborama enabled="no" refresh="28800" update-at-start="no">

       <playlist name="Active" type="playlist" mood="active"/>

       <playlist name="Metal" type="playlist">

         <filter>

           <genres>metal</genres>

         </filter>

       </playlist>

     </Weborama>

     <AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640"/>

   </online-content>

 </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 -o byteorder:big -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>

XML-код конвертирован с помощью QuickEscape.