TVやPS4で動画を再生できるDLNAサーバServiioの使い方

今までTVにHDMIで接続して動画をPCで再生してみていたのですが、それだとTVの高画質化機能が使いこなせていないと思い、TVに動画を再生させようと試行錯誤しておりました。
その結果、最終的にServiioというソフトに行き着いたのですが、無料で高機能にも関わらず日本語の情報が少なかったので使い方をまとめてみました。

# DLNAとは

簡単に一言で言うと、ネットワークを通じて動画、音楽、画像を別のデバイスで再生するためのルールをまとめたものになります。
これに対応しているデバイス、ソフト間でストリーミング再生を行うことができます。
下記の記事がわかりやすいかと思います。
[5分でよく分かる?DLNAとは？ [ホームシアター] All About](https://allabout.co.jp/gm/gc/51191/)

デバイスがDLNAに対応しているかはメーカーページくらいでしか確認できないということが多いのですが、
価格.comでは[テレビ](http://kakaku.com/kaden/lcd-tv/itemlist.aspx?pdf_Spec024=1)、[レコーダー](http://kakaku.com/kaden/dvd-recorder/itemlist.aspx?pdf_Spec050=1)、[AVアンプ](http://kakaku.com/kaden/av-amp/itemlist.aspx?pdf_Spec036=1)、[コンポ](http://kakaku.com/kaden/mini-system/itemlist.aspx?pdf_Spec014=1)、[NAS](http://kakaku.com/pc/nas/itemlist.aspx?pdf_Spec010=1)についてはDLNAに対応しているデバイスで絞り込むことができます。

## DLNAの相性の問題

DLNAに対応していればストリーミング再生できると上記で書いたものの、デバイスやソフトによって扱えるファイル形式や扱い方が違うのでファイルが再生側で認識されなかったり再生できなかったりと相性の問題があります。
例えば、Windows Media PlayerもDLNAに対応しているのですが、TVで再生しようとすると同じ形式のファイルでもファイルによって再生できたりできなかったりします。

# Serviioとは

[Serviio](http://serviio.org/)はイギリスのPetr Nejedlyさんが作成したDLNAサーバソフトになります。
幅広いデバイスとの相性サポートがされており、多言語対応しており日本語にも対応しております。
Windows、Mac OS X、Linux、ClearOSとQNAP、Synology、AsustorのNASサーバに対応しています。
無料版とPro版がありますが、無料版でもサーバ機能として他にないほど十分な機能がそろっております。

## サポートしている再生デバイス

[Features](http://serviio.org/features)に記載されているサポートしているレンダラーの一覧から日本で使われている主なデバイスを下記に挙げておきます。
幅広く対応しているのでここにないデバイスであっても再生できる可能性は高いと思います。

- ソニー製TV(BRAVIA)、BDレコーダ
- パナソニック製TV(VIERA)
- 東芝製TV(REGZA)
- シャープ製TV(AQUOS)
- LGエレクトロニクス製TV
- PS3、PS4
- Xbox 360、Xbox One
- Android、iOSデバイス

## 使用できるファイル形式

[Features](http://serviio.org/features)の記載より

- 音声
    - MP3 (.mp3)
    - MP2 (.mp2)
    - Windows Media Audio (.wma)
    - WMA Lossless (.wma)
    - AAC (.m4a)
    - OGG (.ogg .oga)
    - FLAC (.flac)
    - Apple Lossless ALAC (.mp4)
    - Wawpack (.wv)
    - Musepack (.mpc)
    - Monkey's Audio (.ape)
    - DSF (.dsf)
    - WAV (.wav)
- 動画
    - MPEG-1 (.mpg .mpeg)
    - MPEG-2 PS (.mpg .mpeg .vob .mod)
    - MPEG-2 TS (.ts .m2ts)
    - MPEG-4 (.mp4 .m4v .mov)
    - AVI (.avi .divx)
    - Windows Media Video (.wmv .asf)
    - Matroska (.mkv)
    - Flash (.flv .f4v)
    - DVR-MS (.dvr .dvr-ms)
    - WTV (.wtv)
    - OGG (.ogv .ogm)
    - 3GP (.3gp .3g2)
    - RealVideo (.rm.rmvb)
- 画像 
    - JPEG (.jpg .jpeg)
    - GIF (.gif)
    - PNG (.png)
    - RAW (.arw .cr2 .crw .dng .raf .raw .rw2 .mrw .nef .nrw .pef .srf .orf)
- プレイリスト 
    - PLS (.pls)
    - M3U (.m3u .m3u8)
    - ASX (.asx .wax .wrx)
    - WPL (.wpl)
- 字幕
    - SubRip (.srt .txt)
    - SSA/ASS (.ssa .ass)
    - MicroDVD (.sub .txt)
    - SAMI (.smi)
    - VTT (.vtt)
    - MOV open text

# ダウンロード＆インストール

バージョン1.9時点での方法になります。
Serviioの動作条件は下記となります。

- メモリ：512MB以上
- HDD：150MB以上（トランスコーディングを行う場合は最低1GB）
- Linuxの場合はJava8がインストールされていること

[ダウンロード](http://serviio.org/download)ページより該当するOSのファイルをダウンロードします。
Windowsの場合はインストーラーなのでウィザードに従ってインストールします。
インストールが完了すると自動的にPC起動時にサーバが起動するようになります。
それ以外のOS、NASでのインストール方法については試していませんが、
Mac OS Xに関しては、pkgファイルなのでそれをインストールします。
Linuxに関してはダウンロードしたファイルを特定のディレクトリに展開しておき、「bin/serviio.sh」を実行するとサーバが起動します。
ただし、Linux版にはWindowsやMacには含まれているエンコーダが入っておらず、起動するためには最低でもFFmpegをインストールしておく必要があるようです。

# 設定

ブラウザで`http://localhost:23423/console`にアクセスします。
Windows、Macの場合は「Serviio Console」のアプリケーションでも同じインターフェースで設定が行えます。

## 日本語化

右上の「ENGLISH」のボタンを押すと言語のリストが出てくるので「日本語」を選択します。
![serviio1.png](https://qiita-image-store.s3.amazonaws.com/0/217808/edd4661e-8b33-ade6-d3de-e485fb6aa114.png)

## ファイル追加

左メニューの「ライブラリ」→「共有フォルダ」を選択します。
「＋追加」ボタンを押すとフォルダを選択できます。
「ライブラリを自動更新する」はフォルダにファイルを追加したタイミングでファイルのメタデータなどの読取処理が行われリストに追加されます。
チェックをはずした場合は「すぐに更新する」ボタンを押すなどの操作を行わないとリストに追加されません。
![serviio2.png](https://qiita-image-store.s3.amazonaws.com/0/217808/c76a9cfd-5ba5-b307-a1ab-a654c8e749e4.png)


フォルダ選択画面ではメディアの種類を選択します。
フォルダに入っているメディアの種類に該当するものにチェックを入れます。
![serviio3.png](https://qiita-image-store.s3.amazonaws.com/0/217808/5ec5c285-0e50-f6e9-6c6a-8c19fcb82efe.png)

## プロファイルの設定

左メニューの「状態」を選択すると、接続されたことのあるデバイスの一覧が表示されます。
再生したい対象のデバイスがこの一覧に表示されていない場合はデバイスでなんらかの設定や操作を行うことで表示されるようになる場合があります。
再生したいデバイスの右側にある編集ボタンを押してプロファイルの編集を行います。
![serviio4.png](https://qiita-image-store.s3.amazonaws.com/0/217808/c0944f9e-9f0f-a5b5-0daa-563efd8a201e.png)

プロファイルの欄はプルダウンになっているので、リストから該当するデバイスを選択します。
上記で紹介したサポートしている再生デバイス以外でもここで選択できるプロファイルがあればサポートしているということになるかと思います。
リストにプロファイルがない場合は「Generic DLNA profile」を選択しておきます。
![serviio5.png](https://qiita-image-store.s3.amazonaws.com/0/217808/3de8f194-2399-118b-cc9d-b136ea2d8255.png)

## トランスコーディング

トランスコーディングとは、デバイスで再生不可能なファイルの場合に変換処理を行って再生できる形式でデバイスにストリーミングする機能です。
左メニューの「配信」→「トランスコーディング」で設定を行います。
上記のプロファイル設定で「Generic DLNA profile」以外を選択している場合のみ有効になるので基本的に設定したままでよいかと思いますが、CPUを使うのでNASなどで変換処理を行いたくない場合にはチェックを外すとよいかと思います。
![serviio6.png](https://qiita-image-store.s3.amazonaws.com/0/217808/bd9806b3-27c6-1631-1b57-cd6c5960280a.png)

## サムネイル

再生側でファイルを表示する際に表示するサムネイルの設定は左メニューの「メタデータ」から行います。
「動画のサムネイルを作成」にチェックを入れると、動画からワンシーンを切り出してサムネイルにします。
チェックが入っていない場合はサムネイルは作成されません。
「ローカルのDVDカバーまたはポスター画像を探す」にチェックを入れるとローカルに画像ファイルがあればそれをサムネイルにします。
メタデータのプルダウンを「オンラインメタデータソース」の状態で「利用可能なDVDカバーまたはポスター画像を取得する」にチェックを入れるとオンラインメタデータソースから該当する画像をサムネイルにします。
この場合、まったく関係のない画像がサムネイルに設定されることもあります。
![serviio7.png](https://qiita-image-store.s3.amazonaws.com/0/217808/2ed85329-2b52-bbc4-b70b-586b1f6ed4a0.png)

音声ファイルの場合は「ローカルよりアルバムアートを探す」をチェックするとローカルに画像ファイルがあればそれをサムネイルにします。
画像ファイルの場合は「画像のサムネイルを作成」をチェックするとサムネイルが作成されます。
![serviio8.png](https://qiita-image-store.s3.amazonaws.com/0/217808/bd1a7acb-e81e-6fbc-dc22-72574669ddaa.png)

## カテゴリ表示設定

左メニューの「表示」では、デバイスでServiioのサーバを選択した際に表示するカテゴリの設定を行うことができます。
動画、音楽、画像のメインカテゴリと、その配下に付属するサブカテゴリの表示を下記の3種類で設定することができます。

- カテゴリ名を表示 - カテゴリ名を表示します。
- コンテンツだけを表示する - 直下のサブコンテンツ、フォルダ、ファイルを表示します。
- 無効 - カテゴリを表示しない
![serviio9.png](https://qiita-image-store.s3.amazonaws.com/0/217808/1fb08bd6-8269-fd64-e989-52a6fda639a5.png)

上記の説明だけではわかりにくいのでフォルダのサブカテゴリからライブラリで設定したフォルダにアクセスする例を挙げて説明します。
動画とフォルダのカテゴリを「カテゴリ名を表示する」に設定した場合「動画」→「フォルダ」→「(指定したフォルダ)」と選択することでファイルまでたどり着けます。
この状態から動画のカテゴリを「コンテンツだけを表示する」に設定すると、「フォルダ」→「(指定したフォルダ)」となり、「動画」という選択がなくなり、動画の配下の「フォルダ」が最初に表示されるようになります。
さらに、フォルダのカテゴリを「コンテンツだけを表示する」に設定すると、「(指定したフォルダ)」が最初に表示されるようになります。
TVだとリモコンでファイルを選択する必要があり結構手間なので、使わないものを「無効」、ショートカットして表示したいものを「コンテンツだけを表示する」にしてすばやくアクセスできるようにしましょう。

# 再生

再生する機能までたどり着く方法はデバイスやソフトによって異なるのですが、大体「メディアプレーヤー」という名称が使われている気がします。
設定に関しても「ホームネットワーク」というワードの箇所にDLNA（とはわからないですが）に関する設定があるかと思います。
私が使っているKJ-32W730C（BRAVIA)の場合はホームボタン→(ここから7通りあるのですが)メディアプレーヤーを起動します。
このあたりからはどのデバイスも共通になるかと思うのですが、対象のメディアサーバーの一覧が表示されます。
その中から「Serviio (コンピュータ名)　」で表示されますので選択すると、カテゴリ表示設定で設定した選択肢が表示されますので、そこからファイルを選択して再生できるはずです。

## 再生デバイスを操作せずに再生

ここからはもう一段階便利に使う使い方になります。
DLNAにはDMC(デジタルメディアコントローラー)という機能があり、この機能を持つソフトを使うとサーバにあるファイルを指定した別のデバイスで再生を指示することができます。
再生するのがTVであれば、リモコンを触ることなくPCやスマホを操作してTVで動画を再生するということができます。
この機能を使うには再生デバイスがDMR(デジタルメディアレンダラー)という機能を持っている必要がありますが、上記方法での再生が可能で10年以上前のデバイスといったことでなければ対応しているはずです。
また、再生するデバイスのレンダラー機能や他のデバイスからの操作を許可するといった感じの設定をONにしておく必要があります。
ただ、個人的におすすめできるDMC機能を持ったPCソフトはなく、今のところ[PowerDVD](https://jp.cyberlink.com/products/powerdvd-ultra/features_ja_JP.html) 16 Ultraをこのためだけに買って使っています。
AndroidやiOSであれば「DLNA DMC」あたりで検索すればDMCに対応したアプリがいくつか見つかるかと思います。
アプリによって操作方法、細かい部分の動作が違うので、試してみてお気に入りのものを使えばよいかと思います。