DLNA(on玄箱)

PlayStation3がDLNAクライアントとして動作することを知り、 鯖をCentOS/Debian(玄箱)としていろいろやってみたログ。 特に玄箱は非力なので無謀・。

DLNA鯖

linuxで動作するDLNA鯖にはmediatombとPS3 Media Serverあたりが有名だそうな

準備

どちらもPS3が直接再生できないファイルのためにトランスコード機能がある(と理解したつもり)。 なのでffmpegとかを含め、かなりライブラリが必要。

CentOS

  • Fedoraなら問題ないが、CentOSの場合、公式リポジトリでは不足。rpmforge、epel、kbsinghあたりを追加しておく
    # rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
    # vi /etc/yum.repos.d/rpmforge.repo
    # wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
    # rpm -ivh epel-release-5-2.noarch.rpm
    # vi /etc/yum.repos.d/epel.repo
    # vi /etc/yum.repos.d/epel-testing.repo
    とか(抜粋&一例)

Debian(lenny)

まずはリポジトリの書き換え。現在(2009/2)の/etc/apt/sources.list

deb http://ftp.jp.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free

deb http://ftp.jp.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ sid main contrib non-free

#deb ftp://ftp.nerim.net/debian-marillat/ testing main
deb http://www.debian-multimedia.org etch main

(あまり晒したくない) 最後の行が割と重要。ただしapt-get updateするとkeyで怒られる(場合がある)ので、

apt-get install debian-archive-keyring

する

PS3 Media Server

PS3 Media Server(以下PMS)に関しては以下参考

ライブラリ

  • まずはライブラリのインストールから。apt-get/yum installで
    ffmpeg mplayer mencoder 
    と、サムネイル機能とかDVD-iso機能に必要そうな気がしたので
    libffmpegthumbnailer3 libdvdnav libdvdcss2 libdvdread4 libdvdplay ogmrip
    あたりを入れる。細かいバージョン、名前が違うことがあるが、apt-cache/yum searchで検索して入れる。 debianの場合、libdvdcssなんかは公式にないが、debian-multimedia.orgのおかげでパッケージでとれる。 自分で作成する場合は以下参考

thumnailerあたりが無い場合、

#wet http://ftp.jp.debian.org/debian/pool/main/f/ffmpegthumbnailerlibffmpegthumbnailer-dev_1.4.0-1_powerpc.deb
#wget http://ftp.jp.debian.org/debian/pool/main/f/ffmpegthumbnailerlibffmpegthumbnailer3_1.4.0-1_powerpc.deb
# dpkg -i libffmpegthumbnailer3_1.4.0-1_powerpc.deb
# dpkg -i libffmpegthumbnailer-dev_1.4.0-1_powerpc.deb

とかして入れてもいいかも(たぶんパッケージでとれる)

java

  • PMSの動作にはjava6が必要だが、玄箱HGはPowerPCアーキテクチャで、リポジトリには用意されていない模様。IBMからとってくる(要アカウント)。32-bit iSeries/pSeriesが玄箱HGで動作する。JREかJDKかは個人の趣味で。 GETしたファイル「ibm-java-jre-6.0-3.0-linux-ppc.tgz」は解凍すれば使えるタイプで、お好みの場所へ置き、パスを通しておく。
    • CentOS(x86)の場合、サン(http://java.sun.com/javase/ja/6/download.html)からGETして、いれる。元から古いバージョンのjavaが入っている場合消しておいた方が良い。こちらはrpm形式で、応答していくと入る(パス設定の必要はある)。 あるいは今は公式からjava6は手に入るかも?
    • シェルでjavaコマンドが使える状態ならOK(java6でないとダメ)
      %java -version
      java version "1.6.0_12"
      Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
      Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode)

PMS

  • いよいよ本体のインスコ。tgzをGETしてきて
    % tar xzvf pms-linux-1.04.tgz
    解凍して、移動して、
    % cd pms-linux-1.04
    % ./PMS.sh
    起動できる。PMS.confを持っていない最初は、Xが上がった状態で起動するのが良い。 玄箱でXを入れていない場合(or上げたくない)、
    thumbnails = true
    mencoder_ass = true
    usecache = false
    folders = \/hoge\/huga
    skiploopfilter = false
    という内容のPMS.confを同じディレクトリに入れておけばよい。細かいパラメータは公式等を参照。PMS起動時にjavaのExceptionが出る場合、何が無くて困っているかエラーを見て、ライブラリをインストールする。
  • FireWall?
    • わりと忘れがちだが、ポート5001を開けておかないと認識できないっす

mediatomb

  • PMSがjavaで動いていたのに対して、mediatombはネイティブなので玄箱にうってつけであろうとこちらも試してみた(玄箱限定で試した)

ソースコンパイル

  • 0.12がリリースされているが、aptにあるのは0.11。0.12はISO機能とかがあるようなので試した(まだ動画を諦め切れていないだけ)
  • locale
    • 文字化けうんぬんのこともあるので、eucからutf-8にした(lenny自体はUTF-8がデフォだが、玄箱用のetchがeucなのを引きずっていた)
      # apt-get install locale
      ウィザードで設定して
      # reboot
      再起。
      # echo $LANG
      で確認。
  • ライブラリとかコンパイル環境
    • MySQLかSQLiteを要求するが、個人的な趣味でSQLite(負荷もかけたくないし)
    • apt-getで以下を(既に入っているもの、余計なもの、不足もあるがそれは適宜)
      wget subversion autoconf cpp build-essential automake
      sqlite3 libsqlite3-dev
      zlib1g-dev libmozjs-dev
      libdvdnav-dev libdvdread-devlibdvdnav4 libdvdread
      libexif-dev id3 libid3-dev libmagic-dev libexpat1-dev
      libcurl3 libcurl3-gnutls-dev libcurl3-openssl-dev
      libavcodec-dev libtag1-dev libavformat-dev libid3tag0-dev
  • mediatomb
    • ソースをGET
      % svn co https://svn.mediatomb.cc/svnroot/mediatomb/trunk/mediatomb mt
      % cd mt
      % autoreconf -i
    • configure/make
    • enable-libdvdnav --enable-id3lib
  • enable-libextractorをつけるとffmpegとぶつかる様子。
    % make
    # make install
  • とはいえ、ISOの中身は見れるが、再生はできず。他の動画ファイルでサムネイル機能は動いた。divxなどトランスコードが不要なものであればそれもいける。それもコンパイルではなくaptで十分。aptの場合、設定ファイルは/etc/mediatomb/にある。

結果

  • PMSは玄箱で動画はカクカク。CentOS(x86)では動画はいくが、DVD-ISOが何故かダメ。windowsではあっさり動くので、linuxでPMSはまだよく分からない。要詰め。 玄箱はmp3専用にすると良いかも
  • というわけで結局、玄箱ではmediatombでmp3配信。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-11-28 (日) 21:47:38 (2404d)