目次

FreeBSDのPortsからServiioをクイックセットアップ

2017/05/07
とりあえず作成。FreeBSD 11.0 での話。

概要

Portsにあるソフトウエアで、色々情報の見つかるのが net/mediatomb と net/minidlna なんだけど、 前者はもう開発が終わっていて更新が入らない。 後者はトランスコード機能が無いので、必要な場合は自分でソース書き直すなりなんなりが必要。

Media Tomb の後継には Gerbera( http://gerbera.io ) が該当するようだけどまだPortsにはない。

Media Tombからの移行を考えていて、たまたまServiio( http://serviio.org )を知って使ってみたのだけど、これが良く出来ていた。 Media Tomb導入を考えている場合、Serviioを試してそれから検討してもよいかなと思う。

インストール

事前にopenJDKとffmpegの導入を実施。

 cd /usr/ports/java/openjdk8; make; make install
 cd /usr/ports/multimedia/ffmpeg ; make ; make install

ffmpeg導入に際しては、自分の手持ちのメディアソースと再生機器を念頭においてコンパイルオプションを決める事。 H264やH265、MP3やAAC、場合によってはXvidなんかのサポートを有効にする必要があるかもしれない。古めのFLVフォーマットをメディアソースにするならH264関係は必須になる。 あと、iconvのオプションを有効にしておくと日本語ファイル名やプロパティに日本語が含まれていた時の問題を回避できるかもしれない。

serviio導入は以下で。

 cd /usr/ports/net/serviio; make; make install

設定

/etc/rc.conf

以下を追記。

serviio_enable="YES"
serviio_lang="ja_JP.eucJP"
serviio_args="-Djava.util.prefs.userRoot=/home/dlna"

1行目はおなじみのもの。
2行目はファイル名にUTF-8以外を使っている場合に指定する。この例では EUC-JP になっている。LinuxのようにUTF-8がデフォルトのシステムならいらない。
2行目はServiioが使う作業用の情報(メタデータなど)管理に使うフォルダの指定。このフォルダはオーナーが dlna:dlna で書き込み権限がないと駄目。グループ dlna、ユーザ dlna は serviio 導入時に作成されている。

/usr/local/etc/serviio/

基本的にいじる必要なし。デバグ目的で log4j.xml を修正した程度。

*** log4j.xml   2017-01-17 09:19:06.752134000 +0900
--- log4j.xml.bak       2017-01-16 22:35:13.750843000 +0900
***************
*** 22,29 ****
        </appender>
 
     <category name="org.serviio">
!       <!-- <priority value="INFO"/> -->
!       <priority value="DEBUG"/>
     </category>
 
     <category name="com.sun.syndication">
--- 22,28 ----
        </appender>
 
     <category name="org.serviio">
!       <priority value="INFO"/>
     </category>
 
     <category name="com.sun.syndication">
***************
*** 39,46 ****
     </category>
 
     <category name="LogService"> <!-- Restlet access log -->
!       <!-- <priority value="OFF"/> -->
!       <priority value="INFO"/>
     </category>
 
     <category name="org.apache.jcs">
--- 38,44 ----
     </category>
 
     <category name="LogService"> <!-- Restlet access log -->
!       <priority value="OFF"/>
     </category>
 
     <category name="org.apache.jcs">

起動

 service serviio start

なお、service serviio stop は効かない模様。kill コマンドで止める。

起動後の設定

http://host:23423/console へアクセスすると、Serviioのコンソール画面が開く。

日本語になっていない場合は、画面右上の丸いアイコンから言語切り替えで日本語に変更すればOK。

この画面はすでにライセンス購入済みのもので、ライセンス未購入の場合「~(~)にライセンスされた」の部分が「評価ライセンスは14日間有効」になっていると思う。
この評価ライセンスとは、Pro Editionの評価ライセンスで、Free Editon との違いは http://serviio.org/buy-pro/10-uncategorised/60-free-vs-pro で確認できる。

Pro Editionライセンスは 25ドルで http://serviio.org/buy-pro から購入可能。このドキュメント作成時は大体2800円くらい。ライセンス適用方法もこのページに記載がある。 入手したライセンスファイルを適用すると、購入時の氏名とメールアドレスが表示されるようになる。

Serviioで公開するメディアソースは以下のライブラリ設定で行う。

メディアブラウザ

Pro Editionでの特筆内容はメディアブラウザだと思う。 DLNAクライアントが無くても、ブラウザがあればコンテンツにアクセス可能になる。

事前にServiioのコンソール画面でリモートアクセスのパスワードを定義する。

この後、http://host:23424/mediabrowser へアクセスすると、Serviioのコンソール画面が開く。

ルータのポート開放で23424をインターネットから触れるようにすると、外出先からのアクセスも可能になる。けどおすすめはしない。

あとは悩む必要もないナビゲーションでコンテンツまでたどり着けると思う。

アナログ放送の頃の録画ファイル(*.mpg)を無編集で放り込んだだけだが、スマフォからも参照できた。
※PCで使用するとFLASHが使われるようだけど、スマフォだとFLASH無しのプレイヤーが使われるみたい。

FLVファイルもそのまま放り込んで使えるので、なかなか便利。

アプリ

Pro Editionであれば、スマフォ(Android)のアプリServiiGoが利用できる。