miniDLNA and universal media server
Universal media serverも5年ほど使っています。
トランスコードが華のUniversalmediaserverは、JAVAなので、WindowsでもLinuxでも同じ環境が簡単にできてしまいます。MAC OS-Xでも使えます。
2016-05-27時点、2.3.0を使っています。とても調子がいいため、次のバージョンはスルーするかもしれません。
universalmediaserver を設定します
ささっとデフォルト設定と違うところ、キャプチャ。詳細設定 Configuration file for UMS はここをみています。基本的にGUIで設定して不満があれば(手動で編集が必要になれば)使ってみるというスタンスでいいかと思います。CPUもGPUもネットワークもストレージもぜんぶ高速っていうサーバーマシン、環境の場合は、デフォルトの範囲での設定で良いと思います。
映像設定タブ
デフォルトでまず使ってみるべきですが、メモリーに余裕があれば、- 最大バッファ、200MB-->400MB、きっと余っていると思うので好きなだけどうぞ。推奨は200MB。不具合がでれば200に戻します。
- すべての字幕を無効にする。外国語学習向けか。自分には不要。
- GPUアクセラレーションを有効にする。Windowsの場合はドライバの出来がいいのでメリット大(DXVA2)。ubuntuの場合は有効になるけれども効果がなかったりします。当方のVDPAU(設定は済ませています。生のffmpegでも時間差がないため。無効)。その後有効にしてみました。GPUを変えて不具合がでたので今日は無効になっています。
デフォルトは判別してトランスコードです。いろいろテストしてみましょう。
変換しない拡張子ファイル:あくまで例
m4v
強制変換するファイル:あくまで例
(1)空白か、(2)ありったけ記述してテスト:例 デフォルトでOK。空白で運用してから見直ししてください。
mkv,mp4,mov,wmv,avi,m2ts,ts,m2t
コンテナ
古いビデオカメラ映像とか解像度は低い(HVGA)くせにトランスコードかけないと再生できない場合などがあります。ですから貴殿の手持ちの映像コンテナ、コーデックに合わせてください。個人的には海外旅行で撮影した日本製カメラのソース再生で四苦八苦しました。 mediainfoでコンテナ、コーデックが確認できます。Windows10共通コマンド。
sudo apt install mediainfo mediainfo-gui
Windows10の場合、k-lite codec pack standardを公式サイトのミラーからダウンロードしていれましょう。
k-lite codec packにコーデックやツール、MPHCなどが含まれます。スタンダード版で十分です。
コーデック
コーデックが曲者ですが、結局のところ、libx265などを使ってテストしてみた範囲でいえば、比較として、H.264が圧倒的に汎用性が高いので、無理にHEVCは使うべきではないでしょう。また、ビット深度もノーマルでないとうまくないです(12bitとかだめ。だめじゃないけどだめ。chromecastは対応していませんし。つまり、8bitが無難です。)。
mpeg2にするメリットはありませんね。※アンドロイド。
「H.264で、MP4/M4V/MKV」が理想的。ビット深度はノーマル。が結論。枯れていますからね。当たり前にサポートされていますから。
音声設定タブ
- クライアント側がステレオなら2chと決め打ちしておく。
- AC3音声を保持しない。理由⇒再生クライアント側アプリまたはレンダラーが対応していない場合があるため。対応しない場合無声になります。オーサリングなどをしていた残骸?!などで、AC3になっている素材を再生する場合などに困るかもしれません。保持しないにしておくといいかも。
中間総括:安全確実低負荷、H264/AVCをビット深度8bitでMP4/M4V/MKVで格納しておく
m4vは、自分の場合、機器からひっぱったファイルをローカルPCでコンバートしたファイルにつけるマイルールにしています。ですから、アップル信仰とは関係ないのです。H.264/AVCでM4Vコンテナ。ffmpeg、handbrake-cli をコマンドラインで使った変換ファイルです。
実質mp4とニアリーイコールなので。ファイル検索した時に、みつかりやすい拡張子にしたわけです。これはこれで便利な使い方だと思います。自画自賛(たいしたことではないです。拡張子を探してみたってだけの話)。
複数インスタンス起動で諸問題を解決する
UMSをWインスタンス起動という手もあります。片方は、トランスコード/変換する。片方は変換しない設定という考え方です。
余談ですが、以前、minidlnaのトランスコード対応は当方でパッチをあててコンパイルしたもののまともな動作品質ではなかったので利用中止しました。
まとめます。こだわる人には、
minidlna 1つ起動。もちろんトランスコードなし。
UMS 1つ起動。トランスコードあり
UMS トランスコードなし
でわけるのもあり。 あるいは、TRANSCODEフォルダ(使い方、後日詳細予定)を活用してみる。後者でUMSのインスタンスはひとつで済みます。そのほうが合理的ですね。
ぐらいがいいのではないかと。 慣れたら、TRANSCODEフォルダを覗いて再生してみてください。仕組みが理解できると思います。なるほど、と。この記事の説明は読む必要はないでしょう。
とにかくメモリーはさほど食わないし負荷もほとんどないので、Dual DLNA/UPnPエンジンでどうぞ。小さめのマシン、ラズパイではこういうメモリー長者のような使い方には向いていないかもしれませんね。
余談というか、使いこなすための核心的な話
未稿:メモのメモubuntu上で、BDMVはややこしいので、さくっとBDAVをオーサリングするテストファイル、m2ts形式にしたかなり動きの激しい車載動画(4分位、1GB)という巨大ファイルがネットワークが足を引っ張っていない環境では、余裕でトランスコードなしで再生できました。
環境依存というか、いろいろあります。以下、人=CASE、場合と読み替える。
- 変換速度が速いCPUと環境を持っている人
- ネットワークが速い人
- クライアントが速い人
- クライアントのアプリが速い人。クライントのデコード対応が充実している
- chromecastを使う人、使わない人
- chromecastをアプリ内部から呼び出す人、android全体をキャストする人
当方、PS4とSONY2015年夏以降モデルのTVとか機材としてもっていないので、いろいろテストしてみたいのですが、ちょっとアレです。現代の高級AVアンプも持っていないので。
ここで中座。そのうち記述。
結論からいうと、GPU支援の確実性からいえば、Windows10がよい選択な気がするけれど(そうでもない)、i7あたりのCPUの人なら、リアルタイムトランスコードも速いでしょう。
10分をffmpegで変換するのに11分かかるシステムと3分で済むシステムはどちらがいいでしょうか。速いマシンのほうがリアルタイムトランスコード向きなのはわかってもらえると思います。電気代はかかるかもしれません。
高速な環境の人はあまり悩む必要はない。中間総括。
トランスコードの必要がなければかなり遅いCPUでもネットワークさえ速ければ十分DLNAサーバーとして活躍できます。つまり、ファイルのコーデックとコンテナを理想的なものに揃えておきましょうということです。速さは正義なんですね。
(このセンテンス勘違い。恥ずかしいが記録のため残す)
ダウンロード、公式サイト
http://www.universalmediaserver.com/