Как сделать свой UPNP сервер  на базе mediatomb?  Ничего сложного , но мало ли кому понадобится. Мне он лично понадобился для того что бы моя любимая дочка смогла на своей Sony PS3 смогла смотреть IpTv каналы , фильмы , мультфильмы, а самое главное что бы я имел возможность быстро публиковать любые медиаматериалы , как говорится без «отрыва от производства»

 

Итак , что нам понадобится ? 
 
 
1) ОС (у меня FreeBsd)
2) Установленный и настроенный MySQL сервер
3) Ну и собственно диски или раздел на котором хранится контент
4) Желание все это настроить
 
Ставить будем естественно из портов:
whereis mediatomb
/usr/ports/net/mediatomb
cd /usr/ports/net/mediatomb
sudo make install clean
Вот параметры которые надо включить/отключить при установке.
WITHOUT_SQLITE3=true
WITH_MYSQL=true
WITH_JS=true
WITH_LIBEXIF=true
WITH_TAGLIB=true
WITH_FFMPEG=true
WITH_FFMPEGTHUMBNAILER=true
WITH_EXTERNAL_TRANSCODING=true
WITH_CURL=true
WITHOUT_ID3LIB=true
WITHOUT_LIBEXTRACTOR=true
WITHOUT_DEBUG=true
Далее все тривиально , ждем , пьем кофе.  Когда установится в /etc/rc.conf про писываем
mediatomb_enable=''YES''
Это сделано для автоматического запуска сервера во время загрузки ОС.
Теперь нам надо сконфигурировать наш сервер.  Первым делом создадим БД  на сервере MySql (подразумевается , что вы знаете как это сделать) назовём ее mediatomb. Так же следует прописать права для пользователя от имени которого сервер будео «общатся с базой » у меня это будет «media» пароль «media»
Последний самый важный этап , это конфигурация самого сервера
mcedit /usr/local/etc/mediatomb/config.xml
</code></pre>
Не буду приводить весь конфигфаил только те места. Которые нужно исправить или добавить.
<?хml 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">
<server>
<!-- IP вашего сервера — можно не указывать, но почему то моя PS не увидела сервер -->
<ip>192.168.0.10</ip> //
<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
<ui enabled="yes" show-tooltips="yes">
<accounts enabled="no" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
</accounts>
</ui>
<!-- имя вашего медиасервера именно так его будет видеть PS -->
<name>MediaTomb</name>
<!-- Хз что это но лучше указать ;) -->
<udn>uuid:a3e0b43e-634a-47b1-9b7c-f0fbaf13ab16</udn>
<!-- Включаем кеширование и отключаем sqlite -->
<storage caching="yes">
<sqlite3 enabled="no">
<!-- Врубаем MySql и добавлем авторизацию на сервере мускуда по умолчанию нет строчки с паролем -->
<mysql enabled="yes">
<host>localhost</host>
<username>media</username>
<database>mediatomb</database>
<password>media</password>
</mysql>
</storage>
<extended-runtime-options>
<ffmpegthumbnailer enabled="no">
<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="no" suppress-cds-updates="yes">
<string mode="prepend">*</string>
<mark>
<content>video</content>
</mark>
</mark-played-items>
</extended-runtime-options>
</server>
<import hidden-files="no">
<scripting script-charset="UTF-8">
<filesystem-charset>UTF-8</filesystem-charset>
<metadata-charset>UTF-8</metadata-charset>
<playlist-charset>UTF-8</playlist-charset>
.......
<!-- В заключение добавляем поддержку видеоформатов для PS3-->
<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"/>
<!-- 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>
На этом наше конфигурирование закончено
Запускаем mediatomb
cd /usr/local/etc/rc.d/
./mediatomb start
Если все нормально то он не ругнется . Если нет то смотрим где в конфиг файле ошибки.
Переходим по адресу http://вашмедиасервер:49152
Пример добавления канала IPTV
 
 
На PS3 делаем «Поиск медиасерверов» - находим наш MediaTomb и наслаждаемся видео с вашего хранилища.

Комментарии  

 
0 #1 Dimzon 08.05.2013 06:38
Доброго времени суток! Не поможете решить проблему с Медиатомбом? ОС- FreeBSD 9.1. Поставил MediaTomb-0.12. 1_10. Установился, запустился, работает:
sockstat | grep mediatomb
mediatomb mediatomb 56043 4 stream -> /tmp/mysql.sock
mediatomb mediatomb 56043 5 dgram -> /var/run/logpriv
mediatomb mediatomb 56043 6 tcp4 *:49152 *:*
mediatomb mediatomb 56043 7 udp4 127.0.0.1:64100 *:*
mediatomb mediatomb 56043 8 udp4 *:1900 *:*

По WEB интерфейсу доступен, файлы видит, базу создаёт, всё норм, НО! его ни как не видно из сети - ни одним клиентом! Ни в винде (XP & 7) ни в Андроиде ни телевизором с DLNA. То есть вообще ни как. В системе стоит файрвол PF с открытым внутренним интерфейсом (к которому и привязан MEDIATOMB). Куда копнуть?
Сообщить модератору
 

You have no rights to post comments

Яндекс.Метрика