DLNAクライアント機能を持つテレビなどからネットワーク経由で動画や画像を再生できるよう、MediaTombを設定して試してみました。
スマホやPCもDLNAクライアントアプリがあるのですが、そちらは共有フォルダのsambaにアクセスできれば再生できるので、どちらでもいいですが、テレビから直接見えるのは便利ですね!
設定完了するとうちのテレビ、TOSHIBA REGZA 37RE1からだと、まずリモコンのレグザリンクボタン
あとは動画や写真などを選択して再生できます。
設定してやれば家中のDLNAクライアントのテレビなどから見えるのが便利ですね!
MediaTombのインストールと設定
yumでインストールしたいのでレポジトリを追加します。
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
使う環境のCentOSに合ったものを以下から確認してみてください。
Descriptionに説明が記載されています。
http://pkgs.repoforge.org/rpmforge-release/
今回はCentOS6 64bit用の0.5.3-1です。
yumでインストール
yum install mediatomb
コマンド一発で関連したものも全て入ります。
データベースはmysqlかsqlite3ですが、mysqlにしました。
入れた環境ではmysqlを全く使ってなかったので、まずrootユーザーのパスワードを設定します。
service mysqld stop mysqld_safe --skip-grant-tables & mysql -u root mysql> use mysql; mysql> update user set password=password("rootのパスワード") where user='root'; mysql> flush privileges; mysql> exit
mysqlにrootで接続します
mysql -u root –p
ここで下のようなエラーが出ました。
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
/var/lib/mysql/mysql.sock が無いようなので作成します。
touch /var/lib/mysql/mysql.sock chown mysql:mysql /var/lib/mysql
mysqlにmediatombのデータベースを作成してパスワード設定します。
mysql -u root -p mysql> create database mediatomb default character set utf8; mysql> grant all privileges on mediatomb.* to mediatomb@localhost identified by 'MediaTombユーザーのパスワード'; mysql> exit
mediatomb用の登録コマンドが用意されてるのでこれを実行します。
mysql -u mediatomb -p mediatomb < /usr/share/mediatomb/mysql.sql
MediaTombデーモンの設定をするため、下の設定ファイルを編集します。
vi /etc/sysconfig/mediatomb
MediaTombが使うインターフェイスをeth0にして保存します。
MT_INTERFACE="NOT_SET" ↓ MT_INTERFACE="eth0"
/etc/mediatomb/config.xml を生成させるためにMediaTombを起動し、停止します。
(起動すると上記ファイルが生成されます)
MediaTomb起動 service mediatomb start 出力されたらひとまず停止 service mediatomb stop
MediaTombの設定を修正していきます。
vi /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"> <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:c9b6b559-9c13-4d87-a73f-c2047268c17c</udn> <home>/etc/mediatomb</home> <webroot>/usr/share/mediatomb/web</webroot> <storage> <sqlite3 enabled="no"> <database-file>mediatomb.db</database-file> </sqlite3> <mysql enabled="yes"> <host>localhost</host> <username>mediatomb</username> <password>mysqlのmediatombデータベースのパスワード</password> <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"/> </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> <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"> <filesystem-charset>UTF-8</filesystem-charset> <metadata-charset>CP932</metadata-charset>
<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> </virtual-layout> </scripting> <mappings> <extension-mimetype ignore-unknown="no"> <map from="jpg" to="image/jpeg"/> <map from="JPG" to="image/jpeg"/> <map from="JPEG" to="image/jpeg"/> <map from="jpeg" to="image/jpeg"/> <map from="gif" to="image/gif"/> <map from="png" to="image/png"/> <map from="m4v" to="video/mp4"/> <map from="mp4" to="video/mp4"/> <!-- <map from="mpg" to="video/mpeg"/> --> <!-- <map from="mpeg" to="video/mpeg"/> --> <map from="mpg" to="video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=01;DLNA.ORG_CI=0"/> <map from="mpeg" to="video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=01;DLNA.ORG_CI=0"/> <map from="m2ts" to="video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=01;DLNA.ORG_CI=0"/> <map from="MTS" to="video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_OP=01;DLNA.ORG_CI=0"/> <map from="mp3" to="audio/mpeg"/> <map from="ogx" to="application/ogg"/> <map from="ogv" to="video/ogg"/> <map from="oga" to="audio/ogg"/> <map from="ogg" to="audio/ogg"/> <map from="ogm" to="video/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"/> </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"/> </mimetype-contenttype> </mappings> <online-content> <YouTube enabled="no" refresh="28800" update-at-start="no" purge-after="604800" racy-content="exclude" format="mp4" 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> </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>
<map from=”JPG” to=”image/jpeg”/> などの部分は from= が拡張子で、大文字、小文字を区別するため、デジカメの生ファイル名が大文字の.JPGなどの場合は上記のように追加しておかないと認識してくれないです。
(小文字の.jpgは既に存在するので、ファイル名を小文字に変換すれば認識してくれますが)
設定ファイルが編集できたらMediaTombを起動します。
service mediatomb start
上手く設定できた場合、「http://サーバのIP:50500」にアクセスするとMediaTombのメディア管理画面が表示されます。
表示されない場合はMediaTombのログを確認してみてください。
上記は50500ポートでしたが、このログに待ち受けているURLも出力されています。
cat /var/log/mediatomb
MediaTombとmysqlが起動時に開始するようにしときます。
chkconfig mysqld on chkconfig mediatomb on
あとはMediaTombのメディア管理画面から配信したいディレクトリなどを指定してやればOKです。
追加は「Filesystem」をクリックした後、動画や写真の入ったディレクトリを選択し、右側の「プラスとグルグルのアイコン」をクリックします。
グルグルのアイコンはファイルが追加された際などに自動で認識してくれる機能です。
「Database」に戻り、「All video」などに対象のファイルが追加されていれば完了です。
特に問題がなければ、テレビなどから再生できると思います。
上手く動作しない場合は下のページを確認してみてください。
MediaTomb(DLNAサーバ)が動作しない時は
https://blog.aimix.jp/700/
Comment