スポンサードリンク

2012年8月22日水曜日

動画・写真配信サーバ構築(DLNAサーバ)

写真や動画を一元管理するため、DLNAサーバを構築する。

DLNAサーバとは、写真や動画をネットワーク経由でストリーミング配信するもの。
このサーバを設置すると、iPhoneやiPad、パソコンでファイルを見ることができる。

その備忘録。

< 注意 >
mediatombをyumでインストールするためには、まずRPMforgeリポジトリを追加する
必要があるらしいが、これが結構厄介。

priority=1と設定する必要があるが、mediatombインストール後、mediatombの設定変更前に
priority=1はコメントアウトするようにしたほうがよい。
こうしないと、それ以後、yumを使ってupdateやinstallができなくなる。
また、mediatombインストールし設定変更後に上記priority=1をコメントアウトして、
yum updateを行うと折角設定したものが、初期化されてしまい、また設定し直し・・・
ということになりかねない。


■RPMfrogeリポジトリ導入

注意!! CentOS6の場合は、以下だがCentOS5の場合は少し違うので注意。

1. yumのplugin-prioritiesをインストールする。

#yum -y install yum-plugin-priorities


2. 標準リポジトリ設定ファイル編集

#vi /etc/yum.repos.d/CentOS-Base.repo

↓ ----- ここから設定ファイル本文
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
priority=1
↑ ----- ここまで設定ファイル本文

3. rpmforgeの最新版をダウンロードする。
注意!! 最新版を確認し、URL指定すること。

#wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm


4. RMPForgeリポジトリをインストールする

#rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm


5.ダウンロードしたファイルを削除する

#rm -f rpmforge-release-*


6.rpmforge-releaseをアップデートする

#yum -y update rpm forge-release



■DLNAサーバソフトmediatombインストール


1. mediatombをダウンロード

    本家サイト http://mediatomb.cc/pages/download#source_codeから最新のバージョンを確認。
(2012.08.21時点の最新をダウンロード)

#wget http://jaist.dl.sourceforge.net/sourceforge/mediatomb/mediatomb-0.12.1.tar.gz


2. ダウンロードしたMediatombパッケージを展開

#tar zxvf mediatomb-0.12.1.tar.gz


3. /usr/src/にredhatディレクトリを作成

#mkdir /usr/src/redhat


4. /usr/src/redhatにSPECSディレクトリを作成

#mkdir /usr/src/redhat/SPECS


5. /usr/src/redhatにSOURCEディレクトリを作成

#mkdir /usr/src/redhat/SOURCE


6. 権限を付与

#chmod 755 -R /usr/src/redhat


7. ダウンロードしたファイル mediatomb.specをコピー

#cp mediatomb-0.12.1/mediatomb.spec /usr/src/redhat/SPECS/


8.ダウンロードしたファイルmediatomb-0.12.1.tar.gzをコピー

#cp mediatomb-0.12.1.tar.gz /usr/src/redhat/SOURCES/
#cp mediatomb-0.12.1.tar.gz /root/rpmbuild/SOURCES/


9. mediatomb.specをバックアップ待避

#cp /usr/src/redhat/SPECS/mediatomb.spec /usr/src/redhat/SPECS/mediatomb_orignal.spec


10. mediatomb.specのBuildRequiresのモジュール定義を編集

変更前
BuildRequires: sqlite-devel, mysql-devel, libexif-devel, taglib-devel, file-devel, js-devel, zlib-devel

変更後
BuildRequires: sqlite-devel, mysql-devel, libexif-devel, taglib-devel, file, js-devel, zlib-devel, expat-devel


11. MediaTombのRPMを作成する

#rpmbuild -bb --clean /usr/src/redhat/SPECS/mediatomb.spec


※ここでもしビルド依存性の失敗でエラーが発生した場合、
   必要なモジュールをすべてyumインストールすればよい。
   その後、再度11.のRPM作成を実行。

ex) taglib-devel is needed by ... とエラー表記されている場合
#yum -y install taglib-devel


12.MediaTombのRPMインストール

#yum -y localinstall --nogpgcheck /root/rpmbuild/RPMS/x86_64/mediatomb-0.12.1-1.el6.x86_64.rpm


13.後始末(インストールに使用したファイルを削除)

#rm -f /root/rpmbuild/RPMS/x86_64/mediatomb-*
#rm -rf mediatomb-0.12.1
#rm -f mediatomb-0.12.1.tar.gz


14.  2. 標準リポジトリ設定ファイル編集のpriority記述をコメントアウトする。(重要)


15. ファイアウォールのポート50500 TCP/UDP許可する。



■MySQLデータベース作成



1. MySQLにログイン

#mysql -u root -p


2. mediatombデータベースを作成

mysql > create database mediatomb;


3.mediatombユーザ作成

mysql > grant all privileges on media tomb.* to mediatomb@localhost identified by 'パスワード';


4. MySQLログアウト

mysql > exit;


5.mediatombデータベース初期設定

#mysql -p mediatomb < /usr/share/mediatomb/mysql.sql
Enter password:



■Mediatomb設定・稼働開始


1. mediatomb設定ファイルを待避

#cp /etc/mediatomb.conf /etc/mediatomb_original.conf


2.MediaTombの設定ファイルを変更する

#vi /etc/mediatomb.conf

↓ ----- ここから設定ファイル本文

MT_INTERFACE="NOT_SET"
MT_INTERFACE="eth0" ← ネットワークインタフェース名を指定
↑----- ここまで設定ファイル本文


3. config.xmlを作成するため起動し、即終了させる。

#service mediatomb start; service mediatomb stop


4. MegiaTombのconfig.xmlファイルを編集する。

#vi /etc/mediatomb/config.xml

↓ ----- ここから設定ファイル本文

<!-- ブラウザアクセス時にログイン認証する -->
      <accounts enabled="yes" session-timeout="30">
        <account user="shuji" password="shujinewhara19805587"/>
      </accounts>
<!-- ここまで -->


    <storage>
<!--sqliteを無効化-->
      <sqlite3 enabled="no">
        <database-file>mediatomb.db</database-file>
      </sqlite3>
<!--mysql有効化-->
      <mysql enabled="yes">
        <host>localhost</host>
        <username>mediatomb</username>
<!--MySQL mediatombユーザのパスワードを指定-->
        <password>パスワード</password>
        <database>mediatomb</database>
      </mysql>
    </storage>
<!--PS3を使う人はここをyes に-->
    <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->

  <import hidden-files="no">
        <filesystem-charset>UTF-8</filesystem-charset>
        <metadata-charset>CP932</metadata-charset>
        <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="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 -->
<!--PS3でdivX対応させる場合はここをコメントアウトをはずす-->
        <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>
↑ ----- ここまで設定ファイル本文


5. Mediatomb起動

#service mediatomb start


6. Mediatombサービス自動起動設定

#chkconfig mediatomb on


■MediaTombサーバで公開するファイルを選択


1. ブラウザのアドレスバーからMediaTombにアクセス

http://サーバのアドレス:50500



2. ログイン画面が表示される




3. ユーザ名・パスワードを入力

MegiaTombのconfig.xmlファイルのaccountタグ設定と同一を入力する


4. MediaTombの画面が表示される




5. 公開するファイルを選択

左上のFileSystemをクリックする。
サーバのディレクトリツリーが表示される。
任意のディレクトリまたはファイルを選択し、右上のプラスボタンで追加する。



6. 選択したファイルが公開されているか確認する。


左上のDataBaseをクリックする。
追加したディレクトリのツリーと、
写真を追加したらPhotos, 動画はMovieなどの表示がされていればOK.




ちなみに、公開したファイルを左クリックするとダウンロードできます。


■MediaTombクライアントで公開ファイルを閲覧

iPhoneやiPadで DLNAアプリをインストールして閲覧できます。
確認したところ、まだあまり使いやすいアプリはないみたいです・・・。

またなぜかサーバ側のMediaTombを再起動しないと、クライアント側で、
MediaTombの検索に失敗してしまうみたい・・・。

サーバ側の問題!?またこの件については解決次第追記します。



以上




0 件のコメント:

コメントを投稿