せっかく持ってる円盤(ブルーレイとかDVDのことね)をお風呂でも見たいわー、という妻からのリクエストがあったので色々方法を考えた結果、円盤再生サーバーを作ってお風呂からそれをiPhoneなりAndroidスマホなりでリモートデスクトップ使って操作すれば良いんじゃね?
という結論に至ってその準備をしてみたのでメモ書きです。
リモートデスクトップする以外に方法は無いんか?
過去にスマホやPCから直接ブルーレイプレーヤーに無線接続して視聴できるシステムをパイオニアが売っていたらしいんだけど、なんか評判がイマイチだったみたいでもう売っていないんだとか。
DVDプレーヤーならアイオーデータから同じような仕組みの製品がまだ売ってるんだけどね(ブルーレイは非対応)。
あとは、防水対応のディスプレイ一体型ブルーレイプレーヤーを買うとか。んだけど良さそうなものは¥30,000近くするし、てかそもそもあんまりモノ増やしたくないし。
ってことでリモートデスクトップを試してみることにしたのであーる。
リモートデスクトップのサーバーとクライアントを準備
Windows 10 Proならばリモートデスクトップのサーバー機能が標準搭載なんだけど、生憎手元のPCはWindows 10 Homeなのだ。このWindowsマシンの他にはmacOSがあるのみ。
macOSもリモートデスクトップのサーバー機能が標準で付いているんだけど、プロトコルにVNC(というものがある)を使っているので、これだと音声を飛ばすことに対応していない。WindowsはRDPというプロトコルでこれなら音声の転送も可能。
と言う事でLinuxディストリビューションの一つ、UbuntuでRDPを無料で使えるxrdpという機能をインストールして試してみることにした。いきなりサーバー機を用意する前に、手元のパソコンにUbuntuを仮想インストールしてこれにリモートデスクトップ出来るか試してみた。
環境としては手元の
Windows 10 Home+VM Wareプレーヤー+Ubuntu 18.04
macOS 10.14 Mojave+Virtual Box+Ubuntu 18.04
という感じ。
リモートデスクトップのためにxrdpをインストール
それぞれの仮想マシンプレーヤーにUbuntuをインストール(手順は省略!)して、まずはxrdpのインストールから。下記のコマンドを叩く。
sudo apt install -y xserver-xorg-core xorgxrdp xrdp
これを実行すると
lock-frontend が取得できない
とかいうエラー。下記を実行。
sudo rm /var/lib/apt/lists/lock
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/dpkg/lock-frontend
再び
sudo apt install -y xserver-xorg-core xorgxrdp xrdp
実行後再起動する。
shutdown -r now
リモートデスクトップクライアントにはiPadを使用、クライアントアプリとしてMicrosoft作の「RD Client」をインストールしておきました。仮想マシン内のUbuntuのIPアドレスを入力してアクセスすると…
おお、ユーザー名とパスワードを聞かれて入力を完了すると一瞬黒い画面が表示された後にUbuntuのデスクトップを表示する事ができたー!
しかしxrdpをインストールしただけでは音声のリダイレクトは出来ないのでした…
音声をリダイレクトする準備
続いて「Pulseaudio」っつーソフトウェアをインストールします。ログイン中のユーザーディレクトリ内にて下記を実行。
wget https://freedesktop.org/software/pulseaudio/releases/pulseaudio-14.0.tar.gz
さらに下記を実行。
mkdir dev
mkdir dev/pulse
mv pulseaudio-14.0.tar.gz dev/pulse
cd dev/pulse
tar xf pulseaudio-14.0.tar.gz
cd pulseaudio-14.0
次にインストール作業。
sudo ./bootstrap.sh
そしたら
- pkg-configがない
- autopointがない
- m4がない
- libtoolがない
- libcap-devがない
- libsndfile-devがない
とかいうエラー。下記を実行。
sudo apt install -y pkg-config autopoint m4 libtool libcap-dev libsndfile-dev
再び
sudo ./bootstrap.sh
Warningでdbus, udev, speexを入れとくの推奨と表示されたので
sudo apt install -y dbus udev speex
を実行。次に
sudo ./configure
sudo make install
これでPulseaudioのインストール完了。次にxrdp sound moduleのインストール作業をする。まずはユーザーディレクトリ/dev/pulseに戻る。
cd ../
次に以下
sudo apt install -y git
sudo git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git
cd pulseaudio-module-xrdp
sudo ./bootstrap
をすると
autoconfがない
というエラー。下記を実行。
sudo apt install -y autoconf
再び下記。
sudo ./bootstrap
続いて
sudo ./configure PULSE_DIR=“/home/yohei/dev/pulse/pulseaudio-14.0”
sudo make
cd ./src/.libs
sudo install -t "/var/lib/xrdp-pulseaudio-installer" -D -m 644 *.so
んで再起動。
shutdown -r now
ここまでするとmacOSのVirtual Boxでは音を出すことができた。が、WindowsのVM Wareでは音が出なかった。以下、追加で実施。
Ubuntuの標準リポジトリからソースコードをダウンロードしてインストール
まずソースコードリポジトリを有効にする。ウブンツにてアプリケーション一覧を表示し、ソフトウェアアップデートを選択。
ソースコードにチェックを入れて日本のサーバーを選ぶ。
これで準備OK!下記コマンドを叩きましょう。
sudo apt install xrdp-pulseaudio-installer -y
sudo xrdp-build-pulse-modules
cd /tmp
sudo apt source pulseaudio
cd /tmp/pulseaudio-11.1
sudo ./configure
cd /usr/src/xrdp-pulseaudio-installer
sudo make PULSE_DIR="/tmp/pulseaudio-11.1"
sudo install -t "/var/lib/xrdp-pulseaudio-installer" -D -m 644 *.so
と、ここまでやるとVM Wareでも音声をリダイレクトさせることが出来た!
サウンドデバイスとしてxrdp sinkってのが出来てます!
ここまでやって音声リダイレクト出来なくても、Pulseaudioのインストールからの手順を何度か繰り返すと謎にxrdp sinkが出来上がっていたりします(よく分からん😫)
DVDをリモートデスクトップで再生してみる
実はブルーレイを再生できるドライブを持ったPCって持ってないんすようち。WindowsマシンのノートPCにはDVDドライブが装備されているので、これ使ってDVD映像をリモートデスクトップで鑑賞してみようと思います。
まずはDVD再生ソフトとしてVLCをインストール。
sudo apt install vlc
sudo apt install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg
インストール完了。アプリケーション一覧にVLCが追加されました。
ちなみに、ローカルネットワークでサーバー&クライアントはそれぞれ5GHzの無線LANで接続されています。
iPadのRD Clientで見てみた。
映像カクカク
音声ブツブツ
ダメだこりゃ😅
しかしポッドキャストやYoutubeの音声(あまり動きの無い動画)はくっきりと再生されたし、ホストOSのWindowsからリモートデスクトップでアクセスして見てみるとDVDもまぁまぁスムーズに再生できました。無線LANルーターがボトルネックになってるのかしら?🤔もうちょっと調べてみようと思います。
上手く再生できない原因は何だろう?
無線ネットワークの問題なんかなー?ってことで少し調べてみることに。はてどうやって調べるか…
無線LANルーターの速度は?
とりあえず無線LANルーター経由でローカルネットワーク外とはどれぐらいの速度で通信出来ているのか調べてみることに。通信速度計測アプリでお馴染みの「Speedtest」がコマンドラインからも利用出来るとのことでインストールしてみた。
sudo apt install python-pip
pip install speedtest-cli
これでインストール完了。speedtest-cliコマンドを使うのに下記を実行。
source ~/.bashrc
もしくはシステム再起動でもOK。
で、
speedtest-cli
したところ
アップロードで71.83MB/s出ている事が分かります。これ結構速いっすね。
で次にローカルネットワーク内での速度を測ります。Ubuntu内に3GB程度のファイルを置いてこれをFTPで送信する速度を取得します。まずはUbuntuにVsftpdをインストール。
sudo apt install vsftpd
送信速度はdstatコマンドで計測できます。まずはこれをインストール。
sudo apt install dstat
普通にdstatだけだと色々項目が表示されるので
dstat -n
でネットワークの送受信速度だけを表示します。FTPで送信した結果はこんな感じ。
ひじょーに分かりづらいが左側にずらずらと表示されているものがそれ。
左列が受信速度。右列が送信速度。さらに赤文字が単位B/s、白文字がKB/s、緑文字がMB/sだ。計測結果は下から上へと古いものになる(一番下が新しい。これは一秒おきに計測したもの)。
おおよそ安定して16MB/s出ているみたい。何でローカル通信の方が遅くなるんだ、ってのはさておき、リモートアクセスでYoutubeを見た時の速度を見てみましょう。
この動画は映像がカクカク音声がブツブツのもので、当初は「ルーターがボトルネックになってんのかな?」と思ってたんだけど、dstatの結果を見ると送信が大体3MB/sとなっていてローカル通信で16MB/sは出せるはずだからルーターが原因じゃないのか…
結局原因は?
とか思ったら、画像左下。Ubuntuのシステムモニター(わざわざdstatで確認しなくてもよかったのか!)を見てみるとCPU使用率が100%!メモリも余裕なし…
ってことで原因は単純にマシンパワーっぽいってことが分かりました😓
ちなみにWebブラウザをスクロールして動画部分を隠すとCPU使用率はガクッと下がって音声がスムーズに再生されました。やっぱ動画ってキツいんやな…てか仮想マシン上で動かしているUbuntuなので余計にリソース消費が激しいのかもしれません。
やはりここはUbuntu専用機を準備してさらに試してみようと思います😤
続く!
追記:Ubuntu専用パソコンを用意した
昔使ってたWindowsデスクトップパソコンを引っ張り出してきてこれにUbuntuをクリーンインストールしてみた(レッツノートあるからデスクトップPCはいらない😗)
このPCのスペックはこう。
- CPU:AMD A8-3870K
- メモリ:8GB
- ストレージ:1TB HDD
当時(6〜7年まえ?)としては中々良いスペックのものでした。これにVLCをインストールしてDVDを入れ、リモートで見てみた。
仮想マシンの時よりはマシになったけど若干動画がカクつくのと音声がズレる。システムモニターでリソースを監視してみると、うーん、CPUがキッツイなぁ💦
そう言えばグラボも持ってたんだった。それ使ったらどうなるか近いうちに試してみます。
続く!
追記:グラボを追加してみた
こちらも結構前に買ったRadeon R7 260X搭載、Gigabyteのグラボです。こいつを棚奥から引っ張り出してきてUbuntuマシンに装着し、リモートデスクトップでの動画再生がどうなるか実験です!
マザボのPCI Express x16スロットに装着し6ピン電源コネクタを挿入。これを使うにはさらにUbuntu 18.04用のドライバをインストールしなければなりません。
ドライバのインストール
AMD公式に置いてあるのでまずはそれをダウンロード。
ダウンロード後は解凍。
tar -Jxvf ダウンロードしたファイル.tar.xz
解凍後、展開先ディレクトリに移動。下記コマンドでインストール開始。
./amdgpu-install
インストール後再起動してみると
「あれ、リモートデスクトップ出来なくなってる!」
なんでやねん!
リモートデスクトップ出来なくなった…
どうやらドライバのインストールでxorgxrdpとxserve-xorg-coreが勝手に削除されたようでした。というわけでSSHでアクセスしてこれらを再インストール。
無事にリモートアクセスが復活しました。
グラボを追加した結果
ドライバをインストールしたところでこれが本当に有効なのか?ってことで、ベンチマークソフトをインストールして確認しようと思った。
が、イマイチ使い方が分からなかったからやめたw
とりあえずYoutubeを再生してCPU利用率をモニタリングしてみよう。
お、動画再生中もCPU使用率がそんなに上がってないぞ(同じ動画でグラボ導入前は100%だった)。ということはグラボのドライバがちゃんと動いているってことかな!いや〜よかったよかった(^_^)
と、思ったら、前よりはマシだけどやっぱり映像カクカク音声ブツブツという感じ。ネットワークはUPが5MB/s。帯域的にはまだまだ余裕があるはずなんだけど…
もしかするとRDPの仕様で1クライアントあたりの利用可能帯域幅に上限を設けているのかもしれんなぁ🤔(未確認)
いちおうDVDの再生も確認しておこう。ディスクを入れてVLC起動。ディスクの読み込みっと…
なぜかVLCが落ちる
はぁ、もうだめだ😩色々と訳が分からなすぎる😩という訳で
iPadでDVD・Blu-rayを見るのは諦めました!w
内容確認するだけならカクついてても問題無いんだけどさぁ…
本体はせっかくなのでSambaをインストールしてファイルサーバーとして活用することにしました😬
参考サイト
xrdp関係
https://qiita.com/MHANAYAMA/items/ea8e6e4295ce5ead17aa
コメントを残す