スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

PS3とREGZAとDLNA(mediatomb、PS3 Media Server他)

 2009-05-09
だいぶ間が空いたが前回の続き。
REGZAと同時にPS3を買ってきていたので、DLNAの構築をしてみた。
REGZA_37-7000_090415


PLAYSTATION3 80GB サテンシルバー

SONY
¥38,980-


REGZAでの認識については前回を参照ということで
今回はPS3、もちろん動画に絞ってフォーカスしてみる。

【PS3で再生出来る動画形式】
間違いもあると思うが、主に下記に対応する。
・MPEG-2ファイル
・WMV(VC-1)。VC-1なのでWMP10で作られたものは全てNG
・MPEG-4(h.264)。但し解像度が限定。例えば縦1088ドットはNG。1080ならok。
・divxファイル。DivX5で試した。

というわけで、DLNAサーバに求められるのは
「対応する形式なら出来るだけ無変換で送出、非対応形式はトランスコード」
・・・・なのだが
中々これが色々と問題があったりなかったり。





以下、各サーバについて。


【PS3 Media Server (Windows)】
http://ps3mediaserver.blogspot.com/
トランスコード:OK
サムネイル:OK
ファイル一覧表示速度:中
ぶっちゃけWindowsでサーバやるならこれがいい
非対応形式をかなりマトモに判別してトランスコードしてくれる(偶に失敗)。
導入も簡単。流石は専用品。
但し、1フォルダに100~200ファイル以上おいている場合、
ファイル一覧表示がもたつく。


【PS3 Media Server (Linux)】
http://ps3mediaserver.blogspot.com/
本体はJavaで動いているので、linuxでもほぼ同等の動作をする。
環境さえ構築すれば、
ファイル群は適当なディレクトリに放り込んで
起動スクリプトを実行するだけで動作するし、
gnomeパネルにも出てくる(ubuntu 8.04(LTS)で確認)

但し、当たり前だけど単体で動かないので
Java環境・ffmpeg・mencoder・mplayer・あと何だったかな、
それらは自分で用意しておく事。
といってもubuntuであれば全部Synapticで一気に導入と。

ちなみに欠点もWindowsと同じ。
文字化けについてOS側である程度対処する必要がある。


【Orb Media Server (Windows)】
http://www.orb.com/jp/
トランスコード:無差別実施
サムネイル:OK
ファイル一覧表示速度:低
REGZAで認識される唯一の、そしてiPhoneにも配信可能な超便利サーバ。
設定もかなり簡単な方と思う。
ただし最大公約数的な動作のため、全てMPEG-2に強制トランスコードされる。
当然、かなり画質は劣化する。
またファイル一覧の表示もかなり遅い。
PS3側がやたら高速に表示していく力を持っているので、ストレスを感じる。
REGZAの場合はREGZA自体が遅いので問題外・・・かな・・・


【MediaTomb (Linux)】
http://mediatomb.cc/
トランスコード:自分で設定ファイル記述
サムネイル:非対応(v0.12で対応予定)
ファイル一覧表示速度:超高速
一番ヨロシイ。
・ファイル一覧がやたらに高速。
・ファイルの登録もWEB-UIで行うスマートさ。
・ファイルの登録すらも非常に高速
・追加ファイルの自動再検索で詳細な設定が可能。
・文字コード指定出来る
ファイルシステムの文字コードまで指定出来る。大変グレート。
・動画サムネイルは、現在のv0.11では「基本的には」非対応。

ちなみにubuntuのSynapticに入っているが
必要な周辺ソフトを引っ張ることまではしないので、
それは自分でSynapticから捜すこと。

肝心のトランスコードは、「拡張子で振り分ける」イメージ。
mimeの考え方などを知っている必要はある。
拡張子縛りなので、
「*.mp4は全部h.264で、*.aviは混在してるため強制トランスコード」等々。
自分の*.aviは全てDivXだというなら、
どちらもトランスコードなしで良いだろう。wmvも同様に考える。
自分のライブラリと相談すればよい。



因みに私のconfig.xmlはこう。赤が変更・追加部分。
[config.xml]

(先頭省略)
  <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
(中略)
 <import hidden-files="no">
  <filesystem-charset>CP932</filesystem-charset>
  <scripting script-charset="UTF-8">
   <common-script>/usr/share/mediatomb/js/common.js</common-script>
(中略)
  <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"/>
    <map from="mp4" to="video/mp4"/>
    <!-- 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="video/x-msvideo" as="avi"/>
   </mimetype-contenttype>
  </mappings>
 </import>
 <transcoding enabled="yes">
  <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"/>
   <transcode mimetype="video/divx" using="vlcmpeg"/>
  </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="yes" 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=8192,fps=30,aenc=ffmpeg,acodec=mpga,ab=256,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>


ファイル名がCP932で配置されているので、それに対応。
またaviファイルはいろんなコーデックが混在するので、
一度divxと定義した上で、dvix定義を全てvlcでトランスコードさせている。
(実際に中身がdivxである必要はない)

なおvlcのオプションでビットレート8Mbps出力(vb=8192)にしてあるのは、
それ以上にすると再生しなかった為。
この辺は人によりけりと思う。



以上!ちなみにmediatombは動画が10,000ファイルあっても動く(しかも高速)
やっぱWindowsでサーバとか考えられないな。
スポンサーサイト
タグ :
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:

http://silver0480.blog80.fc2.com/tb.php/274-7899c48e

≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。