Created
November 2, 2013 02:42
-
-
Save lucaswilric/7274869 to your computer and use it in GitHub Desktop.
MediaTomb config & import script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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:b6dc2eae-9405-4292-adda-345d10a399d9</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="no"/><!-- 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"/> | |
</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>5</seek-percentage> | |
<filmstrip-overlay>yes</filmstrip-overlay> | |
<workaround-bugs>no</workaround-bugs> | |
</ffmpegthumbnailer> | |
<mark-played-items enabled="yes" suppress-cds-updates="yes"> | |
<string mode="prepend">*</string> | |
</mark-played-items> | |
</extended-runtime-options> | |
</server> | |
<import hidden-files="no"> | |
<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="js"> | |
<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/x-matroska"/> | |
<map from="mka" to="audio/x-matroska"/><!-- 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"/> | |
<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-matroska" as="mkv"/> | |
<treat mimetype="audio/x-matroska" as="mka"/> | |
</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"j -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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function addAudio(obj) | |
{ | |
var desc = ''; | |
var artist_full; | |
var album_full; | |
// first gather data | |
var title = obj.meta[M_TITLE]; | |
if (!title) title = obj.title; | |
var artist = obj.meta[M_ARTIST]; | |
if (!artist) | |
{ | |
artist = 'Unknown'; | |
artist_full = null; | |
} | |
else | |
{ | |
artist_full = artist; | |
desc = artist; | |
} | |
var album = obj.meta[M_ALBUM]; | |
if (!album) | |
{ | |
album = 'Unknown'; | |
album_full = null; | |
} | |
else | |
{ | |
desc = desc + ', ' + album; | |
album_full = album; | |
} | |
if (desc) | |
desc = desc + ', '; | |
desc = desc + title; | |
var date = obj.meta[M_DATE]; | |
if (!date) | |
{ | |
date = 'Unknown'; | |
} | |
else | |
{ | |
date = getYear(date); | |
desc = desc + ', ' + date; | |
} | |
var genre = obj.meta[M_GENRE]; | |
if (!genre) | |
{ | |
genre = 'Unknown'; | |
} | |
else | |
{ | |
desc = desc + ', ' + genre; | |
} | |
var description = obj.meta[M_DESCRIPTION]; | |
if (!description) | |
{ | |
obj.meta[M_DESCRIPTION] = desc; | |
} | |
// uncomment this if you want to have track numbers in front of the title | |
// in album view | |
/* | |
var track = obj.meta[M_TRACKNUMBER]; | |
if (!track) | |
track = ''; | |
else | |
{ | |
if (track.length == 1) | |
{ | |
track = '0' + track; | |
} | |
track = track + ' '; | |
} | |
*/ | |
// comment the following line out if you uncomment the stuff above :) | |
var track = ''; | |
var chain = new Array('Audio', 'All Audio'); | |
obj.title = title; | |
addCdsObject(obj, createContainerChain(chain)); | |
chain = new Array('Audio', 'Artists', artist, 'All Songs'); | |
addCdsObject(obj, createContainerChain(chain)); | |
chain = new Array('Audio', 'All - full name'); | |
var temp = ''; | |
if (artist_full) | |
temp = artist_full; | |
if (album_full) | |
temp = temp + ' - ' + album_full + ' - '; | |
else | |
temp = temp + ' - '; | |
obj.title = temp + title; | |
addCdsObject(obj, createContainerChain(chain)); | |
chain = new Array('Audio', 'Artists', artist, 'All - full name'); | |
addCdsObject(obj, createContainerChain(chain)); | |
chain = new Array('Audio', 'Artists', artist, album); | |
obj.title = track + title; | |
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC_ALBUM); | |
chain = new Array('Audio', 'Albums', album); | |
obj.title = track + title; | |
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC_ALBUM); | |
chain = new Array('Audio', 'Genres', genre); | |
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER_MUSIC_GENRE); | |
chain = new Array('Audio', 'Year', date); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
function addVideo(obj) | |
{ | |
if (obj.location.match(/\/Thumbs\.db$/) != null) return; | |
addCdsObject(obj, createContainerChain(new Array('Video', 'All Video'))); | |
var chain = new Array('Video'), dbDirs = new Array(), isTv = false, isMovie = false; | |
var fsDirs = (function(){var d = obj.location.split('/');d.pop();return d;})(); | |
// Find the first directory that starts with "Movies" or "TV" | |
// and if it's a movie, just put it in the Movies directory. | |
// If it's a TV show, use the directory structure that's there, | |
// excluding everything before the 'TV' directory | |
for (var i = fsDirs.length-1; i > -1; i--) { | |
if (fsDirs[i].match(/^Movies/) != null) { | |
isMovie = true; | |
break; | |
} | |
else if (fsDirs[i].match(/^TV/) != null) { | |
isTv = true; | |
break; | |
} | |
else { | |
dbDirs.push(fsDirs[i]); | |
} | |
} | |
chain = isTv ? chain.concat('TV Shows').concat(dbDirs.reverse()) : isMovie ? chain.concat('Movies') : chain.concat('Other Video'); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
function addVideo_old(obj) | |
{ | |
//var chain = new Array('Video', 'All Video'); | |
var chain = new Array('Video'); | |
addCdsObject(obj, createContainerChain(chain)); | |
var dir = getRootPath(object_root_path, obj.location); | |
if (dir.length > 0) | |
{ | |
chain = new Array('Video', 'Directories'); | |
chain = chain.concat(dir); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
} | |
function addWeborama(obj) | |
{ | |
var req_name = obj.aux[WEBORAMA_AUXDATA_REQUEST_NAME]; | |
if (req_name) | |
{ | |
var chain = new Array('Online Services', 'Weborama', req_name); | |
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_PLAYLIST_CONTAINER); | |
} | |
} | |
function addImage(obj) | |
{ | |
var chain = new Array('Photos', 'All Photos'); | |
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER); | |
var date = obj.meta[M_DATE]; | |
if (date) | |
{ | |
var dateParts = date.split('-'); | |
if (dateParts.length > 1) | |
{ | |
var year = dateParts[0]; | |
var month = dateParts[1]; | |
chain = new Array('Photos', 'Year', year, month); | |
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER); | |
} | |
chain = new Array('Photos', 'Date', date); | |
addCdsObject(obj, createContainerChain(chain), UPNP_CLASS_CONTAINER); | |
} | |
var dir = getRootPath(object_root_path, obj.location); | |
if (dir.length > 0) | |
{ | |
chain = new Array('Photos', 'Directories'); | |
chain = chain.concat(dir); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
} | |
function addYouTube(obj) | |
{ | |
var chain; | |
var temp = parseInt(obj.aux[YOUTUBE_AUXDATA_AVG_RATING], 10); | |
if (temp != Number.NaN) | |
{ | |
temp = Math.round(temp); | |
if (temp > 3) | |
{ | |
chain = new Array('Online Services', 'YouTube', 'Rating', | |
temp.toString()); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
} | |
temp = obj.aux[YOUTUBE_AUXDATA_REQUEST]; | |
if (temp) | |
{ | |
var subName = (obj.aux[YOUTUBE_AUXDATA_SUBREQUEST_NAME]); | |
var feedName = (obj.aux[YOUTUBE_AUXDATA_FEED]); | |
var region = (obj.aux[YOUTUBE_AUXDATA_REGION]); | |
chain = new Array('Online Services', 'YouTube', temp); | |
if (subName) | |
chain.push(subName); | |
if (feedName) | |
chain.push(feedName); | |
if (region) | |
chain.push(region); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
} | |
function addTrailer(obj) | |
{ | |
var chain; | |
chain = new Array('Online Services', 'Apple Trailers', 'All Trailers'); | |
addCdsObject(obj, createContainerChain(chain)); | |
var genre = obj.meta[M_GENRE]; | |
if (genre) | |
{ | |
genres = genre.split(', '); | |
for (var i = 0; i < genres.length; i++) | |
{ | |
chain = new Array('Online Services', 'Apple Trailers', 'Genres', | |
genres[i]); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
} | |
var reldate = obj.meta[M_DATE]; | |
if ((reldate) && (reldate.length >= 7)) | |
{ | |
chain = new Array('Online Services', 'Apple Trailers', 'Release Date', | |
reldate.slice(0, 7)); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
var postdate = obj.aux[APPLE_TRAILERS_AUXDATA_POST_DATE]; | |
if ((postdate) && (postdate.length >= 7)) | |
{ | |
chain = new Array('Online Services', 'Apple Trailers', 'Post Date', | |
postdate.slice(0, 7)); | |
addCdsObject(obj, createContainerChain(chain)); | |
} | |
} | |
// main script part | |
if (getPlaylistType(orig.mimetype) == '') | |
{ | |
var arr = orig.mimetype.split('/'); | |
var mime = arr[0]; | |
// var obj = copyObject(orig); | |
var obj = orig; | |
obj.refID = orig.id; | |
if (mime == 'audio') | |
{ | |
if (obj.onlineservice == ONLINE_SERVICE_WEBORAMA) | |
addWeborama(obj); | |
else | |
addAudio(obj); | |
} | |
if (mime == 'video') | |
{ | |
if (obj.onlineservice == ONLINE_SERVICE_YOUTUBE) | |
addYouTube(obj); | |
else if (obj.onlineservice == ONLINE_SERVICE_APPLE_TRAILERS) | |
addTrailer(obj); | |
else | |
addVideo(obj); | |
} | |
if (mime == 'image') | |
{ | |
addImage(obj); | |
} | |
if (orig.mimetype == 'application/ogg') | |
{ | |
if (orig.theora == 1) | |
addVideo(obj); | |
else | |
addAudio(obj); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2013-11-02 13:17:23 INFO: Loading configuration from: /etc/mediatomb/config_js.xml | |
2013-11-02 13:17:23 INFO: Checking configuration... | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/tmpdir using default value: /tmp/ | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/servedir using default value: | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/synchronous using default value: off | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/on-error using default value: restore | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/backup/attribute::enabled using default value: no | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/storage/sqlite3/backup/attribute::interval using default value: 600 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ui/attribute::poll-when-idle using default value: no | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ui/attribute::poll-interval using default value: 2 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ui/items-per-page/attribute::default using default value: 25 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/mappings/extension-mimetype/attribute::case-sensitive using default value: no | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:1365] validate(): received UTF-8 from nl_langinfo | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/filesystem-charset using default value: UTF-8 | |
2013-11-02 13:17:23 INFO: Setting filesystem import charset to UTF-8 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/metadata-charset using default value: UTF-8 | |
2013-11-02 13:17:23 INFO: Setting metadata import charset to UTF-8 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/playlist-charset using default value: UTF-8 | |
2013-11-02 13:17:23 INFO: Setting playlist charset to UTF-8 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/pc-directory/attribute::upnp-hide using default value: no | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/interface using default value: | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/ip using default value: | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/bookmark using default value: mediatomb.html | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/modelName using default value: MediaTomb | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/modelDescription using default value: Free UPnP AV MediaServer, GNU GPL | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/modelNumber using default value: 0.12.1 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/serialNumber using default value: 1 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/manufacturerURL using default value: http://mediatomb.cc/ | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/presentationURL using default value: | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/presentationURL/attribute::append-to using default value: none | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/upnp-string-limit using default value: -1 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/scripting/playlist-script/attribute::create-link using default value: yes | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/port using default value: 0 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/alive using default value: 1800 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/autoscan/attribute::use-inotify using default value: auto | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/library-options/libexif/auxdata using default value: | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/library-options/id3/auxdata using default value: | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /server/extended-runtime-options/ffmpegthumbnailer/image-quality using default value: 8 | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2371] getOption(): Config: option not found: /import/magic-file using default value: | |
2013-11-02 13:17:23 WARNING: You enabled the YouTube feature, which allows you | |
to watch YouTube videos on your UPnP device! | |
Please check http://www.youtube.com/t/terms | |
By using this feature you may be violating YouTube | |
service terms and conditions! | |
2013-11-02 13:17:23 INFO: Configuration check succeeded. | |
2013-11-02 13:17:23 DEBUG: [../src/config_manager.cc:2273] validate(): Config file dump after validation: | |
<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" poll-when-idle="no" poll-interval="2"> | |
<accounts enabled="no" session-timeout="30"> | |
<account user="mediatomb" password="mediatomb"/> | |
</accounts> | |
<items-per-page default="25"><option>10</option><option>25</option><option>50</option><option>100</option></items-per-page></ui> | |
<name>MediaTomb</name> | |
<udn>uuid:b6dc2eae-9405-4292-adda-345d10a399d9</udn> | |
<home>/var/lib/mediatomb</home> | |
<webroot>/usr/share/mediatomb/web</webroot> | |
<storage caching="yes"> | |
<sqlite3 enabled="yes"> | |
<database-file>/var/lib/mediatomb/mediatomb.db</database-file> | |
<synchronous>off</synchronous><on-error>restore</on-error><backup enabled="no" interval="600"/></sqlite3> | |
<mysql enabled="no"> | |
<host>localhost</host> | |
<username>mediatomb</username> | |
<database>mediatomb</database> | |
</mysql> | |
</storage> | |
<protocolInfo extend="no"/><!-- 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"/> | |
</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>5</seek-percentage> | |
<filmstrip-overlay>yes</filmstrip-overlay> | |
<workaround-bugs>no</workaround-bugs> | |
<image-quality>8</image-quality></ffmpegthumbnailer> | |
<mark-played-items enabled="yes" suppress-cds-updates="yes"> | |
<string mode="prepend">*</string> | |
</mark-played-items> | |
</extended-runtime-options> | |
<tmpdir>/tmp/</tmpdir><servedir></servedir><pc-directory upnp-hide="no"/><interface></interface><ip></ip><bookmark>mediatomb.html</bookmark><modelName>MediaTomb</modelName><modelDescription>Free UPnP AV MediaServer, GNU GPL</modelDescription><modelNumber>0.12.1</modelNumber><serialNumber>1</serialNumber><manufacturerURL>http://mediatomb.cc/</manufacturerURL><presentationURL append-to="none"></presentationURL><upnp-string-limit>-1</upnp-string-limit><port>0</port><alive>1800</alive></server> | |
<import hidden-files="no"> | |
<scripting script-charset="UTF-8"> | |
<common-script>/usr/share/mediatomb/js/common.js</common-script> | |
<playlist-script create-link="yes">/usr/share/mediatomb/js/playlists.js</playlist-script> | |
<virtual-layout type="js"> | |
<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" case-sensitive="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/x-matroska"/> | |
<map from="mka" to="audio/x-matroska"/><!-- 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"/> | |
<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-matroska" as="mkv"/> | |
<treat mimetype="audio/x-matroska" as="mka"/> | |
</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> | |
<filesystem-charset>UTF-8</filesystem-charset><metadata-charset>UTF-8</metadata-charset><playlist-charset>UTF-8</playlist-charset><autoscan use-inotify="auto"/><library-options><libexif><auxdata></auxdata></libexif><id3><auxdata></auxdata></id3></library-options><magic-file></magic-file></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> | |
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 0 -> 1 | |
2013-11-02 13:17:23 DEBUG: [../src/zmmf/object_stack.h:54] ~ObjectStack(): releasing! | |
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 1 -> 2 | |
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 2 -> 3 | |
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 3 -> 4 | |
2013-11-02 13:17:23 DEBUG: [../src/server.cc:118] upnp_init(): start | |
2013-11-02 13:17:23 DEBUG: [../src/storage/sqlite3/sqlite3_storage.cc:190] init(): db_version: 3 | |
2013-11-02 13:17:23 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 4 -> 5 | |
2013-11-02 13:17:23 INFO: Initialized port: 9000 | |
2013-11-02 13:17:23 INFO: Server bound to: 192.168.0.200 | |
2013-11-02 13:17:23 DEBUG: [../src/server.cc:203] upnp_init(): webroot: /usr/share/mediatomb/web | |
2013-11-02 13:17:23 DEBUG: [../src/upnp_xml.cc:200] UpnpXML_RenderDeviceDescription(): start | |
2013-11-02 13:17:24 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 5 -> 6 | |
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1815] updateAutoscanPersistentList(): setting persistent autoscans untouched - scanmode: timed; | |
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1826] updateAutoscanPersistentList(): updating/adding persistent autoscans (count: 0) | |
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1815] updateAutoscanPersistentList(): setting persistent autoscans untouched - scanmode: inotify; | |
2013-11-02 13:17:24 DEBUG: [../src/storage/sql_storage.cc:1826] updateAutoscanPersistentList(): updating/adding persistent autoscans (count: 0) | |
2013-11-02 13:17:24 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 6 -> 7 | |
2013-11-02 13:17:24 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 7 -> 8 | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:65] AutoscanInotify(): Max watches on the system: 8192 | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:90] init(): starting inotify thread... | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:347] monitor(): ---> INCOMING REQUEST TO MONITOR [/mnt/foo/TV Shows] | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:347] monitor(): ---> INCOMING REQUEST TO MONITOR [/mnt/bar/TV Shows] | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:347] monitor(): ---> INCOMING REQUEST TO MONITOR [/mnt/bar/Movies] | |
2013-11-02 13:17:24 INFO: MediaTomb Web UI can be reached by following this link: | |
2013-11-02 13:17:24 INFO: http://192.168.0.200:9000/ | |
2013-11-02 13:17:24 DEBUG: [../src/server.cc:311] upnp_init(): end | |
2013-11-02 13:17:24 DEBUG: [../src/timer.cc:67] triggerWait(): triggerWait. - 0 subscriber(s) | |
2013-11-02 13:17:24 DEBUG: [../src/timer.cc:98] triggerWait(): nothing to do, sleeping... | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:128] staticThreadProc(): started inotify thread. | |
2013-11-02 13:17:24 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:203] threadProc(): adding recursive watch: /mnt/foo/TV Shows | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:376] watchPathForMoves(): adding move watch: / | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:376] watchPathForMoves(): adding move watch: /mnt | |
2013-11-02 13:17:24 DEBUG: [../src/autoscan_inotify.cc:376] watchPathForMoves(): adding move watch: /mnt/foo | |
... snip about 2500 lines of indexing crap ... | |
2013-11-02 13:17:38 DEBUG: [../src/content_manager.cc:747] _rescanDirectory(): start | |
2013-11-02 13:17:38 DEBUG: [../src/content_manager.cc:821] _rescanDirectory(): Rescanning location: /mnt/foo/TV Shows/Pioneer One | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119497,119498,119499) | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans! | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui: | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044 | |
2013-11-02 13:17:38 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui): | |
2013-11-02 13:17:38 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:191] addFfmpegResourceFields(): Added duration: 00:35:32.0 | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:235] addFfmpegResourceFields(): Added resolution: 1280x720 pixel | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:248] addFfmpegResourceFields(): Added sample frequency: 48000 Hz | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:255] addFfmpegResourceFields(): Added number of audio channels: 2 | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is -333 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","upnp_class","dc_title","resources","flags","location","location_hash","mime_type","parent_id","id") VALUES (2,'object.item.videoItem','Pioneer.One.S01E01.720p.x264-VODO.mkv','0~protocolInfo=http-get%3A%2A%3Avideo%2Fx-matroska%3A%2A&size=1172308607&duration=00%3A35%3A32%2E0&resolution=1280x720&sampleFrequency=48000&nrAudioChannels=2~~',1,'F/mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv',556382427,'video/x-matroska',96041,120415) | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96041 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96041, signal: 0 | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/All Video | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 94396 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120415,'Pioneer.One.S01E01.720p.x264-VODO.mkv',1,'video/x-matroska',94396,120416) | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 94396 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 94396, signal: 0 | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E01.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/TV Shows/Pioneer One | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 96044 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120415,'Pioneer.One.S01E01.720p.x264-VODO.mkv',1,'video/x-matroska',96044,120417) | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96044 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96044, signal: 0 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119500,119501,119502) | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans! | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui: | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui): | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:237] threadProc(): sending updates... | |
2013-11-02 13:17:39 DEBUG: [../src/upnp_cds_subscriptions.cc:82] subscription_update(): start | |
2013-11-02 13:17:39 DEBUG: [../src/upnp_cds_subscriptions.cc:106] subscription_update(): end | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:264] threadProc(): updates sent. | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:191] addFfmpegResourceFields(): Added duration: 00:38:41.8 | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:235] addFfmpegResourceFields(): Added resolution: 1280x720 pixel | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:248] addFfmpegResourceFields(): Added sample frequency: 48000 Hz | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:255] addFfmpegResourceFields(): Added number of audio channels: 2 | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is -333 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","upnp_class","dc_title","resources","flags","location","location_hash","mime_type","parent_id","id") VALUES (2,'object.item.videoItem','Pioneer.One.S01E02.720p.x264-VODO.mkv','0~protocolInfo=http-get%3A%2A%3Avideo%2Fx-matroska%3A%2A&size=1173790774&duration=00%3A38%3A41%2E8&resolution=1280x720&sampleFrequency=48000&nrAudioChannels=2~~',1,'F/mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv',4272161592,'video/x-matroska',96041,120418) | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96041 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96041, signal: 1 | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:174] containerChanged(): signalling... | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:215] threadProc(): threadProc: sleeping for 1647 millis | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/All Video | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 94396 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120418,'Pioneer.One.S01E02.720p.x264-VODO.mkv',1,'video/x-matroska',94396,120419) | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 94396 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 94396, signal: 0 | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E02.720p.x264-VODO.mkv | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/TV Shows/Pioneer One | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 96044 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120418,'Pioneer.One.S01E02.720p.x264-VODO.mkv',1,'video/x-matroska',96044,120420) | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96044 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96044, signal: 0 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119503,119504,119505) | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans! | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui: | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui): | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:191] addFfmpegResourceFields(): Added duration: 00:31:46.3 | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:201] addFfmpegResourceFields(): Added overall bitrate: 205925 kb/s | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:223] addFfmpegResourceFields(): FourCC: 44495658 = XVID | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:235] addFfmpegResourceFields(): Added resolution: 624x352 pixel | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:248] addFfmpegResourceFields(): Added sample frequency: 48000 Hz | |
2013-11-02 13:17:39 DEBUG: [../src/metadata/ffmpeg_handler.cc:255] addFfmpegResourceFields(): Added number of audio channels: 2 | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is -333 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","upnp_class","dc_title","resources","flags","location","location_hash","mime_type","parent_id","id") VALUES (2,'object.item.videoItem','Pioneer.One.S01E03.Xvid-VODO.avi','0~protocolInfo=http-get%3A%2A%3Avideo%2Fx-msvideo%3A%2A&size=392560640&duration=00%3A31%3A46%2E3&bitrate=205925&resolution=624x352&sampleFrequency=48000&nrAudioChannels=2~~4cc=XVID',1,'F/mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi',2980817655,'video/x-msvideo',96041,120421) | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96041 | |
2013-11-02 13:17:39 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:39 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96041, signal: 0 | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi | |
2013-11-02 13:17:39 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/All Video | |
2013-11-02 13:17:39 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 94396 | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120421,'Pioneer.One.S01E03.Xvid-VODO.avi',1,'video/x-msvideo',94396,120422) | |
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 94396 | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:40 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 94396, signal: 0 | |
2013-11-02 13:17:40 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi | |
2013-11-02 13:17:40 DEBUG: [../src/tools.cc:1059] normalizePath(): Normalizing path: /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E03.Xvid-VODO.avi | |
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1303] addContainerChain(): received chain: /Video/TV Shows/Pioneer One | |
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1258] addObject(): Adding: parent ID is 96044 | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:494] addObject(): insert_query: INSERT INTO "mt_cds_object" ("object_type","ref_id","dc_title","flags","mime_type","parent_id","id") VALUES (2,120421,'Pioneer.One.S01E03.Xvid-VODO.avi',1,'video/x-msvideo',96044,120423) | |
2013-11-02 13:17:40 DEBUG: [../src/content_manager.cc:1264] addObject(): After adding: parent ID is 96044 | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:2370] flushInsertBuffer(): flushing insert buffer (1 statements) | |
2013-11-02 13:17:40 DEBUG: [../src/update_manager.cc:155] containerChanged(): containerChanged. id: 96044, signal: 0 | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1522] _recursiveRemove(): start | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1429] _removeObjects(): SELECT "a"."id","a"."persistent","o"."location" FROM "mt_autoscan" a JOIN "mt_cds_object" o ON "o"."id"="a"."obj_id" WHERE "o"."id" IN (119506,119507,119508) | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1434] _removeObjects(): relevant autoscans! | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1666] _recursiveRemove(): end | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1672] _purgeEmptyContainers(): start upnp: ,96041,94396,96044; ui: | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1710] _purgeEmptyContainers(): upnp-sql: SELECT "a"."id", COUNT("b"."parent_id"),"a"."parent_id","a"."flags" FROM "mt_cds_object" "a" LEFT JOIN "mt_cds_object" "b" ON "a"."id"="b"."parent_id" WHERE "a"."object_type"=1 AND "a"."id" IN ( 96041,94396,96044) GROUP BY a.id | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1783] _purgeEmptyContainers(): end; changedContainers (upnp): 94396,96041,96044 | |
2013-11-02 13:17:40 DEBUG: [../src/storage/sql_storage.cc:1784] _purgeEmptyContainers(): end; changedContainers (ui): | |
2013-11-02 13:17:40 DEBUG: [../src/metadata/ffmpeg_handler.cc:276] fillMetadata(): Running ffmpeg handler on /mnt/foo/TV Shows/Pioneer One/Pioneer.One.S01E04.720p.x264-VODO.mkv | |
2013-11-02 13:17:40 DEBUG: [../src/web_callbacks.cc:72] create_request_handler(): Filename: /content/media/object_id/119962/res_id/0/ext/file.mkv, Path: (null) | |
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:345] open(): start | |
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:360] open(): full url (filename): /content/media/object_id/119962/res_id/0/ext/file.mkv, parameters: object_id/119962/res_id/0/ext/file.mkv | |
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:370] open(): Opening media file with object id 119962 | |
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:506] open(): path: /mnt/foo/TV Shows/Better Off Ted/Better.Off.Ted.S01E01.720p.HDTV.x264-CTU/better.off.ted.s01e01.720p.hdtv.x264-ctu.mkv | |
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:519] open(): fetching resource id 0 | |
2013-11-02 13:17:40 DEBUG: [../src/file_request_handler.cc:671] open(): Adding content disposition header: Content-Disposition: attachment; filename="better.off.ted.s01e01.720p.hdtv.x264-ctu.mkv" | |
2013-11-02 13:17:40 DEBUG: [../src/singleton.cc:73] registerSingleton(): registering new singleton... - 10 -> 11 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment