すんなりといけたかに見えたMediaTombによるメディアサーバーの構築。
しかし思った通りすんなりとはいかなかった。Pleskを卒業したばかりの身にとっては、このくらいのトラブルがあって当然と思っているんだが、こういうちょっとしたソフトウェアを入れるのにも2~3時間悩んだりするのは結構辛いものがある。
さて、トラブルの内容だが、まず最初にメディアサーバで登録したMP3ファイルが文字化けした。これは恐らくうちのマシンがEUC-JP環境だからだろうなーとあたりをつけたら、本当に当たっていた。
シロウトながらそれなりに器械とつきあっていけば、それなりに具合が分かってくるものだ。
/var/log/mediatomb を見ると
このようなログが大量に出ていた。最初はMySQLのテーブルの紹介順序などをいじったりしていたがうまくいかない。ネットで調べていると、中にはソースを変更したりする人までいたりして、あーこりゃオレの手には負えないと思った。
もう化けててもいいか・・とか思い始めたところで、画期的な解決方法を編み出した。
PC directoryだけ使えばいいんでわ?
メディアサーバーのアルバムとかアーティストとか、ジャンルとかいうフォルダ・・・・個人的には全然使いやすいと思わない。全部のファイルを同じフォルダに入れているような人にはいいかもしれないが、最初からフォルダを分けている人にとっては別になくてもいい。
PC directoryはファイルのパスがそのまま出るので、整頓されたツリーならばこれだけでも問題ない。そしてなにより、PC directoryで見ると文字化けがない!
ということはMP3のメタデータの部分で化けてたんだな・・ということが分かった。分かっただけで、もうこの問題には関わらないことにした。
この修正でPC directoryだけ表示されるようになった。よし、文字化け問題解決。
で、このPC directoryには問題が一つある。
ディレクトリがフルパスで出てくるので、毎回めんどくさいことに
/mnt/hdd/media/mp3
みたいにサブフォルダを下っていくためにコントローラーの右ボタンを連打しなければならないということ。
これは最高にめんどくさい。許せん。
で、linuxにはシンボリックリンクというのがある。あることは知っていたが、ショートカットとの違いを理解していない。
うぃきぺでぃあで調べたが、分かったようで分からない。そういうときはだいたい分かっていない。
分かっていようが分かっていまいが、
このmediaserverをmediatombのUIで登録してみたところ、期待通りの結果が得られた。
ちなみにもう一つのトラブル「プロトコルエラー2104」についてはまた後日書きたいと思う。
しかし思った通りすんなりとはいかなかった。Pleskを卒業したばかりの身にとっては、このくらいのトラブルがあって当然と思っているんだが、こういうちょっとしたソフトウェアを入れるのにも2~3時間悩んだりするのは結構辛いものがある。
さて、トラブルの内容だが、まず最初にメディアサーバで登録したMP3ファイルが文字化けした。これは恐らくうちのマシンがEUC-JP環境だからだろうなーとあたりをつけたら、本当に当たっていた。
シロウトながらそれなりに器械とつきあっていけば、それなりに具合が分かってくるものだ。
-
<import hidden-files="no">
-
<filesystem-charset>EUC-JP</filesystem-charset>
-
<metadata-charset>CP932</metadata-charset>
/var/log/mediatomb を見ると
-
2012-04-25 03:56:58 WARNING: skipping /mnt/usb/media/mp3/ファイル名
-
r (1267): "Illegal mix of collations (ujis_japanese_ci,IMPLICIT) and (utf8_general_ci,COE
-
RCIBLE) for operation '='"; query: SELECT `id` FROM `mt_cds_object` WHERE `parent_id`=178
-
3 AND `ref_id`=9986 AND `dc_title`='3 詑惰唾
-
替楕胎大' LIMIT 1
このようなログが大量に出ていた。最初はMySQLのテーブルの紹介順序などをいじったりしていたがうまくいかない。ネットで調べていると、中にはソースを変更したりする人までいたりして、あーこりゃオレの手には負えないと思った。
もう化けててもいいか・・とか思い始めたところで、画期的な解決方法を編み出した。
PC directoryだけ使えばいいんでわ?
メディアサーバーのアルバムとかアーティストとか、ジャンルとかいうフォルダ・・・・個人的には全然使いやすいと思わない。全部のファイルを同じフォルダに入れているような人にはいいかもしれないが、最初からフォルダを分けている人にとっては別になくてもいい。
PC directoryはファイルのパスがそのまま出るので、整頓されたツリーならばこれだけでも問題ない。そしてなにより、PC directoryで見ると文字化けがない!
ということはMP3のメタデータの部分で化けてたんだな・・ということが分かった。分かっただけで、もうこの問題には関わらないことにした。
-
<playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
-
<virtual-layout type="disabled">
-
<import-script>/usr/share/mediatomb/js/import.js</import-script>
-
</virtual-layout>
この修正でPC directoryだけ表示されるようになった。よし、文字化け問題解決。
で、このPC directoryには問題が一つある。
ディレクトリがフルパスで出てくるので、毎回めんどくさいことに
/mnt/hdd/media/mp3
みたいにサブフォルダを下っていくためにコントローラーの右ボタンを連打しなければならないということ。
これは最高にめんどくさい。許せん。
で、linuxにはシンボリックリンクというのがある。あることは知っていたが、ショートカットとの違いを理解していない。
うぃきぺでぃあで調べたが、分かったようで分からない。そういうときはだいたい分かっていない。
分かっていようが分かっていまいが、
-
ln -s /mnt/data/media /mediaserver
このmediaserverをmediatombのUIで登録してみたところ、期待通りの結果が得られた。
ちなみにもう一つのトラブル「プロトコルエラー2104」についてはまた後日書きたいと思う。
PS3を使って、デジカメなんかで撮影した動画や写真を再生したい、誰だってそう考える。
しかし、PS3は普通にWindowsフォルダ共有やFTPなどの方法ではファイルを参照することができない。
その代わりにDLNAという規格を通じて、ネットワーク上のストレージからマルチメディアデータを再生することが出来る。
Linuxマシンをメディアサーバーにしたいと思ったら、MediaTombというソフトウェアが定番のようだから、これをインストールしてみようぢゃないか。
なぬー!つって
なぬー!つって
これまでの経験から、インストールが一発で完了するとは思っていなかった。これじゃ記事にならぬ。
そのようなわけで、/etc/sysconfig/mediatomb を修正
MT_INTERFACE="NOT_SET"
これを
MT_INTERFACE="eth0"
このように修正した。
次に
/etc/mediatomb/config.xml
を修正する。
じゃあちょっくら動作確認してみるか。
サービスを起動し、http://[IPアドレス]:50500/にアクセス。
しかし、繋がらない!
uiとかログも見たが、原因不明。
なぜだ、うおーとか思っていたらファイヤウォールの設定で50500ポートがブロックされていただけ、っていうオチ。
しかし、PS3は普通にWindowsフォルダ共有やFTPなどの方法ではファイルを参照することができない。
その代わりにDLNAという規格を通じて、ネットワーク上のストレージからマルチメディアデータを再生することが出来る。
Linuxマシンをメディアサーバーにしたいと思ったら、MediaTombというソフトウェアが定番のようだから、これをインストールしてみようぢゃないか。
-
yum install mediatomb
-
・・・省略
-
Dependency Installed:
-
js.i386 1:1.7.0-1.el5.rf libmp4v2.i386 0:1.5.0.1-3.el5.rf
-
mysql.i386 0:5.0.95-1.el5_7.1 taglib.i386 0:1.5-1.el5.rf
-
Complete!
なぬー!つって
なぬー!つって
これまでの経験から、インストールが一発で完了するとは思っていなかった。これじゃ記事にならぬ。
-
service mediatomb start
-
Please edit /etc/sysconfig/mediatomb and change the MT_INTERFACE variable to your network device (eth0, eth1, etc.)
そのようなわけで、/etc/sysconfig/mediatomb を修正
MT_INTERFACE="NOT_SET"
これを
MT_INTERFACE="eth0"
このように修正した。
-
service mediatomb start
-
Applying multicast settings to eth0... Starting mediatomb: [ OK ]
次に
/etc/mediatomb/config.xml
を修正する。
-
<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
-
-->
-
<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>
-
<mappings>
-
<extension-mimetype ignore-unknown="no">
-
<map from="jpg" 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="mp3" to="audio/mpeg"/>
-
<map from="ogg" to="application/ogg"/>
-
<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="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"/> -->
じゃあちょっくら動作確認してみるか。
サービスを起動し、http://[IPアドレス]:50500/にアクセス。
しかし、繋がらない!
uiとかログも見たが、原因不明。
なぜだ、うおーとか思っていたらファイヤウォールの設定で50500ポートがブロックされていただけ、っていうオチ。
私の環境ではrpmはインストールされているが、いろいろ調べているとyumというパッケージ管理ソフトが必要な場面が結構あるので、yumをインストールしてみることにした。
yumのパッケージは
ここからダウンロードした。OSやCPUによってディレクトリが変わるので注意してくらさい。
今回はこれをインストールしてみよう
こんな感じのエラーが出たが、上述のダウンロード元URLに全部置いてあったので、順番にインストール。最後にもう一回
これでyumが無事インストールできた。
途中でmysqlをインストールしています・・的なメッセージが出ていたような気がするが、tritonnは上書きされていなかったようだ。でも念のためyumのインストールは最初のほうにやったほうがいいだろうと思う。
試しにdovecotをインストールしてみた。いやあ、こういうインストールシールド的なパッケージ管理ソフトはいいですね。guiがないけど簡単でいいです。
yumのパッケージは
http://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/
ここからダウンロードした。OSやCPUによってディレクトリが変わるので注意してくらさい。
http://ftp.riken.jp/Linux/centos/5.2/os/x86_64/CentOS/yum-3.2.8-9.el5.centos.1.noarch.rpm
今回はこれをインストールしてみよう
rpm -ihv yum-3.2.8-9.el5.centos.1.noarch.rpm
python-elementtree は yum-3.2.8-9.el5.centos.1.noarch に必要とされています
python-iniparse は yum-3.2.8-9.el5.centos.1.noarch に必要とされています
python-sqlite は yum-3.2.8-9.el5.centos.1.noarch に必要とされています
urlgrabber >= 3.1.0 は yum-3.2.8-9.el5.centos.1.noarch に必要とされています
yum-metadata-parser >= 1.1.0 は yum-3.2.8-9.el5.centos.1.noarch に必要とされています
こんな感じのエラーが出たが、上述のダウンロード元URLに全部置いてあったので、順番にインストール。最後にもう一回
rpm -ihv yum-3.2.8-9.el5.centos.1.noarch.rpm
これでyumが無事インストールできた。
途中でmysqlをインストールしています・・的なメッセージが出ていたような気がするが、tritonnは上書きされていなかったようだ。でも念のためyumのインストールは最初のほうにやったほうがいいだろうと思う。
yum -y install dovecot
試しにdovecotをインストールしてみた。いやあ、こういうインストールシールド的なパッケージ管理ソフトはいいですね。guiがないけど簡単でいいです。