2013年09月29日

BeagleBone Black fedoraにDLNA(PMS)をインストール

以下はfedora19を導入したBeagleBone Black(BBB)での手順。
fedora19の導入についてはこちらを参照。

BeagleBone Blackのfedora19でDLNAサーバであるPMS(PS3 Media Server)を動かすのはいろいろと面倒だったのでそのメモ。

arm用のパッケージがないものはソースからコンパイルするので、gcc,g++はインストールしておく。gcc,g++のインストールはこちら

PMS(PS3 Media Server)を動作させるにあたり、インストールしなければならないもの。

■用意するもの
・JAVA jre (必須)
・PS3 Media Server (PMS本体)
・mediainfo.so (多分必須)
・ffmpeg (任意と思われる)
・mplayer (任意と思われる)

以下それぞれのインストールの備忘録。

■JAVA jreのインストール
yumでインストールできる。
# yum -y install jre
java 1.7.0_25がインストールされた。

■PS3 Media Server (PMS本体)のインストール
http://sourceforge.net/projects/ps3mediaserver/files/
上記より、現在最新のpms-1.90.1-generic-linux-unix.tar.gzをダウンロード。
# wget http://sourceforge.net/projects/ps3mediaserver/files/pms-1.90.1-generic-linux-unix.tar.gz

解凍
# gtar zxvf pms-1.90.1-generic-linux-unix.tar.gz
フォルダ pms-1.90.1 ができる。

PMSはどこに移動させてもよいので、定番の以下へ移動させた。
# mv pms-1.90.1 /opt/

動作確認
何も設定しなくともデフォルト設定で動作するので、そのまま起動してみる。
ちなみにデスクトップからでなくてもよくて、teraterm等のターミナル上からコマンド実行。
# /opt/pms-1.90.1/PMS.sh
何やらたくさん表示される。Error という文字が見えた気もするが気にしないw

この状態でDLNAプレイヤーから参照できるかを試す。
デフォルトでは「/」が公開フォルダとなり、DLNAプレイヤーから見える。
Android上のTwonky beamからPMSが見え、mp4を再生することもできた。

PS3からは「データが壊れています」とのエラーで再生不可。サムネイルも表示されない。
ちなみにこのmp4は、Windows上のPMS経由でPS3で見る場合は問題なく再生できているファイル。

とりあえず起動できることはわかったので、設定ファイルを調整する。

設定ファイルは、/opt/pms-1.90.1/PMS.conf だが、置き場所はこのフォルダではないので注意。
~/.config/PMS/PMS.conf が正しい置き場所。

PMS.confを正しい置き場所へコピー
# cp /opt/pms-1.90.1/PMS.conf ~/.config/PMS/PMS.conf
(うちではrootで起動しているので /root/.config/PMS/PMS.conf となる)

PMS.conf 変更点
name = BBB
language = ja
folders = /media ← 公開フォルダ
disable_transcode_for_extensions = mp4,ts ← パススルーする拡張子

この状態で起動してもまだPS3で再生できなかった。
パススルーであれば他のツールは不要な気もするが、トレースログではmediainfo.so やMPlayerでエラーになっているので、よくわからんけど他のアプリもインストールすることにした。

■mediainfo.soのインストール
arm用のパッケージは見つからないので、ソースからコンパイルする。
ソースのダウンロード
http://mediaarea.net/ja/MediaInfo/Download/Source
上記より All in one package のSO をダウンロード。
# wget http://mediaarea.net/download/binary/libmediainfo0/0.7.64/MediaInfo_DLL_0.7.64_GNU_FromSource.tar.bz2

# tar jxvf MediaInfo_DLL_0.7.64_GNU_FromSource.tar.bz2

# cd MediaInfo_DLL_GNU_FromSource/

コンパイル
# ./SO_Compile.sh

インストール
# cd MediaInfoLib/Project/GNU/Library/
# make install

以下のようにlibフォルダにlibmediainfo.soがあればOK
# ls /lib/*mediainfo*
/lib/libmediainfo.la /lib/libmediainfo.so /lib/libmediainfo.so.0 /lib/libmediainfo.so.0.0.0


■ffmpegのインストール
こちらもソースからコンパイルする。
ソースのダウンロード
http://www.ffmpeg.org/download.html
上記より、ページ下のほうの、Download bzip2 tarball をダウンロード。
# wget http://ffmpeg.org/releases/ffmpeg-2.0.1.tar.bz2

bz2の解凍
# tar jxvf ffmpeg-2.0.1.tar.bz2

コンパイル 〜 インストール
# cd ffmpeg-2.0.1/
# ./configure
# make
# make install

動作確認
# ffmpeg
ffmpeg version 2.0.1 Copyright (c) 2000-2013 the FFmpeg developers
built on Sep 20 2013 09:22:28 with gcc 4.8.1 (GCC) 20130603 (Red Hat 4.8.1-1)
configuration:
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'


■mplayerのインストール
こちらもソースからコンパイルする。
ソースのダウンロード
# wget http://dl.atrpms.net/all/mplayer-1.1.1-92.src.rpm

rpmの解凍
# rpm2cpio mplayer-1.1.1-92.src.rpm | cpio -id

コンパイル 〜 インストール
# cd MPlayer-1.1.1/
# ./configure
# make install

動作確認
# mplayer
MPlayer 1.1-4.8.1 (C) 2000-2012 MPlayer Team
Usage: mplayer [options] [url|path/]filename

Basic options: (complete list in the man page)
-vo select video output driver ('-vo help' for a list)
-ao select audio output driver ('-ao help' for a list)
vcd:// play (S)VCD (Super Video CD) track (raw device, no mount)
dvd:// play DVD title from device instead of plain file
-alang/-slang select DVD audio/subtitle language (by 2-char country code)
-ss seek to given (seconds or hh:mm:ss) position
-nosound do not play sound
-fs fullscreen playback (or -vm, -zoom, details in the man page)
-x -y set display resolution (for use with -vm or -zoom)
-sub specify subtitle file to use (also see -subfps, -subdelay)
-playlist specify playlist file
-vid x -aid y select video (x) and audio (y) stream to play
-fps x -srate y change video (x fps) and audio (y Hz) rate
-pp enable postprocessing filter (details in the man page)
-framedrop enable frame dropping (for slow machines)

Basic keys: (complete list in the man page, also check input.conf)
<- or -> seek backward/forward 10 seconds
down or up seek backward/forward 1 minute
pgdown or pgup seek backward/forward 10 minutes
< or > step backward/forward in playlist
p or SPACE pause movie (press any key to continue)
q or ESC stop playing and quit program
+ or - adjust audio delay by +/- 0.1 second
o cycle OSD mode: none / seekbar / seekbar + timer
* or / increase or decrease PCM volume
x or z adjust subtitle delay by +/- 0.1 second
r or t adjust subtitle position up/down, also see -vf expand

* * * SEE THE MAN PAGE FOR DETAILS, FURTHER (ADVANCED) OPTIONS AND KEYS * * *

以上でインストール完了。

■PMS動作確認
上記の通り、mediainfo、ffmpeg、MplayerがインストールできたところでPMSの動作確認。

PMS起動
# /opt/pms-1.90.1/PMS.sh
表示されるトレースログを見て、エラーがないことを確認。

ここまでしてやっとPS3で再生できた。サムネイルも表示された。

■評価
使えるようにはなったものの、いろいろ問題が多くてBBB上のPMSは使い物にならない、というのが現状の評価。
ちょっと残念。

検証したコンテンツは以下の2種類。
1440x1080 mpeg2 ts
1440x1080 H264 mp4 (tsをエンコードしたもの)

トランスコードさせずにパススルーのみの利用。
再生するだけであればコマ落ちなく視聴は可能。
ただし、早送りとかのトリックプレーを行うと、プロトコルエラーが発生し、リセットが必要。

ちなみに同コンテンツをWindows上(i7-4770)のPMS経由だと何の問題もなく超快適。
根本的にBBBのリソース不足ということだろう。予想通りだけど。


posted by frogie at 17:55 | Comment(0) | TrackBack(0) | BeagleBone Black | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
   
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。